修复AI游戏创作壳跨平台启动 #107
Reference in New Issue
Block a user
Delete Branch "codex/ai-game-creator-app-mh"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
修复 macOS 下 Unix 文件身份比较和临时目录测试兼容
隔离 AI 游戏创作本地数据库与发布身份并阻止旧 schema 降级启动
完善 Tauri 开发栈错误传播和 POSIX 子进程树清理
跳过 macOS 不支持的进程指标回调以消除周期告警
补充开发调度测试、技术方案和团队排障记忆
[P1] scripts/dev.mjs (line 1691):发布身份按包含端口的 URL 持久化。SpacetimeDB 端口漂移后会生成新 identity,再用新 owner 更新原数据库,稳定触发 403。identity 应绑定 data dir/本地节点,而非监听端口。
[P1] start-dev-stack.mjs (line 216):专用 data dir 只在新建后端时传入;现有复用逻辑仍只校验数据库名和健康状态。旧共享目录、旧 owner/schema 的同名后端会被直接复用,绕过本 PR 的隔离与 fail-close。
[P2] start-dev-stack.mjs (line 222):后端 ready 前,detached 进程句柄尚未交给外层。实测启动期 SIGTERM 后父进程和后端进程组都仍存活;超时/异常也会残留 npm、Cargo、SpacetimeDB。
[P2] start-dev-stack.mjs (line 153):POSIX 改成直接 spawn 后没有监听 error。实测 npm 不可解析时直接抛 Unhandled 'error' event: spawn npm ENOENT,没有进入统一错误和清理链路。
[P2] start-dev-stack.mjs:233-240:direct child 已退出时 stopChild() 直接返回,不再清理 POSIX 进程组。实测 leader 退出码 42 后,遗留 descendant 仍存活。应保存 PGID,并在 leader 退出后仍尝试负 PGID kill。
仓库门禁仍阻塞:head 不包含最新 base 27f66bf0。Repository checks 和 Backend tests 都明确因此失败。虽然合并无冲突,但需要先更新 base 再重跑 CI。Native shell job 另因 crates.io TLS EOF 失败,不能算通过。