fix: stop kiro auto-run on proxy error pages

This commit is contained in:
QLHazyCoder
2026-05-19 02:04:32 +08:00
parent 09319c20a9
commit 702e969deb
9 changed files with 361 additions and 9 deletions
+26
View File
@@ -25,6 +25,7 @@
hasSavedNodeProgress,
isAddPhoneAuthFailure,
isGpcTaskEndedFailure,
isKiroProxyFailure,
isPhoneSmsPlatformRateLimitFailure,
isPlusCheckoutNonFreeTrialFailure,
isRestartCurrentAttemptError,
@@ -704,11 +705,15 @@
&& isSignupUserAlreadyExistsFailure(err);
const blockedByStep4Route405 = typeof isStep4Route405RecoveryLimitFailure === 'function'
&& isStep4Route405RecoveryLimitFailure(err);
const blockedByKiroProxy = typeof isKiroProxyFailure === 'function'
&& isKiroProxyFailure(err);
const canRetry = !blockedByAddPhone
&& !blockedByPhoneNoSupply
&& !blockedByPlusNonFreeTrial
&& !blockedByGpcTaskEnded
&& !blockedBySignupUserAlreadyExists
&& !blockedByStep4Route405
&& !blockedByKiroProxy
&& autoRunSkipFailures
&& attemptRun < maxAttemptsForRound;
@@ -926,6 +931,27 @@
break;
}
if (blockedByKiroProxy) {
roundSummary.status = 'failed';
roundSummary.finalFailureReason = reason;
await setState({
autoRunRoundSummaries: serializeAutoRunRoundSummaries(totalRuns, roundSummaries),
});
await appendRoundRecordIfNeeded('failed', reason, err);
cancelPendingCommands('当前轮检测到 Kiro 代理异常页,已停止自动运行,等待用户切换代理。');
await broadcastStopToContentScripts();
await addLog(`${targetRun}/${totalRuns} 轮检测到 Kiro 代理异常页:${reason}`, 'error');
await addLog('当前代理可能不可用,请先切换代理后再继续。自动运行已停止。', 'warn');
stoppedEarly = true;
await broadcastAutoRunStatus('stopped', {
currentRun: targetRun,
totalRuns,
attemptRun,
sessionId: 0,
});
break;
}
if (canRetry) {
const retryIndex = attemptRun;
if (isRestartCurrentAttemptError(err)) {