implement bulk-delete feature, Nextcloud support Ticket#96104279 - #64611
BarryOfficeEU wants to merge 1 commit into
Conversation
Please add the relevant commit footers as described in the ai policy |
icewind1991
left a comment
There was a problem hiding this comment.
-
The added api isn't a webdav api so any api implementation of that "shape" shouldn't be part of the webdav server, but instead something like an OCS api.
-
If we wan't something more "dav shaped" as an api, microsoft exchange has an existing non-standard dav method ["BDELETE"](https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/aa142716(v=exchg.65) for this, which might be a good api to copy. Even though it is not part of the standard
-
The "request multiplexing" seems very error prone as it mutates a bunch of global state and calls methods that don't expect to be called multiple times.
This PR adds server-side bulk deletion support for the Files app to reduce the number of HTTP requests required when moving a large selection of files to the trash.
Instead of issuing one DELETE request per selected file, eligible file selections are grouped into bulk requests of up to 100 files. Existing deletion, trash, permission, event and failure-handling behavior is preserved. Unsupported cases continue to use the existing per-item deletion path.
The feature can be enabled or disabled through the system configuration:
To disable it:
This work was developed and tested following investigation of slow deletion of large file selections, particularly with object storage backends. It was written by AI.
bulk-delete-proof.mp4
The video shows the deletion of files, first with the patch enabled, then without it. With patch it is a single request, without patch it is many HTTP request.
Nextcloud Support reference: Ticket #96104279