Commit Graph
46 Commits
Author SHA1 Message Date
Agent Board d16eccfe10 chore: checkpoint pi lab rust integration work 2026-07-11 20:39:18 +08:00
Agent Board d47f6447fd fix: restore pi rust builtin tool surface
- expose Pi Rust built-in tools by permission mode instead of replacing them with MNote file tools
- update Pi Lab smoke coverage for native ls/read/bash usage
- document the overreplacement regression and verification evidence
2026-07-11 20:34:21 +08:00
Agent Board 896c94b696 feat: integrate pi rust lab runtime 2026-07-10 10:54:34 +08:00
lix-2026 a1dcfc9f76 fix: use readonly preview for code resource tabs 2026-06-04 23:00:53 +08:00
lix-2026 eccf399142 fix: limit resource preview watches to active tab
Root cause: every local resource preview tab kept its own /api/local-folder/events EventSource alive. Hidden PDF and Office tabs consumed browser same-origin connection slots, so later preview iframes/file reads stalled and rendered as blank pages.

Changes:
- keep passive resource file watching active-tab only
- close inactive resource-tab EventSources on tab activation and release
- update the bug record with the PDF fifth-open and XLSX fourth-open repro and verification

Verification:
- node --check rust/crates/mnote-web/browser/document-resource-tab-runtime.js
- cargo test -p mnote-web --manifest-path rust/Cargo.toml pdf_preview_page_does_not_render_visible_toolbar
- cargo test -p mnote-web --manifest-path rust/Cargo.toml document_shell_returns_page_aggregate_snapshot
- cargo build -p mnote-web --manifest-path rust/Cargo.toml
- browser smoke: opened 5 XLSX previews; #4 and #5 completed with tableCount=1
- browser smoke: opened 5 DHA PDFs; #5 rendered 8/8 canvases, iframeCount=0, browser errors=0
2026-06-04 21:00:42 +08:00
lix-2026 627213dc01 feat: add evidence search and stabilize pdf previews
- add document evidence parsing/search/open routes, Hermes tool wiring, local index settings/status, and the document-evidence skill plus design notes
- fix PDF resource tabs by rendering PDFs inline with pdf.js canvases instead of iframe preview pages, release PDF documents on close, and document the fourth-PDF stall bug
- keep PDF preview at 2x rendering while removing the previous lazy-load/placeholder direction, and make dev:hot bind loopback defaults externally reachable

Verification:
- node --check rust/crates/mnote-web/browser/document-resource-tab-runtime.js
- node scripts/task-dev-hot-plan-test.js
- cargo test -p mnote-web --manifest-path rust/Cargo.toml pdf_preview_page_does_not_render_visible_toolbar
- cargo test -p mnote-web --manifest-path rust/Cargo.toml document_shell_returns_page_aggregate_snapshot
- cargo build -p mnote-web --manifest-path rust/Cargo.toml
- browser smoke: sequentially opened the four tea_seed_oil_cosmetic PDFs; fourth PDF rendered 15/15 canvases, iframeCount=0, browser errors=0
2026-06-04 18:51:16 +08:00
lix-2026 9f4b5c4d48 fix: stabilize local folder AI document workflow
- scope local-folder PageTree revision and document sidebar rendering to fileTreeScope

- preserve projected table/image attrs for local Markdown aggregate fallback

- avoid FileTree restore forced layouts on cold design open

- add API ChatOnly provider runtime and local OCR task handling regressions
2026-06-02 17:17:49 +08:00
lix-2026 610b23d3a5 收口 MinerU OCR 任务链与上下文 2026-06-01 10:30:42 +08:00
lix-2026 1481de2018 推进 OCR UI 与 provider 删除验收 2026-06-01 10:07:42 +08:00
lix-2026 1882db7681 收口 MNote P0 P1 P2 审查尾项
- 归档 OnlyOffice live bridge、Page AI、mindmap、design governance 与相关 bug 条目
- 补齐 MinerU OCR 后端 runtime 合同与 smoke/test 基线
- 收口 ChatOnly/Doubao、ObjectIdentity、Page Aggregate compat 与 runtime owner 文档口径

验证:
- cargo test --manifest-path rust/Cargo.toml -p mnote-web local_ocr -- --test-threads=1
- cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1
- git diff --check
- git diff --cached --check
- codegraph index . --force && codegraph status .
- codegraph sync . && codegraph status .
2026-06-01 09:29:12 +08:00
lix-2026 bd7470d03e Fix starred scope page tree and local edit save 2026-05-27 13:50:31 +08:00
lix-2026 3ae33cc21d Improve local filetree view state and sidebar performance 2026-05-27 11:31:12 +08:00
lix-2026 8cd8b44db3 fix: stabilize local attachment icons and office proxy urls 2026-05-26 09:44:35 +08:00
lix-2026 36a5a0dc3a test: restore mnote-web lib baseline 2026-05-25 23:34:03 +08:00
lix-2026 f0c01404c4 docs: close runtime extraction checklists 2026-05-25 22:36:04 +08:00
lix-2026 ab34050742 fix: stabilize block menu undo focus 2026-05-25 02:03:47 +08:00
lix-2026 018eb6ccc2 fix: restore block menu delete undo 2026-05-25 01:45:03 +08:00
lix-2026 cafd29a963 fix: preserve undo for attachment link deletion 2026-05-24 19:55:37 +08:00
lix-2026 9c4bb58257 fix: align local markdown conflict and title behavior 2026-05-24 18:16:05 +08:00
lix-2026 289a44acea fix: drop files on markdown row into same folder 2026-05-24 13:59:54 +08:00
lix-2026 36eac664f2 complete local markdown resource lifecycle contract 2026-05-24 03:22:03 +08:00
lix-2026 6df74fb4e0 fix local markdown resource missing tabs and title setting 2026-05-24 03:01:34 +08:00
lix-2026 6904588055 test local resource row focus 2026-05-24 02:40:15 +08:00
lix-2026 ae6bbc9656 fix local folder upload intent contract 2026-05-24 02:34:52 +08:00
lix-2026 6d9d8ce9cd fix local folder resource lifecycle and workspace switch 2026-05-24 02:23:48 +08:00
lix-2026 97953101a2 fix local folder resource lifecycle 2026-05-24 01:49:51 +08:00
lix-2026 5f97800489 chore: align local-first control plane and editor fixes
- wire SQLite control-plane access/session paths into Rust web local-folder routes

- preserve local Markdown attachment semantics across upload, reload, and secondary-pane resource tabs

- refresh design governance docs, Reasonix task templates, and bug records

- retire root .mcp.json local MCP config
2026-05-23 23:38:42 +08:00
lix-2026 dc18ec0a60 fix: 收口批次D并修复本地垃圾箱清空 2026-05-21 15:45:11 +08:00
lix-2026 1956a8a21a chore: align mvp design governance
- 统一 local-first MVP 后阶段架构口径,补充 process 执行总序和 Reasonix 协作记录

- 归档已完成的 design checklist,标注参考型 process,更新 AGENTS/REASONIX/架构文档

- 补充文件树/主编辑器下载与上下文菜单相关实现、bug 记录和 smoke 脚本

验证:git diff --check;codegraph sync .;cargo test -p mnote-web;node --check scripts/task476-filetree-editor-context-menu-download-smoke.js
2026-05-21 09:04:13 +08:00
lix-2026 eba1010191 fix local office resource editing
- add local-folder OnlyOffice sign/callback writeback and edit-tab handling

- align main resource tabs, attachment edit menu, slash isolation, and filetree context behavior

- record Sidex/Hermes gap reviews and Reasonix task checklists
2026-05-21 05:40:06 +08:00
lix-2026 cdff672aa5 feat: align local-first workspace direction
Document the VSCode-like local-first product shape, demote Convex to a control-plane role, and retire stale architecture drafts.

Add local workspace migration/export references plus smoke coverage for no-Convex managed workspace startup, local markdown title/body/options persistence, asset upload behavior, and Convex fixture export.

