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

supabase / supabase-flutter / 39958731293
94%

Build:
DEFAULT BRANCH: main
Ran 23 Oct 2026 01:09PM UTC
Jobs 12
Files 184
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 01:08PM UTC coverage: 92.212%. Remained the same
39958731293

push

github

web-flow
fix(auth)!: harden PKCE verifiers, redirectType, signOut and dispose edge cases (#2027)

Fixes
[SDK-2342](https://linear.app/supabase/issue/SDK-2342/fixauth-pkce-verifier-redirecttype-signout-and-dispose-edge-cases).

Five auth edge cases from the v3 review. Each one has a regression test
built on `supabase_test`.

## Changes

### 1. A failed request no longer replaces the PKCE verifier an earlier
email needs

The verifier is still stored before the request goes out, because the
request carries its challenge. When the request fails, the new
`PKCEVerifierStore.discard` removes the verifier's slot and index entry.
If the failed flow was the one under the mirror key, the mirror goes
back to the newest flow that is still pending. A rate-limited second
`signInWithOtp` therefore leaves the first email's link working.

Covered: `signUp` (email), `signInWithOtp` (email), `resend` (email),
`updateUser` (email change), `resetPasswordForEmail`, `getSSOSignInUrl`
and `getLinkIdentityUrl`.

For the email flows, the verifier is discarded when the server answered
with a 4xx error (`AuthApiException`, `AuthUnknownException`). It is
kept when the request may still have gone through and sent the email: no
answer at all (`AuthRetryableFetchException`), or a 5xx
(`AuthRetryableApiException`) that a gateway can return after GoTrue
sent the email. SSO and identity linking return a URL rather than
sending an email, so they discard on any failure.

`resend(type: OtpType.emailChange)` now stores the verifier with the
email-change marker, the same way `updateUser` does. A resent
email-change link exchanged through PKCE therefore reports `emailChange`
and emits `userUpdated`, like the implicit flow.

Known limit: if starting the failed flow evicted the oldest of the 5
pending verifiers, that evicted verifier is not restored.

### 2. `AuthSessionUrlResponse.redirectType` is a typed
`AuthRedirectType` (breaking)

The new enum has three values: `signIn`, `passwordRecovery` and
`em... (continued)

83 of 90 new or added lines in 3 files covered. (92.22%)

60 existing lines in 3 files now uncovered.

11449 of 12416 relevant lines covered (92.21%)

5.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
91.15
0.0% packages/supabase_auth/lib/src/auth_client.dart

Coverage Regressions

Lines Coverage ∆ File
57
91.15
0.0% packages/supabase_auth/lib/src/auth_client.dart
2
83.33
0.0% packages/supabase_auth/lib/src/types/auth_response.dart
1
98.84
0.0% packages/supabase_auth/lib/src/pkce_verifier_store.dart
Jobs
ID Job ID Ran Files Coverage
6 supabase_functions - 39958731293.6 23 Oct 2026 01:09PM UTC 4
93.44
GitHub Action Run
7 supabase_flutter - 39958731293.7 23 Oct 2026 01:10PM UTC 16
80.52
GitHub Action Run
8 iceberg - 39958731293.8 23 Oct 2026 01:10PM UTC 6
77.18
GitHub Action Run
9 postgrest - 39958731293.9 23 Oct 2026 01:13PM UTC 28
92.5
GitHub Action Run
10 supabase - 39958731293.10 23 Oct 2026 01:12PM UTC 20
93.84
GitHub Action Run
11 supabase_realtime - 39958731293.11 23 Oct 2026 01:12PM UTC 14
91.04
GitHub Action Run
12 supabase_storage - 39958731293.12 23 Oct 2026 01:12PM UTC 10
96.51
GitHub Action Run
3 supabase_test - 39956826359.3 23 Oct 2026 12:57PM UTC 9
92.31
GitHub Action Run
9 supabase_auth - 39956826359.9 23 Oct 2026 01:00PM UTC 34
93.47
GitHub Action Run
9 supabase_typegen - 39956578220.9 23 Oct 2026 12:54PM UTC 6
94.38
GitHub Action Run
12 supabase_common - 39956826359.12 23 Oct 2026 12:57PM UTC 36
94.12
GitHub Action Run
8 yet_another_json_isolate - 39956826359.8 23 Oct 2026 12:57PM UTC 1
98.68
GitHub Action Run
Source Files on build 39958731293
  • Tree
  • List 184
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39958731293
  • c4dadffb on github
  • Prev Build on main (#39956826359)
  • Next Build on main (#39962734635)
  • 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