Mastodon: arbitrary emojis as reactions

Created on 7 Jul 2017  ·  13Comments  ·  Source: tootsuite/mastodon

From idle musing: https://voe.social/web/statuses/112946

I can boost toots, and I can favourite toots. Favouriting is a bit like bookmarking, only less so. Visually, it assigns the ⭐ emoji to the toot.

But what if I could choose the emoji it assigned to the toot? It could be 👍 or 🍣 or anything else at all.

Toots would store the fact of the favouriting alongside the emoji, and display the emoji + counts with a query like:

SELECT emoji, count(1) FROM favourites WHERE status_id = :id GROUP BY emoji

To an extent, this idea comes from the GitLab.com use of 'award emoji', which are often used as an ad-hoc voting mechanism, e.g.: https://gitlab.com/gitlab-org/gitlab-ce/issues/4058

screenshot from 2017-07-07 21-19-13

It adds a degree of richness to your interaction with the issue / toot.


  • [x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
suggestion ui

Most helpful comment

I'm happy to work on this feature and submit a PR if it's considered desirable. Just let me know!

All 13 comments

I'm happy to work on this feature and submit a PR if it's considered desirable. Just let me know!

We can migrate existing favourites by assigning the ⭐ emoji to them, of course. The emoji column can be character(1) or varchar(1).

GitLab emoji picker like:
screenshot from 2017-07-07 21-34-46

Mastodon's frontend could probably fit 2-3 emoji in side by side. Once a toot gets more variety than that, it'd need to be promoted to a line of its own.

Someone suggested reaction emojis in #1178 ("like" and "save" separately), and I'd be up for that. Saves could be made private, and I could react to toots by thumbs-up-ing or hearting without having to reply or clutter my saves.

Thanks for the link @Cassolotl

Emoji favourites would allow people to "save" toots by marking them with 💾 - or they could use a range of emoji to "save" toots in their own personal categorisation system.

The only remaining use case I see is the idea of allowing saves to be private. That'd need a private column on the favourites table and some soul-searching UI thought, but could reasonably be left out of a first implementation.

I think if you can search for example all toots that you gave thumbs-up to, or whatever, then the reactions on a toot could be public but you could be only allowed to see all the toots you reacted to. So no one would be able to find all the toots you thumbs-upped, maybe?

Edit: But wait, then people wouldn't be notified of "likes". Hmmm. Maybe these feature requests aren't as similar as I thought!

Historical note: #373

Nit: the emoji column can't be character(1) or varchar(1), because some "emoji" are actually vendor-invented ZWJ sequences of 7 or more codepoints.

Also since "emoji" is barely a real thing, maybe just let me react with any arbitrary codepoint.

Reconciling the above two paragraphs is left as an exercise. :wink:

I would love to see this feature as well. How would this interact with instance-specific custom emoji?

I’d also love to see this in conjunction with UX that rolls up reactions into a bundle, Twitter-style. Also make it possible to opt out of seeing this stuff attached to your toots.

Misskey federates these as Like activities with custom content (the content would be the emoji or shortcode of custom emoji, I guess). The challenge is not in the federation but the complexity and added performance overhead on retrieving the reactions. Because they are dynamic, they cannot be optimized with counter columns. It likely will remain impossible in Mastodon simply because I am not ready to make Mastodon slower and more expensive to run just for this.

Since there is some code for reactions in the upcoming announcement feature do you plan to take this feature into consideration soon? @Gargron

Would it be sufficient to just allow "official" emojis and not instance specific ones?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alex73630 picture alex73630  ·  56Comments

Laurelai picture Laurelai  ·  57Comments

ashfurrow picture ashfurrow  ·  73Comments

Thann picture Thann  ·  63Comments

ghost picture ghost  ·  54Comments