Claude 39a9c71da7 fix: memoize TipTap suggestion configs to ensure stable references
The fundamental issue was that createSuggestionConfig() was called inside
the extensions useMemo, creating NEW TipTap config objects with NEW function
references on every extensions rebuild. TipTap likely compares these configs
by reference to manage its internal suggestion state, so constantly recreating
them broke the autocomplete system.

Solution:
1. Extract individual suggestion configs with useMemo (mentionConfig, emojiConfig, slashConfig)
2. Create separate useMemos for the TipTap configs (tipTapMentionConfig, tipTapEmojiConfig, tipTapSlashConfig)
3. Use these stable TipTap configs in the extensions useMemo
4. Update extensions dependencies to include both the source configs and TipTap configs

This ensures:
- TipTap configs are only recreated when the source suggestion configs change
- Same object references are passed to TipTap across renders
- Suggestion state (popup, search results) remains intact

This follows the same pattern as the main branch, which creates stable
suggestion configs via useMemo before passing them to extensions.
2026-01-20 18:17:44 +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
2025-12-13 15:06:05 +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-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +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%