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.
7.3 KiB
7.3 KiB
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 typecheckand targeted ESLint passed. No fullnpm testwas 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 temporaryopencodedirectory inmagic-notes-render-results.jsonandmagic-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 typecheckand ESLint on the workspace, its tests and both changed locale modules passed. Fullnpm testwas 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 action menu, following the UI design system. The menu uses existing update/delete IPC and shared destructive confirmation.
- Added regression coverage for menu keyboard behavior, portal placement, dismissal, pin ordering, revision failures, deletion and retained drafts.
- The focused Magic Notes suite passed 42 tests. The combined Magic Notes, conversation and shared-primitives suites passed 332 tests. Typecheck and targeted ESLint passed.
- Full
npm test: 370 files and 4,440 tests passed, 2 files and 3 tests failed, 9 files and 67 tests skipped. Two heartbeat migration fixtures relabel a current database as an old version and fail on the existingpinnedcolumn. One OpenCode runtime-reuse request timed out; its two tests passed on isolated rerun. - Full lint reported 22
documentno-undef errors in the unrelated, untrackeddocs/features/story-graph/demo.js. No unrelated files were changed to resolve these validation failures. Interactive Electron and touch verification remain unperformed.
2026-09-15: Automatic External Refresh
- Implemented the shared-database notification and Main/preload subscription described in technical design.
- The open workbench reloads external changes while retaining current selection and unsaved drafts. Deleted notes and edited entries retain drafts with an explicit explanation. The cancelled manual-refresh proposal is not implemented.
- An initial completed
npm testrun passed 357 files and 4,201 tests, with 9 files and 67 tests skipped (680.45 seconds). The first invocation had exceeded the command tool's 120-second limit. - After three additional renderer race/retry tests, the final
npm testrun reported 355 files and 4,202 tests passed, 9 files and 67 tests skipped, and two unrelated timeout failures: the large offline dependency inventory test intests/agent-package.test.ts(60 seconds), and the two-project OpenCode case insrc/main/agent/local-runtime-reuse.test.ts(40-second request timeout). - Rerunning those two files together passed 24 tests with one skipped in 103.71 seconds, without source or timeout changes. The final renderer/preload focused run also passed all 38 tests. No Magic Notes regression failed.
npm run typecheckandnpm run lint: passed. The new required subscription method is also present in the application test API fixture.- Validation uses production SQLite and Agent/MCP gateway code, the production preload with mocked Electron transport, and renderer interaction tests. An interactive Electron window was not exercised. No deployed Agent code or desktop-to-Agent protocol changed, so no separate Linux Host scenario applies.