2026-10-06 用户要求:关闭 cmsp 前检查用于淘宝下载的专属 Chrome;若仍在运行,先关闭浏览器再退出。用户明确指令“建工单,做”。
Wails 目前只在 OnShutdown 关闭 SQLite。仓库已有 CloseBrowser,可通过状态文件 PID 和进程命令行的专属 Profile 校验后关闭,但当前使用 taskkill /F;OnBeforeClose 可阻止本次窗口关闭。取视频 Runner.Stop 会请求停止,当前下载可能仍需完成。
不改变淘宝登录判定、MTOP 请求、视频采集算法或 erpgo 上传流程;不删除 Chrome Profile。
属于浏览器进程归属与全局停止门高风险变更。误关普通 Chrome 和退出时写库竞态为重点风险。回退本次 OnBeforeClose/关闭逻辑即可恢复原退出行为;不涉及 SQLite 迁移。
实施后更新 Local-Development-and-Verification 与 Business-Rules-and-Glossary Wiki,在线回读并同步核心镜像。
项目未提供 Gitea MCP 工具,本单使用 Gitea API 回退。
实施完成,提交并推送:05003da(main)。
最终差异:Wails OnBeforeClose 在取视频任务运行时先请求停止并阻止本次退出;任务结束后再次关闭。无运行任务时,只对状态文件、进程命令行、Profile、Chrome 路径、调试端口和 CDP 页面均可验证的专属 Chrome 发送 Browser.close;超时后重查 PID 归属才强制关闭。归属不明时保留浏览器,避免误关日常 Chrome;不读写 Cookie 或 Profile。
验证:go test ./... -count=1、go test -race ./...、go vet ./...、python dev_scripts/harness.py check --strict、python dev_scripts/harness.py sync --check 均通过;Wails v2.16.0 Windows/amd64 构建成功,build/bin/cmsp.exe 已生成。单元测试覆盖任务停止、正常关闭、PID 复用、Profile/端口/CDP 不匹配及外部 WebSocket 拒绝。未执行真实 Chrome 进程退出与 Wails 窗口交互真机验收,需使用者在目标机器验证专属 Chrome 关闭、日常 Chrome 保留、Profile 保留及运行中任务退出提示。
长期文档:Business-Rules-and-Glossary revision 6deec49c2ba48aaf96a5842b4d525352afd6cf87;Local-Development-and-Verification revision 697d2e353c3b4b3f6648b7a08e4752235c42c7e7。已在线回读、同步本地镜像并通过一致性检查;镜像随 05003da 提交。Gitea MCP 当前不可用,按仓库规则回退 Gitea API。
05003da
No dependencies set.
The note is not visible to the blocked user.
来源与目标
2026-10-06 用户要求:关闭 cmsp 前检查用于淘宝下载的专属 Chrome;若仍在运行,先关闭浏览器再退出。用户明确指令“建工单,做”。
当前事实
Wails 目前只在 OnShutdown 关闭 SQLite。仓库已有 CloseBrowser,可通过状态文件 PID 和进程命令行的专属 Profile 校验后关闭,但当前使用 taskkill /F;OnBeforeClose 可阻止本次窗口关闭。取视频 Runner.Stop 会请求停止,当前下载可能仍需完成。
实施范围与方案
非目标
不改变淘宝登录判定、MTOP 请求、视频采集算法或 erpgo 上传流程;不删除 Chrome Profile。
风险与回退
属于浏览器进程归属与全局停止门高风险变更。误关普通 Chrome 和退出时写库竞态为重点风险。回退本次 OnBeforeClose/关闭逻辑即可恢复原退出行为;不涉及 SQLite 迁移。
验收
文档影响
实施后更新 Local-Development-and-Verification 与 Business-Rules-and-Glossary Wiki,在线回读并同步核心镜像。
工具说明
项目未提供 Gitea MCP 工具,本单使用 Gitea API 回退。
实施完成,提交并推送:05003da(main)。
最终差异:Wails OnBeforeClose 在取视频任务运行时先请求停止并阻止本次退出;任务结束后再次关闭。无运行任务时,只对状态文件、进程命令行、Profile、Chrome 路径、调试端口和 CDP 页面均可验证的专属 Chrome 发送 Browser.close;超时后重查 PID 归属才强制关闭。归属不明时保留浏览器,避免误关日常 Chrome;不读写 Cookie 或 Profile。
验证:go test ./... -count=1、go test -race ./...、go vet ./...、python dev_scripts/harness.py check --strict、python dev_scripts/harness.py sync --check 均通过;Wails v2.16.0 Windows/amd64 构建成功,build/bin/cmsp.exe 已生成。单元测试覆盖任务停止、正常关闭、PID 复用、Profile/端口/CDP 不匹配及外部 WebSocket 拒绝。未执行真实 Chrome 进程退出与 Wails 窗口交互真机验收,需使用者在目标机器验证专属 Chrome 关闭、日常 Chrome 保留、Profile 保留及运行中任务退出提示。
长期文档:Business-Rules-and-Glossary revision 6deec49c2ba48aaf96a5842b4d525352afd6cf87;Local-Development-and-Verification revision 697d2e353c3b4b3f6648b7a08e4752235c42c7e7。已在线回读、同步本地镜像并通过一致性检查;镜像随
05003da提交。Gitea MCP 当前不可用,按仓库规则回退 Gitea API。[进行中] 退出 cmsp 前安全关闭淘宝专属 Chrometo [待验收] 退出 cmsp 前安全关闭淘宝专属 Chrome