Skip to content

chore(dashboard): ship the rebuilt chat bundle for the Goal-scoped refresh - #4560

Merged
huangruiteng merged 1 commit into
mainfrom
codex/ship-progressive-lifecycle-refresh
Sep 16, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/ship-progressive-lifecycle-refresh

Conversation

@huangruiteng

Copy link
Copy Markdown
Collaborator

动机

loopx/web/chat 是 git-tracked 的 chat 呈现 bundle。上一刀(#4559,已合并 7153f8f)改了渐进加载的刷新语义,但已安装的 LoopX 仍提供旧 bundle,暂停 Goal 之后依旧整屏重载。缺这一刀,#4559 不生效。

改动思路

只做"把已合并源码变更带给已安装产物":重建、轮转保留代次、更新入口。bundle 内容完全由含 #4559 的 origin/main 决定。

具体改动

  • npm run build:chat(tsc --noEmit && vite build --config vite.chat.config.ts)。
  • 新入口 loopx/web/chat/assets/index-67F_HQF0.js;退役 assets/index-iZK4CVmp.js。
  • 上一代 assets/index-CZNb4Zfe.js 保留为可回滚代次;index.html 与 asset-retention.json 随轮转更新;CSS 入口未变。

对主干的风险

低。生成物提交,无运行时、契约、权限或投递语义变更。保留上一代使已加载旧页面的客户端仍能拉取其 JS。

我的整体评价

正向且 proportional:#4559 的必要配套,单独成 PR 便于独立回滚。

Validation:

  • npm run build:chat 成功(内建 tsc --noEmit 通过)。
  • python3 examples/dashboard-pwa-bundle-smoke.py → ok。
  • 产物核对:新 bundle 含源改动标记「正在连接管家」;asset-retention.json 恰两代且含上一代 JS;磁盘上两代 JS 均存在。
  • loopx canary premerge --from-git-diff → merge_gate_passed: true,surfaces general;advisory 为 clean origin/main 已知基线。
  • 合并后会重新 promote 本机安装并做 HTTP 读回。

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

English verdict: APPROVE

…fresh

loopx/web/chat is tracked, so the Goal-scoped refresh in dashboard-page.tsx only
reaches an installed LoopX after the bundle is rebuilt and committed.

Rebuilt with npm run build:chat from main at 7153f8f. New entry
assets/index-67F_HQF0.js; assets/index-iZK4CVmp.js retires, and the previous
generation assets/index-CZNb4Zfe.js stays retained for rollback.

Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Exact head reviewed: fd03fc2

动机

loopx/web/chat 是 git-tracked 的 chat 呈现 bundle。上一刀(#4559,已合并 7153f8f)改了渐进加载的刷新语义,但已安装的 LoopX 仍提供旧 bundle,暂停 Goal 之后依旧整屏重载。缺这一刀,#4559 不生效。

改动思路

只做"把已合并源码变更带给已安装产物":重建、轮转保留代次、更新入口。bundle 内容完全由含 #4559 的 origin/main 决定;审查面是生成物与声称源码的一致性。

具体改动

  • 运行 npm run build:chat(= tsc --noEmit && vite build --config vite.chat.config.ts)。
  • 新入口 loopx/web/chat/assets/index-67F_HQF0.js;退役 assets/index-iZK4CVmp.js。
  • assets/index-CZNb4Zfe.js 保留为上一代可回滚代次;index.html 与 asset-retention.json 随轮转更新;CSS 入口未变。

对主干的风险

低。生成物提交,无运行时、契约、权限或投递语义变更。保留上一代使已加载旧页面的客户端仍可拉取其 JS。

我的整体评价

正向且 proportional:#4559 的必要配套,单独成 PR 便于独立回滚。

Evidence:

  • exact head fd03fc2
  • npm run build:chat: passed(内建 tsc --noEmit 通过)
  • python3 examples/dashboard-pwa-bundle-smoke.py: ok
  • 产物核对:新 bundle 含源改动标记「正在连接管家」;asset-retention.json 恰两代且含上一代 JS;磁盘上两代 JS 均存在
  • loopx canary premerge --from-git-diff: merge_gate_passed true, surfaces general;advisory 为 clean origin/main 已知基线
  • 合并后将重新 promote 本机安装并做 HTTP 读回

English verdict: APPROVE

@huangruiteng
huangruiteng merged commit c159df1 into main Sep 16, 2026
5 checks passed
@huangruiteng
huangruiteng deleted the codex/ship-progressive-lifecycle-refresh branch September 16, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant