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:
+4
-7
@@ -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],
|
||||
);
|
||||
|
||||
// 处理交互卡片动作流转 (驳回门禁确认、撤回、取消与终审联动)
|
||||
|
||||
@@ -84,6 +84,7 @@ export function useTaskRunStream(activeSessionId: string) {
|
||||
rt.controller?.abort();
|
||||
rt.controller = null;
|
||||
rt.thinking = false;
|
||||
rt.runId = null;
|
||||
notify();
|
||||
},
|
||||
[getRuntime, notify],
|
||||
|
||||
Reference in New Issue
Block a user