discourse/app
Martin Brennan e8a6079c29
FIX: Video thumbnail uploads interfering with subsequent uploads (#23216)
Short answer -- the problem is the video thumbnail generator & uploader
code added a couple of months back in f144c64e13.
It was implemented as another Mixin which overrides `this._uppyInstance`
when uploading the video thumbnail after the initial upload is complete,
which means the composer's `this._uppyInstance` value is overridden,
and it loses all of its preprocessors & upload code.

This is generally a problem with the Mixin based architecture that I
used for the Uppy code, which we need to remove at some point and
refacotr.

The most ideal thing to do here would be to convert this video thumbnail
code into an Uppy
[postprocessor](https://uppy.io/docs/uppy/#addpostprocessorfn) plugin,
which runs on each upload after they are complete. I started looking
into this, and the main hurdle here is adding support to tracking the
progress of postprocessors to
[ExtendableUploader](cf42466dea/app/assets/javascripts/discourse/app/mixins/extendable-uploader.js)
so that is out of scope at this time.

The fix here makes it so the ComposerVideoThumbnailUppy code is no
longer a Mixin, but acts more like a normal class, a pattern which
we have used in chat. I also clean up a lot of the thumbnail uploader
code and remove some unnecessary things.

Attempted to add a system spec, but video streaming does not work
in Chrome for Testing at this time, and it is needed for the
onloadedmetadata event.
2023-08-24 14:04:26 +10:00
..
assets FIX: Video thumbnail uploads interfering with subsequent uploads (#23216) 2023-08-24 14:04:26 +10:00
controllers FIX: Infinite loading broken on group members list (#23214) 2023-08-24 08:50:20 +08:00
helpers DEV: Correctly strip sourcemap URL from splash-screen js (#22879) 2023-07-31 16:49:27 +01:00
jobs DEV: there is no need anymore to wrap export methods into enumerators (#22567) 2023-08-17 22:09:58 +04:00
mailers FIX: Order tags shown in email subject by topics count and name (#22586) 2023-07-13 15:39:58 +08:00
models DEV: Add plugin modifier locations for user search locations (#23169) 2023-08-21 12:23:42 -05:00
serializers DEV: Remove need for reloading cached summary thanks to Range#max (#23106) 2023-08-15 15:03:42 -03:00
services DEV: Add S3 upload system specs using minio (#22975) 2023-08-23 11:18:33 +10:00
views PERF: Avoid calling the same translation twice when rendering lists view (#22976) 2023-08-04 13:38:41 +08:00