mirror of
https://github.com/purrgrammer/grimoire.git
synced 2026-04-09 15:07:10 +02:00
5bc89386ead228eac80661b8a014d9b28f507836
* feat: add NIP-53 live activity chat adapter Add support for joining live stream chat via naddr (kind 30311): - Create Nip53Adapter with parseIdentifier, resolveConversation, loadMessages, sendMessage - Show live activity status badge (LIVE/UPCOMING/ENDED) in chat header - Display host name and stream metadata from the live activity event - Support kind 1311 live chat messages with a-tag references - Use relays from activity's relays tag or naddr relay hints - Add tests for adapter identifier parsing and chat-parser integration * ui: derive live chat participants from messages, icon-only status badge - Derive participants list from unique pubkeys in chat messages for NIP-53 - Move status badge after title with hideLabel for compact icon-only display * feat: show zaps in NIP-53 live chat with gradient border - Fetch kind 9735 zaps with #a tag matching the live activity - Combine zaps and chat messages in the timeline, sorted by timestamp - Display zap messages with gradient border (yellow → orange → purple → cyan) - Show zapper, amount, recipient, and optional comment - Add "zap" message type with zapAmount and zapRecipient metadata * fix: use RichText for zap comments and remove arrow in chat - Use RichText with zap request event for zap comments (renders emoji tags) - Remove the arrow (→) between zapper and recipient in zap messages * refactor: simplify zap message rendering in chat - Put timestamp right next to recipient (removed ml-auto) - Use RichText with content prop and event for emoji resolution - Inline simple expressions, remove unnecessary variables - Follow codebase patterns from ZapCompactPreview * docs: update chat command to include NIP-53 live activity - Update synopsis to use generic <identifier> - Add NIP-53 live activity chat to description - Update option description to cover both protocols - Add naddr example for live activity chat - Add 'live' to seeAlso references * fix: use host outbox relays for NIP-53 live chat events Combine activity relays, naddr hints, and host's outbox relays when subscribing to chat messages and zaps. This ensures events are fetched from all relevant sources where they may be published. * ui: show host first in members list, all relays in dropdown - derivedParticipants now puts host first with 'host' role - Other participants from messages follow as 'member' - RelaysDropdown shows all NIP-53 liveActivity.relays --------- Co-authored-by: Claude <noreply@anthropic.com>
Grimoire
A Nostr protocol explorer and developer tool with a tiling window manager interface.
Features
- Tiling Windows - Each window is a Nostr "app" (profile viewer, event feed, NIP docs, etc.)
- Command Palette - Unix-style commands via
Cmd+Kto open apps and navigate - Multi-workspace - Virtual desktops with independent layouts
- Real-time - Reactive event subscriptions with automatic updates
Stack
React 19, TypeScript, Vite, TailwindCSS, Jotai, Dexie, Applesauce
Getting Started
npm install
npm run dev
Scripts
| Command | Description |
|---|---|
npm run dev |
Start dev server |
npm run build |
Build for production |
npm test |
Run tests in watch mode |
npm run lint |
Lint code |
npm run format |
Format code |
License
MIT
Languages
TypeScript
98.9%
CSS
0.8%
JavaScript
0.3%