improve error handling on upload failures
This commit is contained in:
@@ -153,7 +153,6 @@ import {
|
|||||||
import { closeDialog } from "../SMDialog";
|
import { closeDialog } from "../SMDialog";
|
||||||
import { api } from "../../helpers/api";
|
import { api } from "../../helpers/api";
|
||||||
import { Media, MediaCollection, MediaResponse } from "../../helpers/api.types";
|
import { Media, MediaCollection, MediaResponse } from "../../helpers/api.types";
|
||||||
import { bytesReadable } from "../../helpers/types";
|
|
||||||
import { useApplicationStore } from "../../store/ApplicationStore";
|
import { useApplicationStore } from "../../store/ApplicationStore";
|
||||||
import SMButton from "../SMButton.vue";
|
import SMButton from "../SMButton.vue";
|
||||||
import SMFormCard from "../SMFormCard.vue";
|
import SMFormCard from "../SMFormCard.vue";
|
||||||
@@ -342,50 +341,54 @@ const handleClickInsert = async () => {
|
|||||||
let timeout = 0;
|
let timeout = 0;
|
||||||
while (mediaProcessed == false) {
|
while (mediaProcessed == false) {
|
||||||
timeout++;
|
timeout++;
|
||||||
if (timeout >= 240) {
|
if (timeout >= 60) {
|
||||||
mediaProcessed = true;
|
mediaProcessed = true;
|
||||||
uploadForm._message =
|
uploadForm._message =
|
||||||
"Timed out processing the file. Please try again later.";
|
"The server is taking longer then expected to process the file.\nOnce the file has been processed, select it from the media browser.";
|
||||||
}
|
} else {
|
||||||
|
await new Promise((resolve) =>
|
||||||
|
setTimeout(resolve, 500)
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
let updateResult = await api.get({
|
||||||
|
url: "/media/{id}",
|
||||||
|
params: {
|
||||||
|
id: data.medium.id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
if (updateResult.data) {
|
||||||
|
const updateData =
|
||||||
|
updateResult.data as MediaResponse;
|
||||||
|
|
||||||
await new Promise((resolve) =>
|
if (
|
||||||
setTimeout(resolve, 500)
|
updateData.medium.status == ""
|
||||||
);
|
) {
|
||||||
try {
|
data.medium = updateData.medium;
|
||||||
let updateResult = await api.get({
|
mediaProcessed = true;
|
||||||
url: "/media/{id}",
|
} else if (
|
||||||
params: {
|
updateData.medium.status.startsWith(
|
||||||
id: data.medium.id,
|
"Failed"
|
||||||
},
|
) == true
|
||||||
});
|
) {
|
||||||
if (updateResult.data) {
|
throw "error";
|
||||||
const updateData =
|
} else {
|
||||||
updateResult.data as MediaResponse;
|
progressText.value = `${updateData.medium.status}...`;
|
||||||
|
}
|
||||||
if (updateData.medium.status == "") {
|
|
||||||
data.medium = updateData.medium;
|
|
||||||
mediaProcessed = true;
|
|
||||||
} else if (
|
|
||||||
updateData.medium.status.startsWith(
|
|
||||||
"Failed"
|
|
||||||
) == true
|
|
||||||
) {
|
|
||||||
throw "error";
|
|
||||||
} else {
|
} else {
|
||||||
progressText.value = `${updateData.medium.status}...`;
|
throw "error";
|
||||||
}
|
}
|
||||||
} else {
|
} catch {
|
||||||
throw "error";
|
mediaProcessed = true;
|
||||||
|
uploadForm._message =
|
||||||
|
"An server error occurred processing the file.";
|
||||||
}
|
}
|
||||||
} catch {
|
|
||||||
mediaProcessed = true;
|
|
||||||
uploadForm._message =
|
|
||||||
"An server error occurred processing the file.";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.medium.status.length == 0) {
|
if (data.medium.status.length == 0) {
|
||||||
closeDialog(data.medium);
|
closeDialog(data.medium);
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user