Let stopped Chopin turns release the chat queue #272
- MA
## What changed
Stopping Chopin now reaches a question that is waiting for an answer. The waiting question is cancelled, the active work state ends, and the next queued chat request can proceed. Repeated clicks on Stop record one stop notice rather than stacking copies, including while a retained workflow reports delayed progress. If session cleanup fails, the chat still settles its transcript and drains the queue.
The active row now labels its time **Started at**. That makes a long-running turn's original timestamp clear instead of implying the work just happened.
## Why
The question tool was waiting without receiving the turn's cancellation signal. The agent stream could therefore remain open after Stop, leaving Chat busy and blocking later requests. The diagram shows the repaired path.

## Verification
- A real Harness regression covers an open question, two Stop attempts, cancellation, settled tool status, queue recovery, and both successful and failed session cleanup. Separate regressions cover concurrent and delayed Stop clicks while retained workflows pause. - The full unit suite (3,624 passed) ran on the original branch. After rebasing, 165 chat tests, focused Stop regressions, TypeScript and formatting/lint checks, and three Chromium chat tests passed. All three GitHub CI jobs, including the full browser suite, passed on this PR. - A separate agent reviewed the server and client changes, then re-reviewed the queue, timestamp, and retained-workflow fixes with no remaining finding.
The repair targets the observed waiting-question deadlock. A third-party session cleanup that never returns still requires a separate recovery design before the server can safely run another tool session.
MaggieAppletonhead-ref-force-pushed 8b00f966fd2elast month on GitHub
lavaman131referenced 6f47eb6db33flast month on GitHub
lavaman131referenced 168b4551040flast month on GitHub
- MA
<!-- pr-rebase:8b00f966fd2ed6b30720fec10f6b25bc65c891ef:964535bb81cb00d3583301d3ec90d55393c278ca --> PR babysitter could not rebase this branch cleanly onto main. The branch is unchanged. Please resolve the rebase conflict locally; automation will try again after the branch changes.
- MA
@copilot fix the merge conflicts
Copilotmentionedlast month on GitHub
Copilotsubscribedlast month on GitHub
MaggieAppletoncopilot-work-startedlast month on GitHub
> @copilot fix the merge conflicts
Merged `main` and resolved the transcript conflict in merge commit `88d9aac`. The branch’s active-turn “Started at” timestamp is preserved with `main`’s updated transcript styling.
Copilotmentionedlast month on GitHub
Copilotsubscribedlast month on GitHub
MaggieAppletoncopilot-work-finishedlast month on GitHub
- MA
Commit pushed: [`cb3a40d`](https://github.com/githubnext/chopin/commit/cb3a40df62046d6ca84cc8ace5ebf77699189e08)
> Generated by [PR CI fixer](https://github.com/githubnext/chopin/actions/runs/37619025602) · gpt54 · 134 AIC · ⌖ 10 AIC · ⊞ 16.4K
- MA
Root cause: `bun run ci` in failed run `37621259944` stopped in `dprint check` on one misindented ternary line in `apps/web/src/chat/transcript.tsx` (`Started at ...` branch in the active-row timestamp).
Queued for guarded application: one `[ci-fix]` commit updating `apps/web/src/chat/transcript.tsx`. GitHub CI still needs to confirm it after the queued push lands.
Verified here: - `git diff --check` : pass - `bun run types` : pass - `bun run ci` : blocked locally because this environment cannot fetch dprint's remote WASM plugins (`Proxy failed to connect`), but the failed GitHub log already isolated the only formatter diff to this file.
> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details>
> Generated by [PR CI fixer](https://github.com/githubnext/chopin/actions/runs/37619025602) · gpt54 · 134 AIC · ⌖ 10 AIC · ⊞ 16.4K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fchopin+%22gh-aw-workflow-call-id%3A+githubnext%2Fchopin%2Fpr-ci-fix%22&type=issues)
<!-- gh-aw-agentic-workflow: PR CI fixer, engine: codex, model: gpt-5.4, id: 37619025602, workflow_id: pr-ci-fix, run: https://github.com/githubnext/chopin/actions/runs/37619025602 --> <!-- gh-aw-workflow-call-id: githubnext/chopin/pr-ci-fix -->
- MA
<!-- pr-rebase:cb3a40df62046d6ca84cc8ace5ebf77699189e08:e6b7bb333ce8948d0dac0c8aff61cf3d4fb8dc8b --> PR babysitter could not rebase this branch cleanly onto main. The branch is unchanged. Please resolve the rebase conflict locally; automation will try again after the branch changes.
- MA
<!-- pr-rebase:cb3a40df62046d6ca84cc8ace5ebf77699189e08:b919317f14f29799be257eee49ba5ab753592371 --> PR babysitter could not rebase this branch cleanly onto main. The branch is unchanged. Please resolve the rebase conflict locally; automation will try again after the branch changes.
MaggieAppletonauto-rebase-enabledlast month on GitHub
MaggieAppletonauto-merge-disabledlast month on GitHub
MaggieAppletonhead-ref-force-pushed ab8534805b10last month on GitHub
MaggieAppletonreferenced this in fix: detect PRs that pass CI but cannot be rebased #332last month on GitHub
MaggieAppletonhead-ref-force-pushed 9cd10699bdf7last month on GitHub
MaggieAppletonmerged dced9b21e5f7last month on GitHub
MaggieAppletonhead-ref-deletedlast month on GitHub
MaggieAppletonreferenced this in Dismiss the account menu on Escape and outside click #279last month on GitHub