Alejandro Gómez c0cee4320d perf: Optimize gift wrap loading and decryption performance
Major performance improvements for NIP-17 gift wrap inbox:

**Chunked Loading with RAF (Phase 2)**:
- Load stored gift wraps in chunks of 20 events
- Yield to browser between chunks using requestAnimationFrame()
- Prevents UI lag when loading 50+ messages on cold start
- Performance logging shows time to load all events
- Expected improvement: 4-6x faster cold start (2-3s → <500ms)

**Parallel Decryption (Phase 3)**:
- Implement parallel decryption with max 5 concurrent operations
- Add limitConcurrency() utility for controlled concurrency
- Extract decryptInternal() to batch state updates
- Single state emission after all decrypts complete (not per message)
- Update autoDecryptPending() to use parallel decryptAll()
- Performance logging shows decrypt timing and counts
- Expected improvement: 2-3x faster bulk decryption (10s → 2-3s for 10 messages)

**Benefits**:
- Smoother cold start experience on desktop and mobile
- Faster bulk decryption when clicking 'Decrypt All'
- Reduced observable emissions (N → 1 per batch)
- Single conversation rebuild per batch (not per message)
- UI remains responsive during operations

All tests passing (864/864), build successful.
2026-01-16 18:08:35 +01:00
2025-12-18 15:46:02 +01:00
2025-12-19 12:49:29 +01:00
2025-12-13 15:06:05 +01:00
2025-12-10 13:00:39 +01:00
2025-12-22 20:40:16 +00:00
2025-12-20 14:25:40 +01:00
2026-01-14 19:24:37 +01:00
2025-12-14 16:50:16 +01:00

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+K to 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

Description
No description provided
Readme MIT 14 MiB
Languages
TypeScript 98.9%
CSS 0.8%
JavaScript 0.3%