Skip to content

Commit 694e01f

Browse files
committed
fix(Controller): Fix capped exponential backoff logic
fixes #2196 Signed-off-by: Marcel Klehr <mklehr@gmx.net>
1 parent fbe7d80 commit 694e01f

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

src/lib/browser/BrowserController.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class AlarmManager {
7171
*/
7272
getBackoffInterval(interval, errorCount, lastSync) {
7373
const maxErrorCount = Math.log2(MAX_BACKOFF_INTERVAL / (interval * 1000 * 60))
74-
if (errorCount < maxErrorCount || lastSync + MAX_BACKOFF_INTERVAL > Date.now()) {
74+
if (errorCount < maxErrorCount || lastSync + MAX_BACKOFF_INTERVAL < Date.now()) {
7575
return Math.min(MAX_BACKOFF_INTERVAL, interval * 1000 * 60 * Math.pow(2, errorCount))
7676
} else {
7777
return MAX_BACKOFF_INTERVAL + MAX_BACKOFF_INTERVAL * (errorCount - maxErrorCount)

src/lib/native/NativeController.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class AlarmManager {
8080
*/
8181
getBackoffInterval(interval, errorCount, lastSync) {
8282
const maxErrorCount = Math.log2(MAX_BACKOFF_INTERVAL / (interval * 1000 * 60))
83-
if (errorCount < maxErrorCount || lastSync + MAX_BACKOFF_INTERVAL > Date.now()) {
83+
if (errorCount < maxErrorCount || lastSync + MAX_BACKOFF_INTERVAL < Date.now()) {
8484
return Math.min(MAX_BACKOFF_INTERVAL, interval * 1000 * 60 * Math.pow(2, errorCount))
8585
} else {
8686
return MAX_BACKOFF_INTERVAL + MAX_BACKOFF_INTERVAL * (errorCount - maxErrorCount)

0 commit comments

Comments
 (0)