Repository navigation
fix(web): a PR watch keeps a thread Waiting, not Done or Continue - #5
Merged
Ali-Al1 merged 1 commit intoNov 9, 2026
Conversation
- Sidebar status reads the same awaited-background-work hold as the status pill, so a completed, unread thread with a live PR watch shows Waiting. - Direct-link thread shells carry the derived pending background roster, so the field agrees with the runtime that already parks on it. - Continue is not offered for an interrupted run while a hold is active; interrupted runs with no hold still resume, as do held queued runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
Ali-Al1
merged commit Nov 9, 2026
58a1bcd
into
base/upstream-main-920ffcdd04-hosted-ci
25 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Threads with a live pull request watch showed Done in the sidebar, and interrupted ones still offered Continue.
resolveSidebarThreadStatusnow returnswaitingwhenbackgroundWorkHoldsCompletion(pendingBackgroundTasks), the same hold the status pill already reads. Done can no longer win while an awaited hold exists.presentThreadShellFromProjectionnow passesderiveThreadPendingBackgroundTasks(projection), sopendingBackgroundTasksagrees with the runtime that already parks on PR watches.deriveContinuableRunIdwrapsderiveResumableRunId. It hides an interrupted run's resume while a hold is active. Interrupted runs with no hold, usage-limit resumes and held queued runs are unchanged.Out of scope: turn-item
watch_pull_requestresults that never reachedthread.pullRequests.watchstill get no hold.Tests:
vp test run --project unitforSidebar.logic,ChatView.logicand the newChatView.waitingHold(128 pass). Client-runtimeentitiesandthreadExecutionpass (42).effect-tsgoon web reports no errors.🤖 Generated with Claude Code