• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 39956578220
93%

Build:
DEFAULT BRANCH: main
Ran 23 Oct 2026 12:54PM UTC
Jobs 10
Files 147
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Oct 2026 12:51PM UTC coverage: 91.985% (-1.0%) from 92.964%
39956578220

push

github

web-flow
fix(supabase_common): cancel the retry backoff on abort and honour long Retry-After and jitter at the cap (#2043)

Linear:
https://linear.app/supabase/issue/SDK-2355/fixsupabase-common-retry-loop-leaks-its-backoff-timer-on-abort-and

Fixes the shared retry loop in `supabase_common` and the exception names
it surfaced.

## Changes

1. **An abort cancels the backoff timer.** The wait between attempts is
now a `Timer` that the abort signal cancels, so an aborted call no
longer leaves a timer pending for up to `maxDelay`. That pending timer
is what failed widget tests with "A Timer is still pending" and kept
scripts from exiting.
2. **A `Retry-After` longer than `maxDelay` is not retried.** The loop
used to cut it down to `maxDelay`, so a `503` with `Retry-After: 120`
was retried after 30 seconds, three times. Now the exception is
rethrown, or the result returned, without retrying. Auth cut the header
down itself in `_refreshAccessToken` before handing it to `retry`, so
that cap is removed too.
3. **Jitter is applied after the cap.** Delays that reach `maxDelay`
used to all be exactly `maxDelay`. They are now randomized like every
other delay.
4. **An abort signal that fails ends the loop with
`RequestAbortedException`**, as the dartdoc says, instead of rethrowing
the signal's own error.
5. **`Retry-After: 0` falls back to the backoff**, for the same reason a
date in the past already did. A refresh answered with a 429 is only
retried within the tick when its `Retry-After` asks for a wait, so a 429
with `Retry-After: 0` now keeps the session and waits for the next tick,
like a 429 without the header.
6. **The `SupabaseRetryOptions` class doc lists what is actually
retried.** PostgREST also retries reads after a network error, and auth
also retries `5xx` responses.
7. **Exception `toString` uses literal class names.** Item 7 was marked
unconfirmed in the ticket. A program compiled with `dart compile js -O2`
and `-O4` printed `minified:a2(...)` for `'$runtim... (continued)

26 of 28 new or added lines in 8 files covered. (92.86%)

100 existing lines in 7 files now uncovered.

10203 of 11092 relevant lines covered (91.99%)

5.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
61.54
0.0% packages/postgrest/lib/src/types.dart
1
80.95
0.0% packages/supabase_functions/lib/src/types.dart

Coverage Regressions

Lines Coverage ∆ File
49
92.66
0.29% packages/supabase_typegen/lib/src/dart_generator.dart
16
85.8
0.0% packages/supabase/lib/src/supabase_stream_builder.dart
16
91.15
0.0% packages/supabase_auth/lib/src/auth_client.dart
12
61.54
0.0% packages/postgrest/lib/src/types.dart
4
91.11
0.0% packages/supabase_auth/lib/src/types/auth_exception.dart
2
97.29
0.0% packages/supabase_storage/lib/src/types.dart
1
99.7
0.0% packages/supabase_typegen/lib/src/generator_metadata_parser.dart
Jobs
ID Job ID Ran Files Coverage
8 supabase_test - 39956578220.8 23 Oct 2026 12:54PM UTC 9
92.31
GitHub Action Run
9 supabase_typegen - 39956578220.9 23 Oct 2026 12:54PM UTC 6
94.38
GitHub Action Run
10 iceberg - 39956578220.10 23 Oct 2026 12:54PM UTC 6
77.18
GitHub Action Run
6 supabase_auth - 39951497819.6 23 Oct 2026 12:17PM UTC 34
93.44
GitHub Action Run
4 supabase_storage - 39951497819.4 23 Oct 2026 12:16PM UTC 10
96.64
GitHub Action Run
7 supabase_realtime - 39951497819.7 23 Oct 2026 12:16PM UTC 14
91.15
GitHub Action Run
3 postgrest - 39951497819.3 23 Oct 2026 12:17PM UTC 28
92.54
GitHub Action Run
8 supabase_functions - 39951497819.8 23 Oct 2026 12:13PM UTC 4
93.28
GitHub Action Run
1 supabase - 39951497819.1 23 Oct 2026 12:17PM UTC 20
93.83
GitHub Action Run
9 supabase_flutter - 39951497819.9 23 Oct 2026 12:14PM UTC 16
80.52
GitHub Action Run
Source Files on build 39956578220
  • Tree
  • List 147
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39956578220
  • 63dfd112 on github
  • Prev Build on main (#39951497819)
  • Next Build on main (#39956826359)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc