![w3irdrobot](/assets/img/avatar_default.png)
Clicking the Mark All Read button was clearing the messages, but the purple dot was not disappearing until the page was refreshed. It appears it was just because the calculation was being cached and not updated because the dm interaction counter was not inputted as a dependency to useMemo
Snort
Snort is a nostr UI built with React aiming for speed and efficiency.
Snort supports the following NIP's:
- NIP-01: Basic protocol flow description
- NIP-02: Contact List and Petnames (No petname support)
- NIP-03: OpenTimestamps Attestations for Events
- NIP-04: Encrypted Direct Message
- NIP-05: Mapping Nostr keys to DNS-based internet identifiers
- NIP-06: Basic key derivation from mnemonic seed phrase
- NIP-07:
window.nostr
capability for web browsers - NIP-08: Handling Mentions
- NIP-09: Event Deletion
- NIP-10: Conventions for clients' use of
e
andp
tags in text events - NIP-11: Relay Information Document
- NIP-12: Generic Tag Queries
- NIP-13: Proof of Work
- NIP-14: Subject tag in text events
- NIP-15: End of Stored Events Notice
- NIP-19: bech32-encoded entities
- NIP-20: Command Results
- NIP-21:
nostr:
Protocol handler (web+nostr
) - NIP-25: Reactions
- NIP-26: Delegated Event Signing (Display delegated signings only)
- NIP-28: Public Chat
- NIP-36: Sensitive Content
- NIP-40: Expiration Timestamp
- NIP-42: Authentication of clients to relays
- NIP-50: Search
- NIP-51: Lists
- NIP-65: Relay List Metadata
Running
This repository is a yarn workspace. To install dependencies, run yarn
from the project root.
To run the application, use
$ yarn start
To build the application and nostr package, use
$ yarn build
Translations
Translations are managed on Crowdin
To extract translations run:
yarn workspace @snort/app intl-extract
yarn workspace @snort/app intl-compile
This will create the source file packages/app/src/translations/en.json
Languages
TypeScript
90.5%
CSS
3.8%
Rust
3.1%
JavaScript
2.5%