fix: give notes and todos dedicated workspace layouts
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build darwin arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s

Replace the crowded note sidebar with a card overview and full note detail. Keep tasks in a stable split view with source content and AI comments, compact header navigation, and search-adjacent status filters. Preserve drafts and return context.

Validation: 93 focused tests, typecheck, lint, and isolated Electron renderer checks passed. Full suite was interrupted; renderer probes used in-memory APIs.

Release note: Notes now open from a card overview, while todos keep a stable task list beside their details. Compact view and filter controls leave more room for reading and editing.
This commit is contained in:
mesalogo
2026-09-18 21:22:58 +08:00
parent 5aad0cf5f7
commit a8d1dbc11f
11 changed files with 1386 additions and 2474 deletions
+65
View File
@@ -1,5 +1,70 @@
# Magic Notes Progress
## 2026-09-18: Stable Todo Split View and Header Navigation
- Supersedes the inline task expansion described in the earlier entry below.
Wide containers now keep the grouped task list on the left and instructions,
source and AI in one right detail pane. Narrow containers retain the mounted
list and offer on-demand detail with an explicit return. Source-note return
preserves task context. Header tabs precede New note; filters follow search.
- Focused workspace, editor and shared-primitives suites passed all 93 tests.
`npm run typecheck` and targeted ESLint passed. No full `npm test` was run.
- Reused the temporary Electron renderer probe at 1280x820, 600x760,
600x520 dark and 420x640. The 134x36 header switch precedes New note at all
four sizes. Search/filter share a row at 1280 and 600; filters wrap at 420.
The wide list's width, top, scroll and adjacent row coordinates remain equal
before and after task selection/switching. Narrow returns preserve nonzero
list scroll and restore focus. No horizontal overflow or console errors.
- Also verified source-note round trips at all sizes, actual Quill draft
confirmation, note-card return, AI visibility, task completion/status filters,
AI fixture results, creation and Chromium keyboard activation.
- Visible-window capture initially failed with Electron `UnknownVizError`.
Final probe uses Electron offscreen rendering at scale 1, pointer input and
Chromium DevTools keyboard input. It runs production React/Quill/CSS with
in-memory API fixtures, not the full App/Main/SQLite/model path. Model calls: 0.
Evidence remains under the temporary `opencode` directory in
`magic-notes-render-results.json` and `magic-todos-*-expanded.png`.
## 2026-09-18: Independent Todo Task View
- Replaced todo full-page navigation with a grouped task list and one inline
expansion for instructions, source content and AI comments. Completion works
directly in each row. Search/status controls stay above the scrolling list;
source-note navigation retains expansion, filters and initiating focus.
- Kept the note-card overview and note editor/AI layout. Notes/To-dos PageTabs
now size to their contents at desktop and narrow widths. Source failures offer
an inline retry alongside the existing notification.
- Focused command: `npx vitest run src/renderer/src/MagicNotesWorkspace.test.tsx src/renderer/src/MagicNoteEditor.test.tsx src/renderer/src/WorkspacePrimitives.test.tsx`:
93 tests passed. `npm run typecheck` and ESLint on the workspace, its tests and
both changed locale modules passed. Full `npm test` was not rerun, as requested.
- Reused the isolated Electron renderer probe at requested content sizes
1280x820, 600x760, 600x520 (dark) and 420x640. All four todo views retained
18 tasks, inline expansion, independently scrolling lists and no horizontal
overflow or detail/AI sidebar. Tabs measured approximately 133x35 CSS pixels.
Note-card navigation, actual Quill draft confirmation, AI visibility, source
navigation, direct completion, status filters and inline AI fixture output passed;
the renderer reported no console errors.
- The probe uses production React, Quill and CSS with in-memory API fixtures and
isolated Electron sessions; it does not validate Main/SQLite or a live model.
Model calls: 0. Scripts, screenshots and JSON results remain in the existing
temporary `opencode/magic-notes-render-*` probe location.
## 2026-09-18: Card Overview and Detail Navigation
- Replaced the persistent inner list with a responsive card overview and explicit
detail navigation. Search, todo filters, overview scroll and initiating focus
survive a round trip. Creation opens the new note; todo source navigation returns
to the todo overview. Back navigation protects entry and title drafts.
- Kept AI visibility and resizing preferences, removed obsolete list resizing,
and capped stacked AI height so short windows retain usable editor space.
- Focused workspace, editor and shared UI suites passed 90 tests. Typecheck and
full lint passed. The first full test invocation exceeded its 200-second limit.
- Isolated Electron rendering exercised the actual workspace, Quill and CSS at
1280x820, 600x760, 600x520 (dark), and 420x640. Navigation, creation, todo-source
jumps, draft confirmation, AI visibility, scroll and focus restoration passed.
These checks used in-memory API fixtures, not Main/SQLite integration; no real
model calls were made. Canvas functionality is outside this layout change.
## 2026-09-17: Note List Action Menu
- Moved pin/unpin and whole-note deletion from the editor header to each note's