Subscribe the open Magic Notes workspace to committed database changes from desktop and Agent/MCP writes. Preserve selections and unsaved drafts during refresh and external deletion. File-level commit includes existing runtime edits in shared files; their remaining dependencies are still in the working tree. Release note: Magic Notes now updates automatically after Agent/MCP edits while preserving your selection and unsaved drafts.
1.7 KiB
1.7 KiB
Magic Notes Progress
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.