Hide progress spinner if api req in browser session failed or cancelled

This commit is contained in:
Saoud Rizwan
2024-10-27 17:20:51 -04:00
parent cf2ec27a44
commit 4ae190f70e

View File

@@ -32,25 +32,30 @@ interface BrowserSessionRowProps {
*/
const BrowserSessionRow = memo((props: BrowserSessionRowProps) => {
const { messages, isLast, onHeightChange } = props
const { messages, isLast, onHeightChange, lastModifiedMessage } = props
const prevHeightRef = useRef(0)
const [maxActionHeight, setMaxActionHeight] = useState(0)
const [consoleLogsExpanded, setConsoleLogsExpanded] = useState(false)
// const isLastApiReqInterrupted = useMemo(() => {
// // Check if last api_req_started is cancelled
// const lastApiReqStarted = [...messages].reverse().find((m) => m.say === "api_req_started")
// if (lastApiReqStarted?.text != null) {
// const info = JSON.parse(lastApiReqStarted.text)
// return info.cancelReason != null
// }
// const lastApiReqFailed = isLast && lastModifiedMessage?.ask === "api_req_failed"
// return lastApiReqFailed
// }, [messages, lastModifiedMessage, isLast])
const isLastApiReqInterrupted = useMemo(() => {
// Check if last api_req_started is cancelled
const lastApiReqStarted = [...messages].reverse().find((m) => m.say === "api_req_started")
if (lastApiReqStarted?.text != null) {
const info = JSON.parse(lastApiReqStarted.text)
if (info.cancelReason != null) {
return true
}
}
const lastApiReqFailed = isLast && lastModifiedMessage?.ask === "api_req_failed"
if (lastApiReqFailed) {
return true
}
return false
}, [messages, lastModifiedMessage, isLast])
const isBrowsing = useMemo(() => {
return isLast && messages.some((m) => m.say === "browser_action_result") //&& !isLastApiReqInterrupted // after user approves, browser_action_result with "" is sent to indicate that the session has started
}, [isLast, messages])
return isLast && messages.some((m) => m.say === "browser_action_result") && !isLastApiReqInterrupted // after user approves, browser_action_result with "" is sent to indicate that the session has started
}, [isLast, messages, isLastApiReqInterrupted])
// Organize messages into pages with current state and next action
const pages = useMemo(() => {