cheeaun / phanpy

A minimalistic opinionated Mastodon web client
https://phanpy.social
MIT License
1.08k stars 107 forks source link

Add emoji reaction support #598

Open meghadeep-com opened 3 months ago

meghadeep-com commented 3 months ago

First off, thank you so much for developing Phanpy. This is by far the most well thought out client for the ActivityPub protocol. Browsing Mastodon just isn't the same without Phanpy.

Recently, emoji reactions have been slowly trickling into ActivityPub. IceShrimp has had emoji reactions for a while, so had Misskey. Mastodon glitch-soc is in line to support emoji reactions too. Mastodon mainline regularly upstreams glitch-soc features, so it won't be long for Mastodon mainline to support emoji reactions after it gets merged into glitch-soc (there are open issues for this feature request on mainline Mastodon repo as well). I myself spun up my new instance with emoji support from Essem's fork of glitch-soc.

I'd very much like to have the option to react with any arbitrary emojis (multiple emoji reactions is also supported by a single user using Essem's fork) from Phanpy. I have looked at other feature requests, and found out that nobody has asked for this yet. As much as I love Phanpy, the lack of emoji reaction support is forcing me to use the regular web app. If I had the ability to view emoji reactions, and react to toots using arbitrary emojis, I'd probably never consider any other client than Phanpy for my Mastodon instance.

I'd like to help with this in any way I can; I know very little about the front-end, so while I cannot help directly with the development, I can host test accounts on my instance, and make the logs available to you, if you want to go that route. I could also host an entirely new instance on a subdomain exclusively to test Phanpy development, with you in total control of that instance.

Xen4n commented 2 months ago

Soapbox has very beautiful realisation of emoji reactions (Pleroma also supported). Will be good to see this in Phanpy

dahlia commented 3 weeks ago

Although it doesn't yet support leaving emoji reactions, Phappy does support showing emoji reactions that have already been left.

dahlia commented 2 weeks ago

There are two kinds of emoji reaction APIs:

Pleroma/Akkoma family

This can be detected by looking up pleroma_emoji_reactions and custom_emoji_reactions from pleroma.metadata.features responded by GET /api/v1/instance, e.g., https://seafoam.space/api/v1/instance.

Fedibird/kmyblue family

This can be detected by looking up emoji_reaction from fedibird_capabilities responded by GET /api/v1/instance, e.g., https://fedibird.com/api/v1/instance, https://kmy.blue/api/v1/instance.

cheeaun commented 1 week ago

@dahlia thanks, this is very useful. I was kinda lazy to implement this due to:

shuuji3 commented 4 days ago

Thanks! I was looking for information on how emoji reactions from these servers can be used.

There's a related discussion in the masto.js Issue: https://github.com/neet/masto.js/issues/939 If masto.js can handle these differences, that will benefit Elk too.