合并远程主分支客户端收口
This commit is contained in:
@@ -6,7 +6,6 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
|
||||
- `86ece3a` / `4dde8f3`:客户端登录七天滑动续期及集成提交。
|
||||
- `724290e` / `dcc92fc`:Main-owned 一键打包提交审核及集成提交。
|
||||
- `1a19ad9` / `f02e99e`:项目真机预览、待审 Release Owner preview 及集成提交。
|
||||
- `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。
|
||||
- `4df0477` / `8dd99c1`:客户端静态发布唯一链路、旧 Compose 协调链退役及安全边界补强。
|
||||
- `4980894` / `03dae62`:AI 绘画 Enter 发送及同一 Workspace 下的多 Conversation 客户端模型。
|
||||
@@ -15,6 +14,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
- `08da976` / `0ee5254`:AI 编程首次发送已知空 session 快速路径与明确上游饱和终止态投影。
|
||||
- `809364e` / `88281b8` / `7a807a2`:AI 绘画单参考图图生图选择/上传交互、最新客户端主线集成及旧版 Brief medium 缺失兼容。
|
||||
- `f05b9d4` / `e221374`:Updater 稳定源缺包诊断与用户错误脱敏修复,以及当前 `main` 上的图生图最终合并提交。
|
||||
- `f4113a8`:远程主线客户端收口,包含启动预热、课程 Skill、项目 Agent 模型配置、浅色界面整合,并移除独立真机预览与内置 Superpowers。
|
||||
|
||||
## Current Focus
|
||||
|
||||
@@ -28,7 +28,7 @@ Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失
|
||||
|
||||
## Recently Completed
|
||||
|
||||
- 2026-08-08:合并登录续期、一键发布和真机预览;发布成功后保存精确 app/version/review 映射,Renderer 不接触 Token、ZIP 或本地路径。
|
||||
- 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` 安全投影和本机绑定失败告警。
|
||||
@@ -47,8 +47,7 @@ Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失
|
||||
|
||||
1. 成组核对客户端 source+built+contract 上传 → 服务端逐字节校验 → OSS immutable Release → CDN/Edge 的发布契约与客户端 `play_url` 消费契约。
|
||||
2. 配置真实生产环境,分别执行“小游戏/小程序创建 → 客户端本地构建与同字节预检 → 提交 → 服务端合同/摘要校验与不可变 Release 固化 → 运营批准 → App 播放”。
|
||||
3. 核对待审 Owner preview 到期刷新、CDN 发布/撤回、生产监控和告警证据。
|
||||
4. 在一个客户端兼容版本且服务端与存量数据稳定提供 `play_url` 后,删除 `runtime_url` 回退。
|
||||
3. 核对生产环境的提交状态、构建结果和告警证据。
|
||||
|
||||
## Open Questions / Blockers
|
||||
|
||||
@@ -57,7 +56,7 @@ Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失
|
||||
## Risky Areas
|
||||
|
||||
- 一键提交已成功但本机 submission binding 落盘失败时必须保持提交成功、显示固定 `binding_warning` 并继续轮询,避免用户误判上传失败。
|
||||
- 公共 `play_url` 必须满足 Works Square 同源 HTTPS、无 userinfo/loopback、精确 `/apps/{app_id}/` 路径、无 query/fragment、版本非空且上游标记可播放;待审预览仍需绑定当前项目、精确版本和 Release。
|
||||
- 公共 `play_url` 必须满足 Works Square 同源 HTTPS、无 userinfo/loopback、精确 `/apps/{app_id}/` 路径、无 query/fragment、版本非空且上游标记可播放。
|
||||
- `/api/works/projects/publish-source` 必须在读取凭据和项目文件前校验 Renderer capability;Host token/base 不能替代该 UI 边界。
|
||||
- `works-cloud-deploy.json` 仅是已安装数据的兼容文件名,不代表客户端仍拥有自动部署协调器;旧中间态不得恢复为后台任务。
|
||||
- 刷新凭据、发布 Token、ZIP、幂等键和重试只能由 Electron Main 持有。
|
||||
|
||||
@@ -94,15 +94,64 @@ Gate result:
|
||||
|
||||
## Outcome
|
||||
|
||||
- Not completed.
|
||||
- `git fetch origin main --prune` resolved the authoritative remote tip to
|
||||
`f4113a872f7cd6aee6829c9597c882846bc4085b`. The histories had diverged at
|
||||
`253bad8b40c8cd20a25362006f5d80a4e5c4cd4a`: local `main` contained 18
|
||||
integration/preparation commits not on the remote, while the remote contained
|
||||
one consolidation commit not on local `main`.
|
||||
- Merged `origin/main` with `--no-ff --no-commit`, keeping local `main` as the
|
||||
first parent. The only textual conflicts were `README.md` and
|
||||
`.project-docs/20-architecture/data-flow.md`; both were reconciled
|
||||
semantically instead of choosing either side wholesale.
|
||||
- Accepted the remote product consolidation that removes the independent Device
|
||||
Preview capability and the bundled Superpowers distribution, while retaining
|
||||
the reviewed local Updater, image-to-image, first-chat, AI-proxy, publishing,
|
||||
and `/deliverables` behavior. Canonical architecture/current-state documents
|
||||
were updated to remove stale live Device Preview claims and record remote tip
|
||||
`f4113a8` under `Integrated Through`.
|
||||
- Preserved the remote startup warmup, curated course skills, per-Agent model
|
||||
ownership, recursive Skill details, OpenCode path resolution, authentication
|
||||
hardening, light visual consolidation, fonts, and window material changes.
|
||||
- Corrected an upstream course-skill manifest mismatch by retiring the absent
|
||||
`deploy-publish-check` skill instead of advertising it as bundled, with a
|
||||
regression assertion in the manager suite.
|
||||
- Corrected merge-exposed test defects without weakening production behavior:
|
||||
project-config request mocking now receives `RequestInit`; the Windows runtime
|
||||
queue test injects a deterministic port-owner lookup; the legacy agent-folder
|
||||
test accepts the intentionally absent directory; and an unused test binding
|
||||
was removed.
|
||||
- Rebased the Electron E2E contract on the consolidated UI: Code/Canvas enter
|
||||
through the module chooser, hidden module actions are expanded before use,
|
||||
Models is reached through the account/settings flow, Provider seeding uses the
|
||||
Main-owned Host API, and project-backed chat mocks return valid initialized
|
||||
configuration. Two Channels specs were removed because the remote product
|
||||
consolidation removed their UI, route, and Host API rather than relocating
|
||||
them. Stable test IDs were restored to the retained proxy settings controls.
|
||||
- The merge is fully verified and ready for an independent final review and
|
||||
normal push. The final merge commit and remote equality are recorded after
|
||||
those operations complete.
|
||||
|
||||
## Verification
|
||||
|
||||
- Not run.
|
||||
- `pnpm install --frozen-lockfile` — passed.
|
||||
- High-risk focused Vitest selection — 19 files, 494/494 passed.
|
||||
- `pnpm test` — 146 files, 1574/1574 passed.
|
||||
- `pnpm run typecheck` — passed.
|
||||
- `pnpm run lint:check` — passed with 0 errors and 6 existing warnings.
|
||||
- `pnpm run build:vite` — passed.
|
||||
- `pnpm run test:electron:windows` — 3/3 passed.
|
||||
- `pnpm run test:e2e` — rebuilt Renderer/Main/Preload and passed 24/24.
|
||||
- `git diff --check` and `git diff --cached --check` — passed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- None recorded.
|
||||
- Signed packaged updater smoke and live Works Square/Bailian image-to-image
|
||||
smoke remain external release gates; this Git synchronization does not claim
|
||||
that either production environment has been exercised.
|
||||
- A cancelled-before-spawn OpenCode restart can still spend roughly one second
|
||||
probing a Windows port owner. The queue regression is now deterministic; a
|
||||
future performance change should distinguish an attached runtime before
|
||||
skipping that lookup so attached-runtime restart behavior remains intact.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
|
||||
Reference in New Issue
Block a user