Skip to content

Ship reliable ACP updates and timeline ordering - #11

Merged
hrhrng merged 2 commits into
mainfrom
agent/agent-update-progress
Aug 17, 2026
Merged

Ship reliable ACP updates and timeline ordering#11
hrhrng merged 2 commits into
mainfrom
agent/agent-update-progress

Conversation

@hrhrng

@hrhrng hrhrng commented Aug 16, 2026

Copy link
Copy Markdown
Member

What changed

  • bundle npm and run it through Backchat's embedded background Node helper, so managed ACP installs do not depend on user-installed Node/npm and do not open a second Dock app
  • choose npm registries from the user's environment: an explicit npm registry wins; mainland China prefers npmmirror; other regions prefer npmjs; every choice has ordered fallback
  • keep registry installs atomic, pin the exact registry version, retry stale ETARGET metadata online, and clean the staging directory before switching registries
  • reject new session starts once app shutdown/disposal begins, preventing sessions from reading an already-stopped Plugin Skills MCP bridge
  • show live thinking as stable, ellipsized preview lines while collapsed and retain the complete streaming body for explicit expansion
  • replace fake npm percentage progress with an accessible spinner and tighten update error/status UI
  • preserve timeline ordering and update E2E selectors to follow the real collapsed activity UI

Why

The previously generated package could keep an old main process alive and then start a new session after Plugin Skills MCP had already been stopped. Its managed npm runtime also launched through the Dock-visible main executable. Agent downloads could be slow or unavailable when a single npm registry was a poor fit for the user's network, and the UI implied measurable progress that npm does not expose.

Streaming thinking also kept growing the transcript viewport while collapsed, and earlier E2E assertions targeted pre-redesign activity surfaces.

Impact

Packaged ACP installs now run through the background helper, select a region-appropriate/user-configured registry, and fall back without changing global npm configuration. Shutdown cannot start another session against disposed MCP resources. Collapsed thinking remains spatially stable while the full live stream is available on expansion.

Validation

  • TypeScript node and web typechecks
  • CI Vitest profile: 149/149
  • installer/runtime/agent-setup tests: 37/37
  • release E2E suite: 71/71
  • packaged runtime import and bundled npm verification
  • macOS package signature verification
  • packaged first-prompt smoke from both the unpacked app and the final read-only mounted DMG
  • final DMG checksum verified by hdiutil

@hrhrng
hrhrng merged commit 1211ac0 into main Aug 17, 2026
7 of 8 checks passed
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