feat: 增加 OAuth 流程6分钟超时处理,优化验证码请求时间窗口逻辑

This commit is contained in:
QLHazyCoder
2026-04-17 19:12:06 +08:00
parent a827ede6f4
commit 4add7477d1
11 changed files with 500 additions and 92 deletions
+21 -4
View File
@@ -547,7 +547,12 @@
}
async function sendToContentScriptResilient(source, message, options = {}) {
const { timeoutMs = 30000, retryDelayMs = 600, logMessage = '' } = options;
const {
timeoutMs = 30000,
retryDelayMs = 600,
logMessage = '',
responseTimeoutMs,
} = options;
const start = Date.now();
let lastError = null;
let logged = false;
@@ -558,7 +563,11 @@
attempt += 1;
try {
return await sendToContentScript(source, message);
return await sendToContentScript(
source,
message,
responseTimeoutMs !== undefined ? { responseTimeoutMs } : {}
);
} catch (err) {
const retryable = isRetryableContentScriptTransportError(err);
if (!retryable) {
@@ -579,7 +588,11 @@
}
async function sendToMailContentScriptResilient(mail, message, options = {}) {
const { timeoutMs = 45000, maxRecoveryAttempts = 2 } = options;
const {
timeoutMs = 45000,
maxRecoveryAttempts = 2,
responseTimeoutMs,
} = options;
const start = Date.now();
let lastError = null;
let recoveries = 0;
@@ -589,7 +602,11 @@
throwIfStopped();
try {
return await sendToContentScript(mail.source, message);
return await sendToContentScript(
mail.source,
message,
responseTimeoutMs !== undefined ? { responseTimeoutMs } : {}
);
} catch (err) {
if (!isRetryableContentScriptTransportError(err)) {
throw err;