Skip to content

Commit cca158b

Browse files
committed
fix fllback
1 parent d256a92 commit cca158b

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

doc/description.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ Mouseover Translate Any Language At Once
1919
English, Russian, Japanese, Chinese and so on
2020

2121
# Change Log
22+
- 0.1.200
23+
- reset fallback engine if all cooldown
2224
- 0.1.199
2325
- add setting backup (requested by emrestive)
2426
- add setting reset (requested by 7xx)

src/translator/translateCaller.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ var fallbackEngineActList = [
99
"deepl",
1010
"yandex",
1111
];
12-
var fallbackEngineCrashTime = { google: 1, bing: 2, baidu: 3 };
12+
var fallbackEngineCrashTimeInit = { google: 1, bing: 2, baidu: 3 };
13+
var fallbackEngineCrashTime = { ...fallbackEngineCrashTimeInit };
1314
var fallbackEngineCrashCount = {};
1415
var fallbackWaitTime = 1000 * 60 * 60; // 1 hour
1516
var fallbackEngineSwapList = ["google", "bing", "baidu"];
@@ -97,6 +98,11 @@ async function translateWithFallbackEngine(
9798
engine,
9899
retry = 0
99100
) {
101+
// Reset crash times if all engines are in cooldown
102+
if (retry === 0 && Object.values(fallbackEngineCrashTime).every(time => Date.now() < time)) {
103+
fallbackEngineCrashTime = { ...fallbackEngineCrashTimeInit };
104+
fallbackEngineCrashCount = {};
105+
}
100106
if (retry > fallbackMaxRetry) return null;
101107

102108
fallbackEngineCrashCount[engine] ??= 0;

0 commit comments

Comments
 (0)