fix: 修正终止按钮的通知时序

This commit is contained in:
Youzini-afk
2026-03-25 01:56:57 +08:00
parent 00b48aa724
commit 801aeb2f12

View File

@@ -258,6 +258,7 @@ function getStageAbortLabel(stage) {
function beginStageAbortController(stage) {
const controller = new AbortController();
stageAbortControllers[stage] = controller;
syncStageNoticeAbortAction(stage);
return controller;
}
@@ -359,6 +360,27 @@ function abortAllRunningStages() {
}
}
function getStageUiStatus(stage) {
switch (stage) {
case "extraction":
return lastExtractionStatus;
case "vector":
return lastVectorStatus;
case "recall":
return lastRecallStatus;
default:
return null;
}
}
function syncStageNoticeAbortAction(stage) {
const status = getStageUiStatus(stage);
if (!status || !stageNoticeHandles[stage]) return;
updateStageNotice(stage, status.text, status.meta, status.level, {
title: getStageNoticeTitle(stage),
});
}
function updateStageNotice(
stage,
text,
@@ -2047,6 +2069,9 @@ async function runExtraction() {
: unprocessedAssistantTurns.slice(0, extractEvery);
const startIdx = batchAssistantTurns[0];
const endIdx = batchAssistantTurns[batchAssistantTurns.length - 1];
isExtracting = true;
const extractionController = beginStageAbortController("extraction");
const extractionSignal = extractionController.signal;
setLastExtractionStatus(
"提取中",
`楼层 ${startIdx}-${endIdx}${smartTriggerDecision.triggered ? " · 智能触发" : ""}`,
@@ -2054,10 +2079,6 @@ async function runExtraction() {
{ syncRuntime: true },
);
isExtracting = true;
const extractionController = beginStageAbortController("extraction");
const extractionSignal = extractionController.signal;
try {
const batchResult = await executeExtractionBatch({
chat,