Tuba
Tuba copied to clipboard
[Request]: Looping animated images treated as such (instead of treated as videos)
Describe the request
If you look at https://mastodon.social/@jmsdnns/110843691825850858 through Tuba, it will behave as a 1-second long video that immediately stops after starting.
Animated GIFs, WebP, JPEG XL (now supported by the latest WebKitGTK for GNOME 45), AVIF, should be treated as such.
Maybe autoplaying while:
- on a mobile device/formfactor (because there is no such thing as hovering, as there is no mouse...)
- on a desktop device that is not in powersaver energy mode nor disable/reduce-animations mode; hover-to-play otherwise.
And ideally / if needed for power savings and performance (i.e. if it's not done automagically by the toolkit) stop the playback when scrolled off-screen.
Implementation Details
- [ ] This should be an option in settings.
- [ ] This should be only available to some fediverse backends. (Include which ones on the above field).
- [X] This is client-only (and shouldn't sync with the instance).
- [X] This follows the GNOME HIG.
Took a closer look for #682
The main blockers are https://gitlab.gnome.org/GNOME/gtk/-/issues/4062 and the whole performance issue:
- All GIFs are actually GIFVs (that's why they are treated as videos). Due to the linked bug (which is actually a Gstreamer issue (https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/724)), all videos on Tuba get downloaded rather than streamed. Streaming GIFVs should be more appropriate
- (I've gone into multiple rants about this already but) since the posts are not getting recycled, having them be downloaded or streamed in full just so we can play them on hover would increase memory usage by a lot