phanpy icon indicating copy to clipboard operation
phanpy copied to clipboard

Add emoji reaction support

Open meghadeep-com opened this issue 1 year ago • 7 comments

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.

meghadeep-com avatar Jul 14 '24 08:07 meghadeep-com

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

Xen4n avatar Aug 25 '24 14:08 Xen4n

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

dahlia avatar Oct 09 '24 07:10 dahlia

There are two kinds of emoji reaction APIs:

Pleroma/Akkoma family

  • POST /api/v1/statuses/:id/react/:emoji
  • POST /api/v1/statuses/:id/unreact/:emoji

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

  • PUT /api/v1/statuses/:id/emoji_reactions/:emoji
  • DELETE /api/v1/statuses/:id/emoji_reactions/:emoji

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.

dahlia avatar Oct 19 '24 14:10 dahlia

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

  • lack of documentation(?)
  • some of these API discrepancies
  • maintenance cost for supporting/testing all of them - probably could be delegated to @neet's masto.js but I'm not sure

cheeaun avatar Oct 20 '24 01:10 cheeaun

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.

shuuji3 avatar Oct 29 '24 08:10 shuuji3

Mastodon's most widely used emoji reaction fork family added some (heavily work in progress) documentation for emoji reactions:

https://github.com/TheEssem/mastodon/wiki/API

meghadeep-com avatar Apr 13 '25 07:04 meghadeep-com

I just found out that Phanpy partially supports this, which is awesome. (Beyond Markdown, emoji responses are something I really want). Related to that, there is some attempt to create a standard for emoji responses with FEP-c0e0:

  • https://codeberg.org/fediverse/fep/src/branch/main/fep/c0e0/fep-c0e0.md
  • https://socialhub.activitypub.rocks/t/fep-c0e0-emoji-reactions/4443

Since you mentioned documentation, this might be a reasonable direction?

dmoonfire avatar Apr 28 '25 15:04 dmoonfire