Skip to content

Commit

Permalink
FEAT(client,images): Add animated gif support
Browse files Browse the repository at this point in the history
The way images are handled for the `gif` file format when pasting and receiving one in the chat
was here changed to support playing the animation. By default they do not play but whenever
an animation is not running this is indicated by a play-icon, thereby differentiating them
from still images on a glance. Whether the animation is paused is toggled by left-clicking it
and reset by middle-clicking it. Saving a `gif` image file from log is now also supported
just as it is for other image file formats.

Additionally, one can also toggle video controls for animations via the log context menu on them.
This enables the following features:
- Jumping to any point of the animation via the video bar
- Viewing the current time and total time of the animation
- Switching caching of all frames on or off
- Switching loop mode between "Unchanged", "Loop" and "No loop"
- Traversing frame-by-frame backwards or forward
- Changing and resetting the playback speed

The main limitation is the character limit on text messages for images. This is usually
set to 128 KB, which is very small for a `gif` image file and on top of this requires
the data to be 33% smaller before being sent in base64 encoding. This limit should be at least
ten times larger in order to fit many `gif` image files, or this should apply to another limit
specifically for animations. Other than that, the functionality for pasting images from
the clipboard itself, instead of by a file path from it, could not be implemented for `gif`
image files due to not being able to get compatible formatted data from the MIME data received.

Here are workarounds that can be applied to these limitations:
- Configure the server to increase or disable the limit on image message length
- Save copied `gif` images to file and then copy and paste those files
  • Loading branch information
GeneralUser01 committed Nov 17, 2024
1 parent 9c48561 commit eade913
Show file tree
Hide file tree
Showing 6 changed files with 792 additions and 16 deletions.
Loading

0 comments on commit eade913

Please sign in to comment.