Replying to Avatar Robert Allen

nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn nostr:npub1arkn0xxxll4llgy9qxkrncn3vc4l69s0dz8ef3zadykcwe7ax3dqrrh43w nostr:npub1gm7tuvr9atc6u7q3gevjfeyfyvmrlul4y67k7u7hcxztz67ceexs078rf6 any of you know how clients are handling NIP04 and NIP44? Implement support for both but use 44 as default for outgoing messages? Any idea which clients are already using 44 (if any)?

I know at least Amethyst, 0xChat, and Coracle have nip 44 support of some kind. I believe some others have added it as well. I'm not sure how others do it, but in Coracle I merge both types of DMs, and ask the user whether they want to use new or legacy messages. If they've already received a nip 44 from their contact, I just auto-upgrade the conversation. It's a pretty sticky UX problem, I have some ideas for how to improve this but haven't had time for them yet. One being a flag on the user's profile that says "I accept nip 44".

Reply to this note

Please Login to reply.

Discussion

This is helpful. Merging makes sense. Ideally, feels to me like this should be hidden from users and just default to the better encryption (although, maybe there is some debate on that point?). But I guess if you default to 44 and some clients don’t support it, then that is a very bad UX too. So then perhaps separating these out and forcing users to actively choose makes sense? This is definitely a sticky issue.

I guess it's a problem to have no signalling which nips are supported by the recipient. Many users are on Damus only and might find the DMs much later if at all.

I had earlier suggested to have a profile field that signals readiness for certain nips but maybe much more helpful would be to signal when a certain nip was actually last used. Instead of me trying out some obscure client once resulting in my profile getting amended with a claim that I now support some obscure feature forever, show "Leo used nip4 recently" or "Leo never signaled to have used nip44 ever. Consider asking via nip4".

While nip4 sending is already trivial to detect for third parties, reading or nip44 is not. As an instant read receipt can be a privacy issue, clients should not signal this instantly or granularly but some daily update on messages being read could be ok from a privacy perspective. It could be updated even absent new messages, so it would signal more the use of a client than the reception of actual messages.

I like the profile friend idea. That way, clients could tailor the UX for users.