mirror of
https://github.com/purrgrammer/grimoire.git
synced 2026-06-17 01:58:33 +02:00
eef82e7871ccdb2c138686b2d8bdad5b10906751
Auto-Decrypt OFF by Default: - Changed autoDecrypt default from true to false (logic.ts, InboxViewer.tsx) - Users must explicitly enable auto-decrypt in settings - Reduces unexpected signer prompts and background activity Batch Decrypt Feature: - Added batchDecryptPending() method to GiftWrapManager - Processes all pending gift wraps in one operation - Shows in settings dropdown when auto-decrypt is off and pending > 0 - "Decrypt N Pending" button with loading spinner Compact Header (Like req viewer): - Single-line header with font-mono text-xs - Left: Status indicator (SYNC/OFF with shield icon, muted colors) - Right: Compact stats (just numbers with tooltips), relay dropdown, settings dropdown - No verbose labels, no large text - Muted icon colors (/70 opacity for stats) Relay Dropdown Improvements: - No chevron (cleaner look) - Shows relay count with Radio icon - Opens to full RelayLink components with icons and hover cards - Future: Can add auth/connected status here Settings Dropdown: - No chevron (cleaner look) - Compact checkboxes for sync and auto-decrypt - "Load Older" action item - Conditional "Decrypt N Pending" when auto-decrypt is off Conversation List Improvements: - Removed avatar placeholder (no longer needed) - Ultra-compact: font-mono text-xs, py-1.5 padding - Layout: Name (fixed width) | Message preview (flex) | Timestamp - Muted colors for clean, minimal look - Border-bottom separators - Clicking opens "chat npub..." with NIP-17 adapter NIP-17 Adapter: - Already implemented and fully functional - Read-only support for decrypted messages - Observable pattern for real-time updates - Supports threading via e-tag replies - Works with ChatViewer component User Experience: - Clean, compact UI focused on conversations - All controls accessible but not intrusive - Tooltips explain everything - Batch operations available when needed - Gift wrap stats accurate and real-time
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%