Repository navigation
fix(client): hide Resume while a pending request blocks continuing the run #28810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1349ce1
8eef7b8
a6eda01
7d9aebc
ec0862e
6b67387
dd8c95f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -78,6 +78,7 @@ import { | |||||||
| RuntimeMode, | ||||||||
| } from "@t3tools/contracts"; | ||||||||
| import { | ||||||||
| canResumeThread, | ||||||||
| deriveProviderSubagentStatus, | ||||||||
| deriveProviderExtensionStatuses, | ||||||||
| deriveReportedModelSelection, | ||||||||
|
|
@@ -840,6 +841,9 @@ export default function ChatView(props: ChatViewProps) { | |||||||
| !isServerThread || serverProjection === null | ||||||||
| ? null | ||||||||
| : deriveResumableRunId(serverProjection, serverRuntime); | ||||||||
| const canResume = | ||||||||
| serverProjection !== null && | ||||||||
| canResumeThread(serverProjection, resumableRunId, hasHeldQueuedRuns); | ||||||||
| const parentSubagentThreadId = | ||||||||
| activeThread?.lineage.relationshipToParent === "subagent" | ||||||||
| ? activeThread.lineage.parentThreadId | ||||||||
|
|
@@ -2882,6 +2886,7 @@ export default function ChatView(props: ChatViewProps) { | |||||||
| activeThread, | ||||||||
| resumableRunId, | ||||||||
| hasHeldQueuedRuns, | ||||||||
| canResume, | ||||||||
| isSendBusy, | ||||||||
| isRevertingCheckpoint, | ||||||||
| threadDetailLoading, | ||||||||
|
|
@@ -3626,7 +3631,7 @@ export default function ChatView(props: ChatViewProps) { | |||||||
| queuedRunEdit.isSaving || | ||||||||
| isResuming | ||||||||
| } | ||||||||
| canResume={resumableRunId !== null || hasHeldQueuedRuns} | ||||||||
| canResume={canResume} | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Explain the blocked Resume when a pending request has no approval card. When a run is resumable and any runtime request is pending, Suggested fix
Committable suggestion
|
||||||||
| isRevertingCheckpoint={isRevertingCheckpoint} | ||||||||
| sendDisabledReason={ | ||||||||
| !canOperateThread | ||||||||
|
|
||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explain why Resume is hidden when a pending request blocks it.
Passing
nullforonResumeQueuehides Resume for two cases: a pending request blocks continuation, or there is no run to continue. The composer receives no other signal, so it cannot tell these cases apart. When the blocking request has no visible card, the user loses Resume with no explanation.Pass the blocked state to the composer as a separate prop. When Resume is hidden for that reason, show a short explanation in the composer. Keep
onResumeQueueasnullwhen there is nothing to resume. The checked-out source contains no blocker explanation text, so the text needs to be added.