mirror of
https://github.com/purrgrammer/grimoire.git
synced 2026-04-13 17:07:27 +02:00
8f7250414c5d2ad31bdc93434567b4a6f6f594bb
The refactored NostrEditor attempted to bypass TipTap's items() function by returning empty arrays and manually handling search in onUpdate. This approach caused autocompletion to fail because the suggestion list component was never populated with search results. This commit restores the correct pattern from MentionEditor: - Use async items() function to return search results directly - Let TipTap handle the async flow and timing - Update component props in onUpdate with new items from TipTap - Remove manual search counter and doSearch function This matches the proven working pattern from the main branch's ChatViewer/MentionEditor implementation and fixes autocompletion for @mentions, :emoji:, and /commands. Fixes autocompletion issue in PR #173
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%