Skip to content

fix(orchestrator): 升级器 maxBuffer 64MB + ✗ 日志截断(实机升级误判修复) - #91

Merged
chumingjun merged 1 commit into
mainfrom
fix/upgrade-maxbuffer
Aug 29, 2026
Merged

fix(orchestrator): 升级器 maxBuffer 64MB + ✗ 日志截断(实机升级误判修复)#91
chumingjun merged 1 commit into
mainfrom
fix/upgrade-maxbuffer

Conversation

@chumingjun

Copy link
Copy Markdown
Owner

背景

v0.7.0 发版后实机验证「设置 → Workflow One → 一键升级」:升级链路跑到源码重建的 build-web.sh 步骤,UI 报 ✗ 失败——但构建实际成功(手动复跑 exit 0,产物齐全)。

根因

run()execFile 默认 1MB maxBuffer;build-web.sh 的 vite + npm 输出(含 document-preview 双份 chunk 清单 + install-scripts 警告)超限。maxBuffer 超限触发 err,stdout 一并丢弃——构建明明 exit 0 也被判失败。

修复

  • maxBuffer: 64MB
  • 全部 ✗ 日志行加 clip()(首 300 字符),整段构建输出不再塞进 UI 横幅

实机另证(不改代码)

desktop profile(npm 渠道)首次 pnpm upminimumReleaseAge 供应链策略:依赖 dsh-better-sidebar@0.17.1 刚发版 1.2h,距策略窗口不足。属外部策略瞬态,时间窗过后重试即过(已实测 ^0.7.0 落地)。升级器对这类失败本来就支持重试,行为正确。

验证

  • system-upgrade 12 套单测全绿
  • 实机 UI 升级链路:源码 profile pull→重建已到 0.7.0;desktop npm 渠道重试后 ^0.7.0 落地
  • 修复后重启 dsh 复测一键升级全绿(见下补)

实机验证 v0.7.0 一键升级发现:build-web.sh 构建成功(exit 0)却被判失败——
execFile 默认 1MB maxBuffer 被 vite/npm 输出超限,err 一到,stdout 即弃。
升到 64MB;同时 ✗ 日志行加 clip(),失败只留首 300 字符,不再把整段
构建输出塞进 UI 升级横幅。

另实机确认:desktop profile pnpm up 首次会撞 minimumReleaseAge 供应链
策略(依赖刚发版距窗口太近),属外部策略瞬态,重试即过,升级器不改。

验证:system-upgrade 12 套全绿;UI 实测升级链路(见 PR 描述)。
@chumingjun
chumingjun merged commit 3d7db2f into main Aug 29, 2026
1 check passed
@chumingjun
chumingjun deleted the fix/upgrade-maxbuffer branch August 29, 2026 07:05
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