mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-20 12:21:13 -05:00
Fix cancel button
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user