diff --git a/pages/admin/loading.ts b/pages/admin/loading.ts index e1a1ca5..f9ebd46 100644 --- a/pages/admin/loading.ts +++ b/pages/admin/loading.ts @@ -24,7 +24,7 @@ export function upload(type: keyof typeof urls): Promise { return new Promise((resolve) => { createFilePicker(extension).then((file) => { StreamingUploadHandler(url, { - failure: () => alert("Your Upload has failed. Please try a different file or try again later"), + failure: (message) => alert("Your Upload has failed. Please try a different file or try again later. " + message), uploadDone: () => console.log("Upload done"), credentials: () => API.getToken(), backendResponse: (id) => resolve(id), diff --git a/pages/shared/upload.ts b/pages/shared/upload.ts index 62a2b18..0e40297 100644 --- a/pages/shared/upload.ts +++ b/pages/shared/upload.ts @@ -6,7 +6,7 @@ export type StreamingUploadEvents = { onUploadTick: (percentage: number) => Promise; uploadDone: () => void; backendResponse: (id: string) => void; - failure: () => void; + failure: (message: string) => void; }; export function ProgressTracker(percentage: Reference, expectedSize: number) { @@ -38,9 +38,9 @@ export function StreamingUploadHandler(path: string, events: StreamingUploadEven const reader = stream.getReader(); ws.onmessage = async ({ data }) => { - if (data == "failed") { + if (data.startsWith("failed")) { console.log("Looks like we failed."); - events.failure(); + events.failure(data); } else if (data == "file") { ws.send(`file ${JSON.stringify({ filename: file.name, type: file.type })}`); } else if (data == "next") {