fix: abort upload behavior to properly handle server-side deletion and frontend state reset (#3114)
* Fixed an issue where aborting an upload would not delete the partial upload from the server. Also fixed an issue where the abortAll function wasn't resetting and reloading the frontend properly * Add server-side tus delete handler --------- Co-authored-by: Oleg Lobanov <oleg@lobanov.me>
This commit is contained in:
parent
61f25086c3
commit
434e49bf59
|
@ -74,7 +74,6 @@ export default {
|
||||||
"getETA",
|
"getETA",
|
||||||
]),
|
]),
|
||||||
...mapWritableState(useFileStore, ["reload"]),
|
...mapWritableState(useFileStore, ["reload"]),
|
||||||
...mapActions(useUploadStore, ["reset"]),
|
|
||||||
formattedETA() {
|
formattedETA() {
|
||||||
if (!this.getETA || this.getETA === Infinity) {
|
if (!this.getETA || this.getETA === Infinity) {
|
||||||
return "--:--:--";
|
return "--:--:--";
|
||||||
|
@ -92,6 +91,7 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapActions(useUploadStore, ["reset"]), // Mapping reset action from upload store
|
||||||
toggle: function () {
|
toggle: function () {
|
||||||
this.open = !this.open;
|
this.open = !this.open;
|
||||||
},
|
},
|
||||||
|
@ -100,8 +100,8 @@ export default {
|
||||||
abortAllUploads();
|
abortAllUploads();
|
||||||
buttons.done("upload");
|
buttons.done("upload");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset(); // Resetting the upload store state
|
||||||
this.reload = true;
|
this.reload = true; // Trigger reload in the file store
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -69,6 +69,7 @@ func NewHandler(
|
||||||
api.PathPrefix("/tus").Handler(monkey(tusPostHandler(), "/api/tus")).Methods("POST")
|
api.PathPrefix("/tus").Handler(monkey(tusPostHandler(), "/api/tus")).Methods("POST")
|
||||||
api.PathPrefix("/tus").Handler(monkey(tusHeadHandler(), "/api/tus")).Methods("HEAD", "GET")
|
api.PathPrefix("/tus").Handler(monkey(tusHeadHandler(), "/api/tus")).Methods("HEAD", "GET")
|
||||||
api.PathPrefix("/tus").Handler(monkey(tusPatchHandler(), "/api/tus")).Methods("PATCH")
|
api.PathPrefix("/tus").Handler(monkey(tusPatchHandler(), "/api/tus")).Methods("PATCH")
|
||||||
|
api.PathPrefix("/tus").Handler(monkey(resourceDeleteHandler(fileCache), "/api/tus")).Methods("DELETE")
|
||||||
|
|
||||||
api.PathPrefix("/usage").Handler(monkey(diskUsage, "/api/usage")).Methods("GET")
|
api.PathPrefix("/usage").Handler(monkey(diskUsage, "/api/usage")).Methods("GET")
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ func resourceDeleteHandler(fileCache FileCache) handleFunc {
|
||||||
return errToStatus(err), err
|
return errToStatus(err), err
|
||||||
}
|
}
|
||||||
|
|
||||||
return http.StatusOK, nil
|
return http.StatusNoContent, nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue