fix: 超时迁移只执行一次——用_timeout_v2_migrated标记避免误迁移用户设置的0

This commit is contained in:
thzxx
2026-06-10 10:05:50 +08:00
parent efb7cc1241
commit f334c6b31e
+8 -4
View File
@@ -367,10 +367,14 @@ async function init(): Promise<void> {
let streamTimeout = await db.getSetting<number>('streamTimeout', -1); let streamTimeout = await db.getSetting<number>('streamTimeout', -1);
let mcpTimeout = await db.getSetting<number>('mcpTimeout', -1); let mcpTimeout = await db.getSetting<number>('mcpTimeout', -1);
// 兼容旧版:旧版把"未设置"存为0新版0=禁用。将0迁移为-1(默认) // 兼容旧版:首次升级时,旧版把"未设置"存为0一次性迁移为-1
if (httpTimeout === 0) { httpTimeout = -1; await db.saveSetting('httpTimeout', -1); } const migrated = await db.getSetting<boolean>('_timeout_v2_migrated', false);
if (streamTimeout === 0) { streamTimeout = -1; await db.saveSetting('streamTimeout', -1); } if (!migrated) {
if (mcpTimeout === 0) { mcpTimeout = -1; await db.saveSetting('mcpTimeout', -1); } if (httpTimeout === 0) { httpTimeout = -1; await db.saveSetting('httpTimeout', -1); }
if (streamTimeout === 0) { streamTimeout = -1; await db.saveSetting('streamTimeout', -1); }
if (mcpTimeout === 0) { mcpTimeout = -1; await db.saveSetting('mcpTimeout', -1); }
await db.saveSetting('_timeout_v2_migrated', true);
}
// 应用流式超时到 stateagent-engine 读取,0=禁用) // 应用流式超时到 stateagent-engine 读取,0=禁用)
state.set('streamTimeout', streamTimeout >= 0 ? streamTimeout * 1000 : 300_000); state.set('streamTimeout', streamTimeout >= 0 ? streamTimeout * 1000 : 300_000);