cinnyapp / cinny

Yet another matrix client
https://cinny.in
GNU Affero General Public License v3.0
1.98k stars 257 forks source link

Feat: Animated Media Thumbnails #1727

Open cyrneko opened 6 months ago

cyrneko commented 6 months ago

Describe the problem

Since roughly 2020, MSC2705 has existed and proposed a way to have animated media thumbnails (for e.g GIFs). These are quite useful as most clients will not display fullsize images in the timeline, especially for avatars where one might want to use an animated avatar.

In Cinny too, animated avatars never play, and there is no full-size view for avatars to speak of.

Describe the solution you'd like

Support for MSC2705, which has been recently merged, would fix this issue.

Alternatives considered

Apart from just living with it, there isn't much of an alternative here.

Additional context

I've tested this on the refactor-navigation-2 branch to make sure it doesn't exist yet on the currently most active branch.

greentore commented 4 months ago

It's not supported by synapse.

cyrneko commented 4 months ago

It's not supported by synapse.

That does not mean it cannot be supported, especially as Matrix.org uses matrix-media-repo themselves.

Not to mention that it has been merged and it advertises matrix 1.11 support.

williamkray commented 3 months ago

i use matrix-media-repo and cinny, and cinny renders the animated thumbnails and avatars appropriately. i'm not sure i understand what part of this is a cinny feature request...

cyrneko commented 3 months ago

i use matrix-media-repo and cinny, and cinny renders the animated thumbnails and avatars appropriately. i'm not sure i understand what part of this is a cinny feature request...

Cinny doesn't hit the media endpoints with the required parameter here, never did 🤔

kfiven commented 1 month ago

Animated media send to work for me. What endpoint you are taking about? And what it has to do with endpoint if the animated media is working?

cyrneko commented 1 month ago

Animated media send to work for me. What endpoint you are taking about? And what it has to do with endpoint if the animated media is working?

MSC2705 defines an explicit way to request animated thumbnails.

Media thumbnails are not the same as the full-size media, as a media thumbnail is supposed to be a lower-resolution or otherwise 'shrunk' version of the media to be displayed when a user does not request the full-resolution image (e.g by clicking on it).

This is apparent in avatars, which are requested at a smaller resolution. The endpoint used for this is as follows:

/_matrix/client/v1/media/thumbnail/example.com/MXC?width=80&height=80&method=crop&allow_redirect=true

The "correct" use for animated thumbnails would be:

/_matrix/client/v1/media/thumbnail/example.com/MXC?width=80&height=80&method=crop&allow_redirect=true&animated=true

even on commit cca8b5f this behavior is replicable for media, both avatars and in the timeline, that is supposed to be animated.