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

supabase / supabase-flutter / 39977567655
93%

Build:
DEFAULT BRANCH: main
Ran 23 Oct 2026 03:23PM UTC
Jobs 12
Files 185
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 03:21PM UTC coverage: 92.64% (+0.05%) from 92.595%
39977567655

push

github

web-flow
fix(supabase_test)!: fast failures, clock-aware sessions, a real signedIn event and stubs that match what the SDK sends (#2035)

Linear:
https://linear.app/supabase/issue/SDK-2357/fixsupabase-test-fast-failures-clock-aware-sessions-a-real-signedin

Fixes the twelve `supabase_test` findings from the v3 review. Each one
has a regression test in the package suite.

## Changes

1. **Fast failures.** `testSupabaseClient` turns off retries for
database requests and token refreshes by default, and takes a
`retryOptions` parameter to turn them back on. Auth sign-in calls were
never retried. `initializeTestSupabase` in
`supabase_flutter/testing.dart` gets the same default and parameter,
because its docs promise the same defaults as `testSupabaseClient`.
2. **`stubError` docs.** The example now says what happens: every failed
attempt counts against `times`, retries included. Retries are off in
`testSupabaseClient`, so each read fails until `times` runs out.
3. **Unmatched requests fail the test.** An unmatched request still
throws the `StateError`, and it is now also reported to the current zone
as an uncaught error. That fails the test even when auth or functions
wrap the error as a `SupabaseTransportException`. A test that expects an
unmatched request to fail can pass
`MockSupabaseHttpClient(reportUnmatchedRequests: false)`.
4. **Clock-aware sessions.** `signInTestUser` and the session stubs read
expiry from `clock.now()`. The stubs build the session when the request
arrives, so `withClock` and fake async clocks apply.
5. **Near-future `expiresAt`.** `signInTestUser` no longer goes through
`recoverSession`, so the 30 second expiry margin no longer applies. Only
an `expiresAt` that falls in the past once truncated to the whole
seconds of the `exp` claim is rejected, with an `ArgumentError`.
6. **`signedIn` event.** A new `@internal` method,
`AuthClient.signInWithSession`, stores the session and emits `signedIn`.
`signInTestUser` uses it.
7. **`verifyOTP` stub.... (continued)

96 of 99 new or added lines in 7 files covered. (96.97%)

11807 of 12745 relevant lines covered (92.64%)

6.16 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
94.35
0.23% packages/supabase_test/lib/src/mock_realtime_transport.dart
Jobs
ID Job ID Ran Files Coverage
4 supabase_auth - 39977567655.4 23 Oct 2026 03:27PM UTC 34
94.06
GitHub Action Run
5 postgrest - 39977567655.5 23 Oct 2026 03:27PM UTC 29
92.41
GitHub Action Run
6 supabase - 39977567655.6 23 Oct 2026 03:27PM UTC 20
93.84
GitHub Action Run
7 supabase_storage - 39977567655.7 23 Oct 2026 03:26PM UTC 10
96.51
GitHub Action Run
8 supabase_test - 39977567655.8 23 Oct 2026 03:23PM UTC 9
93.44
GitHub Action Run
9 supabase_functions - 39977567655.9 23 Oct 2026 03:24PM UTC 4
93.87
GitHub Action Run
10 supabase_typegen - 39977567655.10 23 Oct 2026 03:26PM UTC 6
94.46
GitHub Action Run
11 supabase_flutter - 39977567655.11 23 Oct 2026 03:24PM UTC 16
86.33
GitHub Action Run
12 iceberg - 39977567655.12 23 Oct 2026 03:24PM UTC 6
77.18
GitHub Action Run
5 supabase_realtime - 39972307761.5 23 Oct 2026 02:49PM UTC 14
91.69
GitHub Action Run
10 supabase_common - 39964796217.10 23 Oct 2026 01:53PM UTC 36
94.12
GitHub Action Run
3 yet_another_json_isolate - 39964796217.3 23 Oct 2026 01:53PM UTC 1
98.68
GitHub Action Run
Source Files on build 39977567655
  • Tree
  • List 185
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39977567655
  • 9e74106e on github
  • Prev Build on main (#39974612774)
  • Next Build on main (#39979930520)
  • 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