修复活跃的对话中会话在关闭会话tab后连接被自动回收了

This commit is contained in:
xintaofei
2026-03-22 22:04:16 +08:00
parent 046289748b
commit b5b7073584

View File

@@ -266,9 +266,14 @@ export function useConnectionLifecycle({
// Clean up on unmount (e.g. tab closed): disconnect the ACP connection // Clean up on unmount (e.g. tab closed): disconnect the ACP connection
// so it doesn't leak, and remove lingering tasks. // so it doesn't leak, and remove lingering tasks.
// However, if the agent is actively prompting (generating a response),
// keep it alive so it can finish in the background — the idle sweep
// will clean it up once it transitions back to "connected".
useEffect(() => { useEffect(() => {
return () => { return () => {
if (statusRef.current !== "prompting") {
connDisconnectRef.current().catch(() => {}) connDisconnectRef.current().catch(() => {})
}
if (taskIdRef.current) { if (taskIdRef.current) {
removeTask(taskIdRef.current) removeTask(taskIdRef.current)
} }