Emoji Reactions Final Steps #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
NEW THOUGHTS SINCE ~06/02/2020
By now we have a working Emoji reaction system. There are a few things to wrap up.
Backend
As pointed out by misskey people at https://github.com/syuilo/misskey/issues/5425, the choice of
EmojiReactionseems weird, as noun types usually get created by aCreateactivity, while verbs usually act on nouns, whichEmojiReactiondoes. Of course, in english many nouns are verbs and vice versa. Either way, I'll create an MR that changesEmojiReactiontoEmojiReactto make it clearer.Frontend
Mastodon implemented local reaction system for their admin announcements. The endpoints there are as follows:
I'll align our own api with this format to make it easier for clients to support this in the future.
OLD INFORMATION, DEPRECATED
Backend issue: pleroma/pleroma#5044
This makes it possible to 'react' to a post with a single character unicode emoji. This adds a new object type called
EmojiReaction. It looks pretty much like aLike, except it also has acontentproperty.'Single characters' in this context means anything that will be displayed as a single glyph. Combined sequences like 👩👩👧 are valid.
NOTE: The current implementation in Pleroma will not accept sequences.
I decided against overloading
Likesbecause they really are semantically different. Just as one aspect, there are a lot of 'negative' Emoji that should not be treated as a like.A frontend could still decide to display the reaction and like count in a combined way and only differentiate on expanding a post.
No frontend issue yet.
The full type is
litepub:EmojiReactionAn example reaction activity:
@shpuld you posted some ideas for this on irc IIRC, can you add them to this issue?
yeah,
A quick drawing I made, the scale of things is pretty stupid and looks awkward but anyway: when expanding a status, you can see the different reactions as a list below the status content, should be ordered by count, if we want to copy slack/discord you can click on the existing reactions to add/remove your reaction of that particular emoji, favorites would be just star emoji reactions with the rest. I kept the list of interactors next to the repeats counter, but I don't really like it. on a non-focused status you'd just have a number of reactions instead of showing what kinds it has. In general I think this sort of a design is really clunky and inelegant, will try to do something else
^ Some more ideas. I like how it looks when the RT is on the same line with reactions, just separated by a thin vertical line. Perhaps the reply button can be put before the repeats with the number of replies too, followed by a list of reactions. The small image in top right is an idea that allows us to get rid of the regular status interactions mostly for focused statuses but I don't like that, consistent UX is better imo.
What should be done when there's too many reactions to fit on a single line? this could easily happen on mobile especially if reply and repeat stuff is on the same line, I'm not sure how other software does it (slack or discord for example). If we do what mono suggested on fediverse and restrict one reaction per person it'd be much less common I'm sure, and I think it might be a very good idea regardless so that you can't spam a single post with 100 emojis (I can already imagine spam bots doing this)
also cc @sheueyen
Frontend/API kind of questions:
Been working on implementation, some notes:
if emoji reactions aren't given with a status, they can't be shown on timeline for all statuses. Could be ok if you can see the amount of reactions and then by clicking the number you'd see what kind of reactions they were. Still not as nice as just being able to see everything all the time I think.
react_with_emoji and unreact_with_emoji endpoints in the API return a status, statuses don't contain reactions, it's a useless response from UI point of view.
Edit: more points to discuss
Edit:
I hope this help @shpuld @lambadalambda: