Hermes
2b4b6f4165
fix: stabilize NoteEditor/NoteEditorPane memoization with useCallback
...
Root cause: inline arrow functions for onDelete and onSave props created new references every render, breaking React.memo and causing editor re-renders that steal focus.
2026-08-01 23:02:46 +00:00
Hermes
ac92284edd
fix: remove queryClient.invalidateQueries from title save to prevent parent re-render focus stealing
2026-08-01 13:27:08 +00:00
Hermes
aa5da5d770
fix: restore selectedNoteId as state for re-render
2026-08-01 13:23:35 +00:00
Hermes
58e563f21d
fix: remove selectedNoteId state entirely to prevent parent re-render focus stealing
2026-08-01 13:22:23 +00:00
Hermes
a673d77d58
fix: prevent search input from receiving focus via onMouseDown preventDefault
2026-08-01 13:21:14 +00:00
Hermes
dfaf0ff659
fix: add onMouseDown stopPropagation to title input
2026-08-01 13:19:30 +00:00
Hermes
2cf6638d9e
fix: isolate note editor in memoized pane to prevent focus stealing on parent re-render
2026-08-01 13:18:08 +00:00
Hermes
d9000c9f76
fix: restore selectedNoteId as state for re-render, keep ref for content
2026-08-01 13:11:31 +00:00
Hermes
7776668269
fix: remove all state changes on note selection to prevent focus stealing
2026-08-01 13:09:35 +00:00
Hermes
4a83ee88ba
fix: add autoFocus to title input to reclaim focus after re-render
2026-08-01 13:09:25 +00:00
Hermes
82db10a10d
fix: add tabIndex=-1 to search input to prevent auto-focus stealing from title input
2026-08-01 13:07:45 +00:00
Hermes
d0d6002126
fix: use ref-based selectedNote to prevent re-render focus stealing
2026-08-01 13:07:20 +00:00
Hermes
eeff700875
fix: TipTap focus leak - use uncontrolled NoteTitleInput with ref to prevent focus stealing on parent re-render
2026-08-01 13:05:31 +00:00
Hermes
3f1a1982ca
fix: use uncontrolled inputs for note title and editor to prevent focus leak to search field
2026-08-01 13:04:24 +00:00
Hermes
420ebfe24a
fix: isolate note title in memoized component, prevent search input stealing focus
2026-08-01 13:02:55 +00:00
Hermes
a65b828c78
fix: isolate note title in memoized component to prevent focus leak to search field
2026-08-01 13:00:22 +00:00
Hermes
21efa311da
fix: prevent NoteEditor re-render stealing focus - use key remount, onBlur save, stable ref
2026-08-01 12:58:46 +00:00
Hermes
8917f3ad19
fix: add missing quotes around className in NoteTitleInput
2026-08-01 12:58:34 +00:00
Hermes
ec0fb10b3e
fix: add missing quotes around className in NoteTitleInput
2026-08-01 12:57:53 +00:00
Hermes
c35ea2b175
fix: isolate note title input in memoized component to prevent focus leak to search field
2026-08-01 12:57:32 +00:00
Hermes
ee57195681
fix: stabilize handleContentChange callback via ref to prevent NoteEditor re-render stealing focus
2026-08-01 12:53:19 +00:00
Hermes
445f5e1257
fix: use uncontrolled input for note title to prevent focus leak to search field
2026-08-01 12:51:50 +00:00
Hermes
ff2611ce18
fix: save note title on blur instead of every keystroke to prevent focus leak
2026-08-01 12:50:16 +00:00
Hermes
67214575fb
fix: debounce note title save to prevent focus leak to search field
2026-08-01 12:49:27 +00:00
Hermes
3a0df07296
fix: R3 bugs - TipTap focus leak, Quick Capture palette, Calendar day view
2026-08-01 12:26:43 +00:00
Hermes
f617c39937
T6/Phase 4: 7 core entity pages (Tasks, Habits, Projects, Notes, Calendar, Graph, Search)
2026-08-01 02:10:18 +00:00
Hermes
e86a7c0672
T5/Phase 3: SPA shell + navigation
...
- TanStack Router with type-safe file-based routes
- Sidebar: collapsible, workspace switcher, 12 nav links, user menu
- Topbar: search, quick-add, notifications, user avatar
- cmdk command palette: nav + create + search + @mentions
- Keyboard shortcuts: Cmd+K palette, g+t/h/p/n/c/g/s navigation, ? help
- Theme: dark default, accent picker (slate/blue/green/purple/orange), persisted to localStorage
- Auth: login -> /, logout -> /login, 401 redirect
- Placeholder pages for all 13 nav routes (real in T6/T7)
- Typed API client with useApiQuery/useApiMutation hooks
2026-08-01 02:00:24 +00:00