nostr-protocol / nips

Nostr Implementation Possibilities
2.39k stars 582 forks source link

Remove recommendation to map emoji reactions to like/dislike #1486

Open staab opened 2 months ago

staab commented 2 months ago

See the discussion here

Emojis are a high-fidelity medium of expression subject to a significant amount of interpretation, while +/- reactions are a low-fidelity medium of expression subject to much less interpretation. The two are semantically incompatible ways of reacting to content, and should not be conflated.

Previously, the NIP included a recommendation to interpret emojis as likes/dislikes, but this put a burden on receiving clients to map every possible emoji to a binary sentiment. This is not only a huge mapping, it's also impossible because the same emoji reaction can be used in different contexts to mean different things.

Additionally, some clients created emoji reactions on their users' behalf to indicate certain application states, such as a failed zap or a content warning. These concepts should instead be represented as first-class things within the protocol.

This PR also adds a recommendation to add a c tag so that reaction content can be indexed. This will allow clients that only support like/dislike or a subset of emojis to fetch only relevant events.

mikedilger commented 2 months ago

I have used negative-sentiment emojis in jest multiple times. I would hate for them to be interpreted as downvotes.

+1