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:
Alex Yong 2024-04-24 19:23:44 -04:00 committed by GitHub
parent 61f25086c3
commit 434e49bf59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 4 deletions

View File

@ -74,7 +74,6 @@ export default {
"getETA",
]),
...mapWritableState(useFileStore, ["reload"]),
...mapActions(useUploadStore, ["reset"]),
formattedETA() {
if (!this.getETA || this.getETA === Infinity) {
return "--:--:--";
@ -92,6 +91,7 @@ export default {
},
},
methods: {
...mapActions(useUploadStore, ["reset"]), // Mapping reset action from upload store
toggle: function () {
this.open = !this.open;
},
@ -100,8 +100,8 @@ export default {
abortAllUploads();
buttons.done("upload");
this.open = false;
this.reset();
this.reload = true;
this.reset(); // Resetting the upload store state
this.reload = true; // Trigger reload in the file store
}
},
},

View File

@ -69,6 +69,7 @@ func NewHandler(
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(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")

View File

@ -87,7 +87,7 @@ func resourceDeleteHandler(fileCache FileCache) handleFunc {
return errToStatus(err), err
}
return http.StatusOK, nil
return http.StatusNoContent, nil
})
}