Der Spec klickte nach page.reload() den Mode-Toggle „um den Edit-Modus zu
verlassen" — nach dem Reload ist die Seite aber schon im Lesemodus (React-
State resettet), der Klick wechselte also HINEIN. Das passierte jahrelang
folgenlos, weil der Fokus auf dem Toggle-Button blieb und „/" die Suche
öffnete. Seit dem Editor-Auto-Fokus (PR #140) landet der Fokus im Editor
und „/" wird dort zu Text — je nach Ausgang des Rennens gegen den rAF-
verzögerten Fokus mal grün (Läufe 381/385), mal rot (383/387/389/390).
Fix: den Klick streichen; „/" läuft im Lesemodus als globaler Shortcut.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155v2aT8AG1kZDQEZiCLBWC
A search palette over the #49 full-text search.
- web:
- `SearchPalette`: opened from a top-bar button or the global "/" shortcut
(ignored while typing in a field). Scoped to the current pond by default
with an "all my ponds" toggle and, when scoped, a label filter. Results
list title, pond, label chips, and a highlighted snippet; recent searches
(localStorage) show before typing; empty/error/hint states.
- `HighlightedSnippet` renders the match — the api wraps hits in shared
sentinels (private-use codepoints), split here into `<mark>` so no HTML
from the content is interpreted.
- Fully keyboard-operable: "/" opens, ↑/↓ move, Enter opens the page,
Esc closes.
- i18n `search` namespace (de + en); palette + result styles.
- api: a pondId scope test proves search narrows to one pond.
- e2e `search.spec.ts` (new CI pack): body content added via the editor is
found and highlighted, the scope toggle keeps the result, and Enter opens
the page.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PGdhRiwU1WRL4XxJfZYipY