Verification: git diff --cached --check; node scripts/check-local-first-convex-guard.js --staged; node scripts/task444-convex-workspace-export-local-fixture-smoke.js; node scripts/task166-local-first-managed-workspace-no-convex-smoke.js; node scripts/task167-local-markdown-title-body-options-no-convex-smoke.js
2026-05-19 08:11:58 +08:00
lix-2026 a2cb1338c8 chore: 保存当前架构收口与 bug 修复快照
归档本轮 P0/P1 bug 修复、设计审查迁移、AI selection scope 收口与 stream contract 调整,并保留当前 05 主线迁移起点。
2026-05-18 17:01:35 +08:00
lix-2026 61ee4a38a2 docs: update architecture review notes
- clarify Rust SSR shell, WS/SSE transport status, and Next legacy role

- add Reasonix block edit workflow empty block ops bug record

Verification:

- git diff --check -- CURRENT_ARCHITECTURE.md design/10-review/process/11-current-full-architecture-review-v1.md bugs/07-ai/process/7-25-reasonix-block-edit-workflow-empty-block-ops-after-markdown-match-v1.md
2026-05-17 23:16:37 +08:00
lix-2026 3311bd0366 chore: document architecture gaps and add dev hot reload
- add npm dev:hot wrapper using cargo-watch and page reload polling

- add mnote-web dev hot reload endpoint and coverage

- record current architecture review and tracked bug findings across realtime, tree, editor, and AI runtimes

Verification:

- node scripts/task-dev-hot-plan-test.js

- node --check scripts/dev-hot.js

- cargo test -p mnote-web dev_hot -- --nocapture
2026-05-17 23:09:56 +08:00
lix-2026 bb2f190f50 feat: stabilize page AI ACP runtimes
实现并稳定页面 AI 的 ACP Hermes / ACP Reasonix 运行路径。

主要内容:

- 分离 profile 与 acpRuntime,ACP Hermes 按所选 Hermes profile 启动并注入 provider key。

- 修复 Reasonix ACP wrapper 的 API key 读取、ToolRegistry 注册、LoopEvent role 映射和 reasoning/final 分流。

- 修复 ACP agent_thought_chunk 被 untagged enum 误解析为 message.delta 的问题,补充 thought 相关单测。

- 补充页面 AI 浏览器验证 skill 证据到 7-15 设计稿,并记录严格验收标准。

- 同步提交当前仓库中已存在的 rust-web / Hermes tools / SSE / bug 文档相关改动。

验证:

- node --check scripts/reasonix-acp-wrapper.mjs

- cargo test -p mnote-web acp -- --nocapture

- 页面 AI ACP 浏览器验证:tmp/page-ai-acp-browser-UAYwyM/
2026-05-17 20:11:39 +08:00
lix-2026 2ea559beaa chore: move 3-14 WS push design to done/ 2026-05-17 16:15:52 +08:00
lix-2026 46ede5e251 08 定向 Bug Hunt + 架构文档刷新
## 08 定向 Bug Hunt(3.5)

- Bug 1: 侧栏「复制页面」从 `/api/documents/duplicate` 迁移到
  `copyTreeCommand()` → `/api/tree/commands`(`tree.subtree.copy`)
- Bug 2: 侧栏「清空垃圾箱」标注 TODO,等待 Rust `tree.trash.empty`
- Bug 3: 文档页「应用模板」标注 TODO,等待 Rust `tree.page.template`
- Bug 4: 删除 `createChildDocumentCommand` 死代码(函数 + 类型 + 旧
  Next.js `/api/documents/create-child` 路由)
- 归档 4 份 bug 文档到 `bugs/04-tree-domain/done/` 和
  `bugs/05-editor-mainline/done/`

## 架构文档刷新

- ARCHITECTURE.md: MVP 状态标记、三层树模型(§6.4)、8.4 AI 方向按 7-14 v2
  修正、新增 8.5 定向 Bug Hunt 节、刷新 §5 和 §9 卡点描述
- AGENTS.md: 匹配 ARCHITECTURE.md 的 AI 方向和三层模型口径
- 08 checklist: 标记 7-14 v2 影响(Phase A/B/C 重命名、新增 9 项 checklist)

关联设计稿: 7-14 v2, 08
2026-05-16 23:48:41 +08:00
lix-2026 f292c6710a feat: EditorRuntimeActor - 三层缓存/delta/事件架构
Phase A — EditorRuntimeActor 内存缓存层
- 新增 editor_actor.rs: EditorBlockDocument 内存态 + apply_command + load_or_init
- block.rs 四个写工具(replace/insert/delete/move)接入 actor 路径
- editor_actor feature flag(MNOTE_WEB_ENABLE_EDITOR_ACTOR=true 默认开启)
- bridge-runtime 三个核心函数公开化
- rust-toolchain: 1.89 → stable(修复 spike WASM 编译阻塞)

Phase B — 编辑器增量 delta channel
- BlockDelta/DeltaOperation 类型 + actor.build_block_delta()
- leptos-tiptap spike: mnote:editor:block-delta CustomEvent 监听 + JSON patch
- DocumentAiAgentPanel: 拦截 blockDelta → window dispatchEvent
- 工具响应含 blockDelta 字段供前端消费

Phase C — 事件 stream delta
- broadcast channel 在 AppState/actor/SSE 三层贯通
- tree_events SSE 端点发 block.delta 事件
- 旧客户端降级兼容

环境修复
- rustc recursion_limit = 1024(修复 Leptos SSR 类型深度溢出)
- run-convex-deploy.js(封装 Convex function 部署到本地后端 3210)

ref: design/07-ai/process/7-13-page-block-editor-runtime-actor-v1.md
2026-05-16 22:03:30 +08:00
lix-2026 384da4e44c feat(tree): checkpoint resource lifecycle work
提交当前顶层 mnote Git 工作区,范围集中在 04-tree-domain 的 resource/trash/filetree 生命周期、mnote-web resource_trash 路由、Convex/Next 兼容接口、sidebar/file-tree 客户端适配、smoke 脚本与对应设计/bug 记录。

不包含被 ignore 的 design/05-editor-mainline/reference-code/leptos-tiptap 嵌套仓库改动。新增 smoke 的测试密码改为运行时读取 MNOTE_E2E_PASSWORD,避免提交明文 credential assignment。
2026-05-16 07:38:45 +08:00
lix-2026 274779c0d8 fix(tree): stabilize filetree mindmap switching
Open filetree mindmap assets inside the primary document pane so the sidebar root is not rebuilt during rapid mindmap/page switching.

Keep filetree active rows on doc:<documentId> and asset:<mindmapId>, shorten generated mindmap filenames, and preserve legacy index rows only as compatibility input.

Add task438-task445 browser smokes and close the 4-27/4-38/4-39/4-40 tree-domain bug records.
2026-05-16 07:11:06 +08:00
lix-2026 9816035491 feat(ai): switch page ai to hermes panel 2026-05-14 15:10:33 +08:00
lix-2026 ca9366232e fix(mnote-web): 即时显示页面内新建思维导图 2026-05-14 09:05:18 +08:00
lix-2026 2a9650d551 fix(mnote-web): 主文档壳本地应用树命令 2026-05-14 07:35:25 +08:00
lix-2026 8f52112878 fix(sidebar): 让文件树即时应用页面和资源变更 2026-05-14 06:51:10 +08:00
lix-2026 96e03645f7 chore: 收口 review 执行清单与 runtime 验证
- 补齐 design/10-review 执行清单、验收标准与相关设计治理记录

- 迁移已完成的 tree、mindmap、runtime fallback、AI kernel 等设计和缺陷条目

- 推进 Rust Web runtime、tree/sidebar、page aggregate、mindmap 与 OnlyOffice 路由侧验证支撑

- 增加 task177-task180 smoke/audit 脚本及前端相关测试覆盖
2026-05-14 05:52:08 +08:00
lix-2026 b4a452a8b7 20260513 mindmap优化01 2026-05-13 22:43:16 +08:00