Claude 9739b0f2c9 fix: prevent group name flicker in GroupListViewer
The group name flickered because metadata was resolved asynchronously
on every mount with no caching. This caused names to change from
groupId → actual name after the async resolution completed.

Fix implements a multi-tier approach:
1. Load cached metadata from IndexedDB immediately on mount (fast path
   for returning users - prevents flicker on subsequent visits)
2. Extract names synchronously from kind 39000 events when available
   (no async needed for groups with NIP-29 metadata in eventStore)
3. Only run async profile resolution for groups that truly need it
   (groupId is a pubkey but no NIP-29 metadata available)
4. Cache all resolved metadata to IndexedDB for future visits

Changes:
- Add groupMetadata table to Dexie DB (version 18)
- Add sync extraction helper (extractMetadataFromEvent)
- Add cache load/save helpers (loadCachedGroupMetadata, cacheGroupMetadataBatch)
- Refactor GroupListViewer to use tiered resolution with caching

https://claude.ai/code/session_01CCxAcUsRBkWSL6as1wtFoA
2026-01-30 09:14:35 +00:00
2025-12-18 15:46:02 +01:00
👶
2025-12-09 16:26:31 +01:00
2025-12-19 12:49:29 +01:00
2026-01-22 18:38:26 +01:00
2025-12-13 15:06:05 +01:00
2025-12-22 20:40:16 +00:00
2025-12-20 14:25:40 +01:00
👶
2025-12-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +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%