集成:完成内置浏览器预检终审记录
This commit is contained in:
@@ -6,7 +6,9 @@
|
||||
- 新建小游戏和小程序会生成平台固定版本的受控 Vite 发布模板,并可使用项目配置中的单一“提交审核”入口;`custom` 和缺少类型字段的旧项目不提供一键发布。
|
||||
- `ProjectType` 不等于 `BuildPreset`:第一期两个可发布产品类型都映射到内部受控 Vite preset;本地 `projectType` 不是授权边界,Main-owned 安全打包、Host API 和服务端包体校验仍必须执行。
|
||||
- 非专业用户只执行一次“提交审核”;构建通过后由运营审核,审核通过即直接发布。
|
||||
- 创建者发布唯一链路是项目配置“一键提交审核” → Main 安全打包 → 服务端版本上传 → 客户端轮询云构建;不恢复独立发布上传页、云部署工作台、Compose/deploy-check、自动 watcher/arm/upload 或手工 ZIP 入口。
|
||||
- 创建者发布唯一链路是项目配置“一键提交审核” → 当前 loopback preview 的客户端 UX 预检 → Main 安全打包 → 服务端版本上传 → 客户端轮询云构建;不恢复独立发布上传页、云部署工作台、Compose/deploy-check、自动 watcher/arm/upload 或手工 ZIP 入口。
|
||||
- 提交前预检必须复用 Makelore 当前项目内置浏览器的受信 HTTP loopback preview,以 fresh 非持久 Electron WebContents/CDP 检查桌面/移动视口、运行错误、白屏与外域访问;不得为此调用 Playwright、执行项目 Vite/config/plugin、安装依赖或污染用户浏览器状态。
|
||||
- 客户端预检是可绕过的 UX fail-fast,不写上传字段,不产生 receipt、project/digest provenance,也不声称具备生产 opaque-origin parity。服务端受控构建、包体与不可变 Release 校验、人工审核仍是唯一不可绕过发布门禁;未来若要求 runtime 强门禁,必须由可信 verifier 绑定精确构建产物。
|
||||
- 待审版本只能通过绑定精确 Release 的短时 Owner preview 验收;旧版本、构建中或失败状态不能生成可扫码假象。
|
||||
- 发布和预览安全边界由 Electron Main 持有,Renderer 不接触账号 Token、ZIP、幂等键和本地绝对路径。
|
||||
- 发布 Host API 必须在读取凭据、查询项目和打包前校验 Renderer capability;仅持有 Host token/base 的非 UI 调用方不得发起发布。
|
||||
@@ -23,9 +25,10 @@
|
||||
## Open Questions
|
||||
|
||||
- 生产整链需要真实账号、Builder、OSS immutable Release、CDN/Edge、运营审核、App 播放与监控环境完成最终验收;当前客户端验证不能替代该验收。
|
||||
- 是否需要在生产发布链引入绑定精确 Release/digest 的可信 runtime verifier;当前客户端 loopback preflight 不能承担该职责。
|
||||
- 在一个客户端兼容版本且服务端与存量数据稳定提供 `play_url` 后,移除 `runtime_url` 回退。
|
||||
- 多 Conversation 客户端发布前需确认服务端迁移 `0033`、Conversation API 与持久 Session 契约已经部署。
|
||||
|
||||
## Last Reviewed
|
||||
|
||||
2026-08-11
|
||||
2026-08-12
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
| `ProjectType` | 创建项目时选择且之后不可变的产品类型 | 当前值为 `mini_game`、`mini_program`、`custom`;缺少字段的旧配置按 `custom` 处理 |
|
||||
| `BuildPreset` | 平台内部用于构建和验收项目包的受控实现 | 不等于 `ProjectType`;第一期小游戏和小程序都使用 Vite preset |
|
||||
| 受控发布模板 | Main 在新建可发布项目时生成的固定依赖、锁文件和可运行示例 | 保障一键提交的结构基线,但本地模板和 `projectType` 本身都不是授权边界 |
|
||||
| Local Preview Preflight | 上传前对当前项目受信 loopback preview 执行的桌面/移动 Electron WebContents/CDP 检查 | 可绕过 UX fail-fast;没有 receipt、project/digest provenance 或生产 opaque-origin parity |
|
||||
| Trusted Runtime Verifier | 未来可将 runtime 检查绑定到精确构建产物/摘要的可信执行方 | 当前未实现;不可用客户端本地预检冒充 |
|
||||
| Submission Binding | 客户端在云端接受上传后保存的精确 app/version/review/hash 绑定 | schema v2 只记录成功提交;落盘文件名暂保留 `works-cloud-deploy.json` 以兼容已安装数据 |
|
||||
| `legacy_retired` | 旧自动部署中间态迁移后的终止状态 | 不恢复 watcher、登录等待或自动上传;提示用户从项目配置重新提交 |
|
||||
| `play_url` | 服务端为已发布作品提供的公共播放地址 | 客户端优先使用并执行同源 HTTPS、精确 App 路径和版本状态校验 |
|
||||
|
||||
Reference in New Issue
Block a user