nos
nos copied to clipboard
Client identifier tags
Add client identifier tags to published events
PR Body
Summary
- Implemented NIP-89 client identifier tags to events published by Nos
- Added client tag capabilities to text notes, metadata, contact lists, mutes, and follow sets
- Client tags help with analytics and ecosystem insights by properly identifying client source
Test plan
- Verify that newly created events include the client identifier tag
- Ensure client tags are only added to appropriate event kinds
- Check that duplicate client tags are not added when an event is processed
This change adds a standardized way for the Nostr ecosystem to track which client was used to generate events, following the NIP-89 standard. The implementation adds a "client" tag with the format ["client", "nos.social", "31990:0f22c06eac1002684efcc68f568540e8342d1609d508bcd4312c038e6194f8b6:nos-ios"] to relevant events published by the Nos app.