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

supabase / supabase-flutter / 38904765807
92%

Build:
DEFAULT BRANCH: main
Ran 16 Oct 2026 01:03PM UTC
Jobs 11
Files 161
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

16 Oct 2026 01:01PM UTC coverage: 91.991% (-0.001%) from 91.992%
38904765807

push

github

web-flow
fix(auth)!: throw when a client has no asyncStorage for the pkce flow (#1971)

Fixes [SDK-2259](https://linear.app/supabase/issue/SDK-2259).

## Problem

A plain `SupabaseClient(url, key)` uses the pkce flow without an
`asyncStorage`. The `AuthClient` constructor guarded this with an
assert, which causes two problems:

- `dart run` and AOT builds skip asserts, so they fail later at the
first pkce call with a null check error, far from the cause.
- The message comes from deep inside `supabase_auth` and doesn't say the
fix belongs in the `SupabaseClient` constructor.

## Changes

- `SupabaseClient` checks its `authOptions` before it builds anything
else and throws an `ArgumentError`. The message names the fix
(`authOptions: AuthClientOptions(asyncStorage:
MemoryAuthAsyncStorage())` or the implicit flow). When the code runs
inside a `package:test` test, found through the `#test.invoker` zone
value, the message also points to `testSupabaseClient` from
`supabase_test`. The JSON isolate the client already spawned is disposed
before the throw.
- `AuthClient` throws an `ArgumentError` instead of asserting, for both
the pkce case and `persistSession` without a storage. Debug and release
builds now fail the same way.
- `exchangeCodeForSession` throws an `AuthException` instead of
asserting when there is no verifier store. This can still happen with
the implicit flow and no storage.
- A `SupabaseClient` with a third-party `accessToken` no longer builds
an `AuthClient` at all, since `supabase.auth` already throws in that
mode. Without this, such clients would start throwing in release builds.
- MIGRATION.md gets a section about standalone and server clients
needing an `asyncStorage`, also listed under the changes the compiler
won't catch.

## Breaking change

A client created without an `asyncStorage` under the pkce flow used to
build fine in release builds. It now throws at construction.

18 of 19 new or added lines in 2 files covered. (94.74%)

9648 of 10488 relevant lines covered (91.99%)

5.44 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.97
-0.12% packages/supabase_auth/lib/src/auth_client.dart
Jobs
ID Job ID Ran Files Coverage
3 iceberg - 38904765807.3 16 Oct 2026 01:03PM UTC 6
71.32
GitHub Action Run
4 supabase_functions - 38904765807.4 16 Oct 2026 01:03PM UTC 4
93.28
GitHub Action Run
5 supabase_typegen - 38904765807.5 16 Oct 2026 01:04PM UTC 6
96.25
GitHub Action Run
6 supabase_flutter - 38904765807.6 16 Oct 2026 01:04PM UTC 15
80.58
GitHub Action Run
7 supabase - 38904765807.7 16 Oct 2026 01:06PM UTC 17
95.11
GitHub Action Run
8 supabase_auth - 38904765807.8 16 Oct 2026 01:08PM UTC 34
92.82
GitHub Action Run
9 postgrest - 38904765807.9 16 Oct 2026 01:06PM UTC 32
94.3
GitHub Action Run
10 supabase_realtime - 38904765807.10 16 Oct 2026 01:06PM UTC 14
90.92
GitHub Action Run
11 supabase_storage - 38904765807.11 16 Oct 2026 01:05PM UTC 9
98.47
GitHub Action Run
11 yet_another_json_isolate - 38891534378.11 16 Oct 2026 11:07AM UTC 1
98.44
GitHub Action Run
3 supabase_common - 38891534378.3 16 Oct 2026 11:07AM UTC 23
87.92
GitHub Action Run
Source Files on build 38904765807
  • Tree
  • List 161
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38904765807
  • 042d36d3 on github
  • Prev Build on main (#38903734440)
  • Next Build on main (#38905520141)
  • 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