Files
makelore/.project-docs/30-worklog/current-state.md

51 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Current State
This file is the integrated default-branch snapshot. Feature tasks record progress in `30-worklog/tasks/{task_id}.md` and propose canonical changes for the Integration Gate. Feature tasks must not rewrite this file; it changes only in integration mode.
## Integrated Through
- `86ece3a` / `4dde8f3`:客户端登录七天滑动续期及集成提交。
- `724290e` / `dcc92fc`Main-owned 一键打包提交审核及集成提交。
- `1a19ad9` / `f02e99e`:项目真机预览、待审 Release Owner preview 及集成提交。
- `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。
- `4df0477` / `8dd99c1`:客户端静态发布唯一链路、旧 Compose 协调链退役及安全边界补强。
## Current Focus
客户端面向非专业用户提供“创建小游戏或小程序 → 项目配置中一键提交 → Main 安全打包上传 → 轮询云端构建 → 运营审核”的唯一创建者链路,并以项目级真机预览完成待审版本扫码验收;自定义和缺少类型字段的旧项目不提供该入口。已发布作品优先使用安全投影后的 `play_url``runtime_url` 仅保留一个客户端版本的兼容回退。
## Recently Completed
- 2026-08-08合并登录续期、一键发布和真机预览发布成功后保存精确 app/version/review 映射Renderer 不接触 Token、ZIP 或本地路径。
- 2026-08-08补齐跨平台 Electron E2E fixture、Windows ZIP 预检和异常成功响应安全投影。
- 2026-08-09新建项目支持小游戏、小程序和自定义三类不可变产品类型前两类生成固定 Vite 发布模板,自定义及缺少类型字段的旧项目不显示一键提交入口。
- 2026-08-10删除客户端旧 Compose deploy-check、watcher/arm/upload 协调和手工 ZIP 路由submission binding v2 保留旧 `submitted` 绑定并把旧中间态归一为 `legacy_retired`,同时补齐 Renderer capability、`play_url` 安全投影和本机绑定失败告警。
## In Progress
- 成组集成服务端 Builder、OSS immutable Release、CDN/Edge 与 App 消费链后,使用真实账号和生产配置执行客户端提交到作品播放的整链验收。
## Next Recommended Steps
1. 成组核对服务端 Builder → OSS immutable Release → CDN/Edge 的发布契约与客户端 `play_url` 消费契约。
2. 配置真实生产环境,分别执行“小游戏/小程序创建 → 客户端提交 → 构建与浏览器门禁 → 运营批准 → App 播放”。
3. 核对待审 Owner preview 到期刷新、CDN 发布/撤回、生产监控和告警证据。
4. 在一个客户端兼容版本且服务端与存量数据稳定提供 `play_url` 后,删除 `runtime_url` 回退。
## Open Questions / Blockers
- 客户端与模拟上游回归已完成;真实 Builder、OSS/CDN、运营审核、App 播放、生产账号和环境变量仍待部署环境确认,不能据此宣称生产发布链已经验收。
## Risky Areas
- 一键提交已成功但本机 submission binding 落盘失败时必须保持提交成功、显示固定 `binding_warning` 并继续轮询,避免用户误判上传失败。
- 公共 `play_url` 必须满足 Works Square 同源 HTTPS、无 userinfo/loopback、精确 `/apps/{app_id}/` 路径、无 query/fragment、版本非空且上游标记可播放待审预览仍需绑定当前项目、精确版本和 Release。
- `/api/works/projects/publish-source` 必须在读取凭据和项目文件前校验 Renderer capabilityHost token/base 不能替代该 UI 边界。
- `works-cloud-deploy.json` 仅是已安装数据的兼容文件名,不代表客户端仍拥有自动部署协调器;旧中间态不得恢复为后台任务。
- 刷新凭据、发布 Token、ZIP、幂等键和重试只能由 Electron Main 持有。
- 本地 `projectType` 只决定产品分流和模板选择,不得作为授权依据或替代 Main/服务端的包体校验。
## Last Updated
2026-08-10