diff --git a/lib/api/backoff.dart b/lib/api/backoff.dart index cfbba60f96..b70edb84e0 100644 --- a/lib/api/backoff.dart +++ b/lib/api/backoff.dart @@ -8,7 +8,8 @@ class BackoffMachine { BackoffMachine({ this.firstBound = const Duration(milliseconds: 100), this.maxBound = const Duration(seconds: 10), - }) : assert(firstBound <= maxBound); + }) : assert(firstBound <= maxBound), + _currentBound = firstBound; // Initialize _currentBound; /// How many waits have completed so far. /// @@ -82,13 +83,15 @@ class BackoffMachine { /// the smallest durations up to one microsecond instead of down to zero. /// Because in the real world any delay takes nonzero time, this mainly /// affects tests that use fake time, and keeps their behavior more realistic. + Duration _currentBound; // New variable to track backoff time incrementally Future wait() async { final bound = _minDuration(maxBound, - firstBound * pow(base, _waitsCompleted)); + _currentBound); final duration = debugDuration ?? _maxDuration(const Duration(microseconds: 1), bound * Random().nextDouble()); await Future.delayed(duration); _waitsCompleted++; + _currentBound = _minDuration(maxBound, _currentBound*base); // Update backoff duration safely } } diff --git a/packages/zulip_plugin/android/.gradle/8.9/checksums/checksums.lock b/packages/zulip_plugin/android/.gradle/8.9/checksums/checksums.lock new file mode 100644 index 0000000000..e674e36ec0 Binary files /dev/null and b/packages/zulip_plugin/android/.gradle/8.9/checksums/checksums.lock differ diff --git a/packages/zulip_plugin/android/.gradle/8.9/dependencies-accessors/gc.properties b/packages/zulip_plugin/android/.gradle/8.9/dependencies-accessors/gc.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/zulip_plugin/android/.gradle/8.9/fileChanges/last-build.bin b/packages/zulip_plugin/android/.gradle/8.9/fileChanges/last-build.bin new file mode 100644 index 0000000000..f76dd238ad Binary files /dev/null and b/packages/zulip_plugin/android/.gradle/8.9/fileChanges/last-build.bin differ diff --git a/packages/zulip_plugin/android/.gradle/8.9/fileHashes/fileHashes.lock b/packages/zulip_plugin/android/.gradle/8.9/fileHashes/fileHashes.lock new file mode 100644 index 0000000000..b71c8cd8c2 Binary files /dev/null and b/packages/zulip_plugin/android/.gradle/8.9/fileHashes/fileHashes.lock differ diff --git a/packages/zulip_plugin/android/.gradle/8.9/gc.properties b/packages/zulip_plugin/android/.gradle/8.9/gc.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/zulip_plugin/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/packages/zulip_plugin/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000..8afe66156e Binary files /dev/null and b/packages/zulip_plugin/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/packages/zulip_plugin/android/.gradle/buildOutputCleanup/cache.properties b/packages/zulip_plugin/android/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000000..ac27f273f4 --- /dev/null +++ b/packages/zulip_plugin/android/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Thu Feb 13 09:46:23 IST 2025 +gradle.version=8.9 diff --git a/packages/zulip_plugin/android/.gradle/vcs-1/gc.properties b/packages/zulip_plugin/android/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000000..e69de29bb2