mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
Fix cancel button
This commit is contained in:
parent
e1ab10f24e
commit
0c290b4108
2 changed files with 7 additions and 3 deletions
|
|
@ -451,7 +451,7 @@ export class ClaudeDevProvider implements vscode.WebviewViewProvider {
|
|||
timeout: 3_000,
|
||||
})
|
||||
await this.initClaudeDevWithHistoryItem(historyItem) // clears task again, so we need to abortTask manually above
|
||||
await this.postStateToWebview()
|
||||
// await this.postStateToWebview() // new claude dev instance will post state when it's ready. having this here sent an empty messages array to webview leading to virtuoso having to reload the entire list
|
||||
}
|
||||
|
||||
break
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
const [didScrollUp, setDidScrollUp] = useState(false)
|
||||
const lastScrollTopRef = useRef(0)
|
||||
const [didClickScrollToBottom, setDidClickScrollToBottom] = useState(false)
|
||||
const [didClickCancel, setDidClickCancel] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
// if last message is an ask, show user ask UI
|
||||
|
|
@ -134,6 +135,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
setEnableButtons(true)
|
||||
setPrimaryButtonText("Resume Task")
|
||||
setSecondaryButtonText(undefined)
|
||||
setDidClickCancel(false) // special case where we reset the cancel button state
|
||||
break
|
||||
case "resume_completed_task":
|
||||
setTextAreaDisabled(false)
|
||||
|
|
@ -141,6 +143,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
setEnableButtons(true)
|
||||
setPrimaryButtonText("Start New Task")
|
||||
setSecondaryButtonText(undefined)
|
||||
setDidClickCancel(false)
|
||||
break
|
||||
}
|
||||
break
|
||||
|
|
@ -283,6 +286,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
const handleSecondaryButtonClick = useCallback(() => {
|
||||
if (isStreaming) {
|
||||
vscode.postMessage({ type: "cancelTask" })
|
||||
setDidClickCancel(true)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -653,7 +657,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
style={{
|
||||
opacity:
|
||||
primaryButtonText || secondaryButtonText || isStreaming
|
||||
? enableButtons || isStreaming
|
||||
? enableButtons || (isStreaming && !didClickCancel)
|
||||
? 1
|
||||
: 0.5
|
||||
: 0,
|
||||
|
|
@ -675,7 +679,7 @@ const ChatView = ({ isHidden, showAnnouncement, hideAnnouncement, showHistoryVie
|
|||
{(secondaryButtonText || isStreaming) && (
|
||||
<VSCodeButton
|
||||
appearance="secondary"
|
||||
disabled={!enableButtons && !isStreaming}
|
||||
disabled={!enableButtons && !(isStreaming && !didClickCancel)}
|
||||
style={{
|
||||
flex: isStreaming ? 2 : 1,
|
||||
marginLeft: isStreaming ? 0 : "6px",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue