Skip to content

feat(web): background work can be followed from the composer banner - #20

Merged
yordis merged 1 commit into
mainfrom
yordis/feat-background-work-details
Aug 17, 2026
Merged

feat(web): background work can be followed from the composer banner#20
yordis merged 1 commit into
mainfrom
yordis/feat-background-work-details

Conversation

@yordis

@yordis yordis commented Aug 17, 2026

Copy link
Copy Markdown
Member

A thread can hold background work open for hours, and the composer banner was the only place that admitted it. It named a state and offered one destructive button, which left two questions unanswered at exactly the moment they matter: what is still running, and what am I about to kill. People who could not answer either one stopped everything to find out, which is the opposite of what the feature is for.

Monitoring was the worse of the two states. It is by definition the state with no live agents, so the roster people would otherwise check is empty precisely while that banner is up, and a watch loop that is waiting on something looks identical to one that has quietly wedged. Its progress line is the difference, and it was already being recorded, just never shown.

Stop needed to say what it does. Ending every live item at once is the only granularity that exists, and a button that does not admit that is a trap.

@cursor

cursor Bot commented Aug 17, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Presentation-only over existing persisted activities and liveness; no API or server changes, with tested pure derivation logic.

Overview
The composer background-work banner now names what is still running (agents, watch loops, tasks) instead of only reporting a mode like “Monitoring in the background,” with a truncated one-line summary and a Details popover for the full list, progress lines, and last-updated times.

foldLiveBackgroundTasks in client-runtime folds persisted task.* activities into live background tasks using the same classification rules as server liveness; buildBackgroundWorkBannerCopy drives banner title/description, including fallbacks when task detail is missing after retention or restart. Stop keeps the same behavior but adds a tooltip and copy in the popover that it ends every listed item at once.

User and fork docs describe the new UX; tests cover the fold and banner copy.

Reviewed by Cursor Bugbot for commit 5b605f2. Bugbot is set up for automated code reviews on this repo. Configure here.

A thread can hold background work open for hours, and the banner was the only
place that admitted it. It named a state and offered one destructive button,
leaving what is running and what Stop would end unanswered exactly when they
matter.

Monitoring is by definition the state with no live agents, so the roster is
empty while the banner is up, and a watch loop that is waiting looks identical
to one that has wedged. Its progress line is the difference, and it was already
recorded.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/feat-background-work-details branch from a626085 to 5b605f2 Compare August 17, 2026 17:25

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 5b605f2. Configure here.

});
}
return live.toSorted((left, right) => left.firstSeenAt.localeCompare(right.firstSeenAt));
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Orphaned tasks shown as live

Medium Severity

foldLiveBackgroundTasks rebuilds liveness only from retained task.* rows and has no session-boundary handling, while the server registry clears on session.exited (and on restart). After a new session starts fresh background work, older non-terminal rows still look live, so Details can list dead items and claim Stop ends everything shown.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5b605f2. Configure here.

@yordis

yordis commented Aug 17, 2026

Copy link
Copy Markdown
Member Author
Screenshot 2026-08-17 at 1 24 33 PM Screenshot 2026-08-17 at 1 24 30 PM

@yordis
yordis merged commit ffa3ef0 into main Aug 17, 2026
7 of 14 checks passed
@yordis
yordis deleted the yordis/feat-background-work-details branch August 17, 2026 17:40
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