Repository navigation
fix(web): allow goal resume during an active turn - #26022
diddletime wants to merge 2 commits into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a narrowly scoped web bug fix that exposes the existing Resume action for paused goals during an active turn, matching the already-supported server behavior. A focused browser regression test covers the changed state, with no schema, configuration, security, billing, or deployment impact. Notes:
You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Resume action and browser coverage apps/web/src/components/chat/ThreadActivityBanners.tsx, apps/web/src/components/chat/ComposerBannerStack.browser.test.tsx |
goalNowItem no longer requires the thread to be idle to show Resume. A browser test checks that Resume is visible while a paused goal's thread is working. |
Estimated code review effort: 2 (Simple) | ~8 minutes
Change: Bug fix · Severity of issue fixed: Medium
Possibly related issues
- [Bug]: Resuming or replacing a goal requires stopping the thread first #25951: Reports that a paused goal cannot be resumed while another turn is running without manually stopping it. This change makes Resume visible in that state.
Possibly related PRs
- pingdotgg/t3code#25426: Changes goal command handling so resuming a goal interrupts an active turn.
- pingdotgg/t3code#25401: Moves
goalNowIteminto the timeline and presents goal actions as inline controls. - pingdotgg/t3code#27551: Moves Resume from
ThreadActivityBannerstoComposerGoalBar.
Suggested labels: bugfix
Suggested reviewers: t3dotgg
Merge Risk: 
Minimal · up to f4a1b
-
The change is narrowly scoped and has coverage for the restored Resume behavior without an identified merge-blocking risk.
Pre-merge checks: 
4
-
Full details: Title check
-
Explanation
The title "fix(web): allow goal resume during an active turn" matches the main change. The diff removes the
!isWorkingcondition ingoalNowItem, so Resume shows for a paused goal while another turn runs. The title is specific, follows the conventional commit format, and matches the PR objectives.
Full details: Description check
-
Explanation
The description clearly explains the problem, the implementation, the linked issue, verification results, observed limitations, screenshots, and a recording. It does not use the required section headings, and it does not explicitly include a maintainer approval comment or explain an approval exemption, but the required information is mostly present.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
|
Note Written by Verified in a real dev environmentVerified as-is at Installed dependencies with
Short runtime transcript (UTC): Main, paused goal during unrelated work: PR, matching goal and unrelated prompt: 27-second animated capture of the recording showing unrelated work, Resume, interruption, and resumed goal work: Inspected the screenshots and recording, reopened the uploaded media, and checked video playback to completion and seeking in Chrome. Current GitHub checks have no pending or failing jobs; several platform/eligibility jobs are skipped. No local static checks were run because this verification changed no source. Not verifiedNative iOS/Android clients, Electron desktop, macOS/Windows behavior, remote/tunnel connections, and other providers were not exercised. This confirms the changed web banner and real Codex provider path, not the intermittent native resume failure mentioned in the PR description. The VM briefly reported a 36-second host freeze during initial loading, and the provider recovered transient retries after a stop/resume. Neither prevented the scenarios above from completing; no app/provider stall exceeded 10 minutes. |




A paused goal hides Resume while another turn is running, forcing a separate Stop action. Show Resume whenever the goal supports it so the existing server command can stop the current turn and resume the goal.
Addresses https://git.cafe/pingdotgg/t3code/issues/25951. The server transition shipped in https://git.cafe/pingdotgg/t3code/pulls/25426; this fixes the remaining button restriction. The intermittent native resume failure in the report still needs a specific reproduction.
Verified with
vp run check:changedand a browser regression that renders a paused goal while another turn is working. The images show that component fixture.Created with gpt-6-astra-ultrafast in Codex through T3 Code.
Takeover verification at
f4a1bd2dfcfc057d16e881729cc4b64163a4264f:vp run check:changed github/mainpassed format, lint, knip, affected typechecks, all five banner browser tests, and React compiler coverage.turn/interruptat 21:55:13.793 UTC, thenthread/goal/setwithstatus: activeat 21:55:14.066 UTC.Takeover by gpt-6.1-sol through the Codex harness in T3 Code.