Brainstorming a better system for #nostr reactions. I initially thought just adding a "+" or "-" to the start of all emoji reactions would be a simple solution, but nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 pointed out that it would break some current clients. See https://github.com/nostr-protocol/nips/pull/509

More thoughts to follow.

Reply to this note

Please Login to reply.

Discussion

nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 it looks like snort.social accepts "-" and "👎" as a dislike and all other reactions as a like, correct?

nostr:npub1wnwwcv0a8wx0m9stck34ajlwhzuua68ts8mw3kjvspn42dcfyjxs4n95l8 I'm not seeing support for emoji reactions in your code, am I missing it?

Reading the comments on the initial PR for NIP-25, https://github.com/nostr-protocol/nips/pull/26 , inspired some thoughts.

Prefixing reactions with the "+" or "-" would allow for multiple emoji reactions to be sent at once, in the form of "+👀❤️🔥". This would allow multiple reactions like on GitHub or Discord, without overly spamming relays.

Supporting the exact same UX as the aforementioned apps, however, might require use of a different event kind, perhaps a NIP-33 Parameterized Replaceable Event. Backwards compatibility could be maintained by sending/storing both the new kind and a basic kind 7 "+" or "-".

Looking at this idea again, it's definitely too complicated. I'm now thinking the best ideas are either my original modification, or moving emoji reactions to a tag.

The tag would still allow any random emoji to be entered, but clients would only have to look at it if they were interested in displaying it. Trade-off being a slightly bigger message on the wire.

nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s any thoughts on this as the initial author of NIP-25?

I think its overcomplicating the spec. If someone wants an explicit dislike they just need to do -. Damus would still count this as a ❤️ though.

Doesn't that mean Damus is out of spec from your own NIP? The whole "It SHOULD NOT be counted as a "like"..." bit.

Also, how does Damus handle random emoji reactions, is everything just considered a like?