core: allow starting new sessions after errors by fixing stuck session status

This commit is contained in:
Dax Raad
2026-02-01 20:39:58 -05:00
parent 3ab41d548f
commit 6c9b2c37a5
2 changed files with 8 additions and 4 deletions

View File

@@ -368,6 +368,7 @@ export namespace SessionProcessor {
sessionID: input.assistantMessage.sessionID,
error: input.assistantMessage.error,
})
SessionStatus.set(input.sessionID, { type: "idle" })
}
if (snapshot) {
const patch = await Snapshot.patch(snapshot)

View File

@@ -62,7 +62,7 @@ export namespace SessionPrompt {
abort: AbortController
callbacks: {
resolve(input: MessageV2.WithParts): void
reject(): void
reject(reason?: any): void
}[]
}
> = {}
@@ -72,7 +72,7 @@ export namespace SessionPrompt {
for (const item of Object.values(current)) {
item.abort.abort()
for (const callback of item.callbacks) {
callback.reject()
callback.reject(new DOMException("Aborted", "AbortError"))
}
}
},
@@ -251,10 +251,13 @@ export namespace SessionPrompt {
log.info("cancel", { sessionID })
const s = state()
const match = s[sessionID]
if (!match) return
if (!match) {
SessionStatus.set(sessionID, { type: "idle" })
return
}
match.abort.abort()
for (const item of match.callbacks) {
item.reject()
item.reject(new DOMException("Aborted", "AbortError"))
}
delete s[sessionID]
SessionStatus.set(sessionID, { type: "idle" })