bot-hermes
a3e4d3c868
feat: add threaded comments, activity feeds, and task dependencies
2026-08-10 21:59:10 +00:00
bot-hermes
1059512888
feat: add server error logging and tighten workspace isolation
2026-08-10 12:41:46 +00:00
bot-hermes
a60b75f075
feat: full plan execution - CI/CD, critical fixes, UX polish, secondary/advanced features, E2E + docs
...
Phase 0 (CI/CD): fix root typecheck to cover api+worker+web; reconcile migration
story into idempotent db:migrate (db:sync + db:triggers); add Gitea Actions
quality/deploy/smoke workflow; rewrite README/AGENTS/DEPLOY docs; add
requireWorkspaceAccess + recordActivityForEntity conventions.
Phase 1 (critical fixes): calendar delete + drag/resize DnD; canvas card CRUD +
bulk save + debounced autosave; logout route; graph edge workspaceId derivation;
real analytics endpoints (drop Math.random); task board droppable columns +
reorder persistence; Tiptap notes editor with sanitized HTML rendering; remove
insecure passkey auth; domain/owner scoping (IDOR) on all by-ID routes + search/
export/realtime scoping; command palette routing + agent mention fetch; agent
activity SSE handler; graph fly-to with tracked positions.
Phase 2 (UX polish): login on design system; Sonner toasts app-wide; shared
Loading/Empty/Error state components; working density/sidebarPos/reduce-motion
settings; Inter typography; consolidated status-colors lib; unified detail
routes; dashboard sort/realtime/responsive fixes; mobile responsive; a11y
(radiogroups, sanitized snippets, badge labels).
Phase 3 (features): daily notes timezone fix + delete + autosave + mood/energy
create; active-domain store + topbar picker; graph domain picker + navigable
entity links; tag assign/remove UI + server-side tag filter; real CSV export +
import validation; custom fields on tasks.
Phase 4 (advanced): migrate job worker into apps/worker (webhook delivery with
HMAC, recurring spawn, ai_dispatch disabled); webhook queue helper + entity
event enqueuing + test endpoint fix; recurring scheduledJobs pipeline; agents
CRUD + permission editing + activity filters; real notifications feed; MCP
polish (validation, error codes, domain scoping, dead sql leftover).
Phase 5 (E2E + docs): rewrite Playwright suite for the Vite SPA (15 specs, new
auth helpers, chromium-only in CI); add ephemeral-Postgres e2e CI job; rewrite
docs/API.md for the real Hono API.
2026-08-10 08:53:18 +00:00
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