Skip to content

feat(desktop): offer composer Resume after a manual Stop, drop the turn-footer resume button #5923

Closed

Description

@me2seeks

Problem

#5903 / #5904 added the composer's send-slot Resume offer, but the review round added a suppression: after the user stops a Turn from the composer (Stop button or Escape), the send slot never offers Resume for that Turn — the resume path was relegated to a small ghost button in the stopped Turn's footer (gated on statusBarStatus === 'aborted' && abortSource === 'renderer.stop_button' in packages/ui/src/chat-turn.tsx).

That trade-off kills the primary use case. Stopping a Turn mid-reply and then deciding to continue it is exactly when the user looks at the send slot. The footer button is easy to miss, and it is currently not covered by any test or story.

The hazard the suppression guarded against — a repeated or late click on Stop restarting the Turn the user just stopped — is narrower than when it was raised: since the stale-offer retraction landed (the slot only renders Resume after a fresh ready answer from the planner, which requires the terminal transition to have completed), a click during the stop's settle window lands on a disabled Send. An accidental restart requires a deliberate-looking second click after Resume is already visible, and the resumed Turn can simply be stopped again.

Desired outcome

  • After a manual Stop, with an empty draft, the composer send slot offers Resume (play glyph) exactly as it does for any other resumable interruption. Typing restores Send; Stop always outranks it while running.
  • The stopped Turn's footer no longer renders a resume button (the slot is the single, visible affordance).
  • The tracker keeps the review-round improvements that are unconditional wins: stale-offer retraction while a re-read is in flight, and refresh on Host rebound.

Alternatives considered

  • Keep the suppression and fix the footer button's visibility: rejected — the slot is where the user's attention is after stopping; the footer button is redundant once the slot offers resume.
  • Host-side deferred resume (queue the resume intent while the stop settles): still a valid orthogonal improvement for the banner/cross-client paths; not required here because the slot offer only appears after a fresh ready answer, i.e. after the terminal transition completed.

Activity

  1. me2seeks commented on Oct 2, 2026

    @me2seeks
    ContributorAuthor

    take

  2. added a commit that references this issue on Oct 3, 2026
    8ad836c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions