日期:2026-06-26
用户确认先做 Phase 3.6.1。目标是继续补齐 .mindraw native 文件体验:active .mindraw 的普通 Save As... 应创建新的 .mindraw 目录包,并提供原生 picker 直接打开 .mindraw package document。
0.8.2。File > Open Mindraw Package... 菜单项。select_mindraw_package,原生 picker 可返回 .mindraw package path。openMindrawPackageFromPicker(),picker 选包后走 openDirectoryOrDocument() 打开。saveCurrentFileAs(),active .mindraw 普通 Save As... 分流到 save_mindraw_package_as;普通 .excalidraw 仍走 save_file_as。.mindraw 使用 原名 copy.mindraw,.excalidraw 使用 原名 copy.excalidraw;后端只接收文件名,不接收路径片段。CHANGELOG.md、CODEGRAPH.md、INDEX.md、02-P/plan-progress.markdown、03-O/C2.builds/README.md。02-P/qa/mindraw-phase361-native-file-polish-check.md。03-O/C2.builds/releases/Build202606260113/Mindraw_0.8.2_aarch64-Build202606260113.dmg。7d93c4d,Release 0.8.2 native file polishv0.8.2-Build202606260113Open Mindraw Package... 不替代 Open Directory;它是专门选择 .mindraw package document 的 native 文件入口。Save As Mindraw Package... 保留,用于从 .excalidraw 显式转存 .mindraw;active .mindraw 下普通 Save As... 直接走 package save flow。src/hooks/useMenuHandler.tssrc/hooks/useMenuHandler.test.tssrc-tauri/src/lib.rssrc-tauri/src/menu.rspackage.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.jsonCHANGELOG.mdCODEGRAPH.mdINDEX.md02-P/plan-progress.markdown02-P/qa/mindraw-phase361-native-file-polish-check.md03-O/C2.builds/README.md03-O/C2.builds/releases/Build202606260113/release-manifest.txt(构建产物目录记录,未纳入 Git)npm run test:run -- src/hooks/useMenuHandler.test.ts:PASS,24 个测试通过。npm run test:run -- src/store/useStore.test.ts src/hooks/useKeyboardShortcuts.test.tsx src/lib/mindrawDeepLink.test.ts src/lib/documentFormat.test.ts:PASS,49 个测试通过。cargo test --manifest-path src-tauri/Cargo.toml:PASS,38 个测试通过。cargo check --manifest-path src-tauri/Cargo.toml:PASS。npm run build:PASS,仍有既有字体、dialog dynamic/static import 和 chunk size warning。BUILD_ID=202606260113 npm run package:mindraw:PASS。.app 经 ad-hoc 重签名后 codesign --verify --deep --strict:PASS。/Applications/Mindraw.app 安装版版本为 0.8.2,strict codesign:PASS。.mindraw package mdls 显示 com.mindraw.document,type tree 包含 com.apple.package:PASS。.mindraw 普通 Save As... 生成新 .mindraw 包:PASS。Open Mindraw Package... picker 可直接选择 .mindraw package 并返回主窗口打开:PASS。8833797e7c00bbe7751e5745ce91e3bec0708ed980eab316364901ec1a4210be。cargo fmt --manifest-path src-tauri/Cargo.toml -- --check 仍因本机 stable toolchain 未安装 rustfmt 未执行成功。cargo test --locked --manifest-path src-tauri/Cargo.toml 因版本提升后本地 ignored Cargo.lock 需要更新而未执行成功,已用非 locked Rust 全量测试替代。.mindraw 文档 smoke 仍只保留自动化覆盖,后续需要更稳定 UI 自动化或人工补证据。