fix(web): ignore retained task run id when unlocking chat composer

Orphan streaming_status plus a leftover activeTaskRunId kept InputArea on
停止 after squad terminal. Gate taskRunLive on isThinking only and clear
runId on abortSession so stop/send can proceed for UI-05+.
This commit is contained in:
WeiCHEN
2026-09-22 23:02:13 +08:00
parent db8c3dcc64
commit 1c78d614cb
2 changed files with 5 additions and 7 deletions
+4 -7
View File
@@ -1160,14 +1160,11 @@ export default function App() {
() =>
resolveChatComposerStreaming(currentSessionMessages, {
turnLive: turnRuntime.isThinking,
taskRunLive: taskRunStream.isThinking || Boolean(taskRunStream.activeTaskRunId),
// Retained activeTaskRunId alone must not lock send after the run is
// terminal; orphan streaming_status + leftover run id was blocking UI-05+.
taskRunLive: taskRunStream.isThinking,
}),
[
currentSessionMessages,
turnRuntime.isThinking,
taskRunStream.isThinking,
taskRunStream.activeTaskRunId,
],
[currentSessionMessages, turnRuntime.isThinking, taskRunStream.isThinking],
);
// 处理交互卡片动作流转 (驳回门禁确认、撤回、取消与终审联动)
+1
View File
@@ -84,6 +84,7 @@ export function useTaskRunStream(activeSessionId: string) {
rt.controller?.abort();
rt.controller = null;
rt.thinking = false;
rt.runId = null;
notify();
},
[getRuntime, notify],