WCF icon indicating copy to clipboard operation
WCF copied to clipboard

Upload Pipeline v2

Open dtdesign opened this issue 1 year ago • 0 comments

Missing parts:

  • [x] Document the interface for file processors.
  • [x] Proper clean-up of files and thumbnails.
  • [ ] Handling of orphaned file uploads that are no longer associated to an objectTypeID.
  • [ ] Resizing of GIFs in the browser (see #4031).
  • [x] Enable downloads again for non-image attachments.
  • [x] Add the missing phrases for the attachment action buttons.
  • [x] Implement a proper error handling for server-side errors, we’re currently just dumping the message property. This might also require some updated CSS to work nicely with the grid layout.
  • [x] Localized error messages for the pre-upload check.
  • [x] Abstract implementation for IFileProcessor that allows us to easily expand the interface later.
  • [x] It is currently only possible to adopt a file but not specific thumbnails. Do we need some kind of callback to register thumbnails in case they’re being referenced directly?
  • [x] Attachment/List.ts handles too much logic and should offload some into Attachment/Entry.ts which is unused right now.
  • [ ] There is currently no upload progress because both Firefox and Safari do not support ReadableStream in the request body of fetch(). This means that we cannot track how much data has been sent to the server already. We can still track the chunks but that might be a bit light and potentially misleading due to how different the size of chunks can be for smaller uploads.
  • [ ] <woltlab-core-file-upload> does not support limiting the number of concurrently uploaded files yet.
  • [ ] HTTPS is now a hard requirement and must be added to the system requirements.
  • [ ] Add support for a general upper limit for uploaded files that can be configured on the server side / environment.
  • [ ] Thumbnails are currently generated as WebP only, do we want to support garbage browsers without WebP support?
  • [ ] Write the API documentation for the dev docs.
  • [ ] Block uploads that exceed the file size limit before posting data to the server.

Closes #5668

dtdesign avatar May 05 '24 09:05 dtdesign