Skip to content

Fix status-bar history subscription accumulation - #16658

Merged
harryalbert merged 1 commit into
masterfrom
factory/status-bar-subscription-lifetime
Oct 27, 2026
Merged

harryalbert merged 1 commit into
masterfrom
factory/status-bar-subscription-lifetime

Conversation

@warp-agent-staging

Copy link
Copy Markdown
Contributor

Description

Keep the agent status bar's history subscription constant as exchanges change. WarpUI owns subscriptions for the view's lifetime, so replacing a boxed exchange model does not remove its callback.

Handle output events in the existing lifetime subscription, using the current exchange IDs. Older exchanges no longer reprocess the current output or close its summarization dialog. Same-conversation invalidation and global usage notifications remain supported; other AI block subscribers are unchanged.

This addresses one source of growing main-thread work during long agent conversations, not the separate Markdown parsing and stream-draining hotspots.

Linked Issue

No separate issue for this narrowly scoped fix.

  • The linked issue is labeled ready-to-spec or ready-to-implement. — Not applicable.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes). — The requester chose targeted Rust tests only.

Testing

  • The stale-exchange regression failed against the original callback behavior and passes with the fix. The test observes dialog events after switching exchanges and confirms the current exchange still processes output across terminal surfaces.
  • CARGO_BUILD_JOBS=2 CARGO_PROFILE_DEV_DEBUG=0 cargo nextest run -p warp --lib -E 'test(ai::blocklist::block::status_bar::tests)': 16 passed.
  • CARGO_BUILD_JOBS=2 CARGO_PROFILE_DEV_DEBUG=0 cargo clippy -p warp --all-targets --tests -- -D warnings: passed.
  • ./script/format: passed, run last.
  • I have manually tested my changes locally with ./script/run — Skipped per the requester's tests-only choice; no macOS beachball reproduction is claimed.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

@cla-bot cla-bot Bot added the cla-signed label Oct 27, 2026
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-staging-factory on this PR to send it follow-up work.

View run View conversation View on Slack

@warp-agent-staging warp-agent-staging Bot added the factory:blueprint-factory-slim Label associated to the "blueprint-factory-slim" factory label Oct 27, 2026
@warp-agent-staging
warp-agent-staging Bot marked this pull request as ready for review October 27, 2026 16:19
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

@harryalbert, your GitHub account is not connected to Warp. Connect your GitHub account.

@harryalbert
harryalbert merged commit eafc6d1 into master Oct 27, 2026
47 of 48 checks passed
@harryalbert
harryalbert deleted the factory/status-bar-subscription-lifetime branch October 27, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed factory:blueprint-factory-slim Label associated to the "blueprint-factory-slim" factory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant