真机现象(Windows 11 ARM64,控制台 v2.0.3):点「检查更新」立刻报 「sidecar 已退出(stdout 关闭),请重试」—— sidecar 在请求进行中真的退出了。 真机 A/B(同一个 node.exe、同一份 sidecar.mjs,只换脚本参数写法): C:\…\sidecar.mjs → 2.5 秒返回结果,进程常驻 \\?\C:\…\sidecar.mjs → 0.47 秒退出,exit 1,零 JS 执行 根因:Tauri 的 resource_dir() 在 Windows 上返回 canonicalize 后的 verbatim 路径, 把它当参数交给 node,node 启动期 realpathSync 把 `\\?\C:` 拆成 `C:` → EISDIR ... lstat 'C:' → exit 1,一行 JS 都来不及执行。 本地/CI/开发模式全测不出:开发期走 CARGO_MANIFEST_DIR 的普通路径,只有打包后才暴露。 修法: - 新增 unverbatim():剥 \\?\UNC\ → \\、剥 \\?\ → 无前缀,纯字符串处理,全平台可调用 - 新增 sidecar_command():唯一把路径交给 node 的地方,单测断言其最终 program/args - resolve_node / resolve_sidecar / resolve_bundled_agent 全部出口加闸 - Sidecar::spawn 与 AgentManager::start 进程边界对 node/script/data_dir 三条路径净化 - autostart::app_exe() 净化(该路径进计划任务 -Execute) 回归:新增 3 条守卫;注入故障(去掉 sidecar_command 的 unverbatim)实测第三条如期变红, 还原后 sha256 逐字节一致。pnpm test:rust 17/17(14 → +3),clippy 零告警。
Tauri + Vue + TypeScript
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.