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

supabase / supabase-flutter / 40901490500
94%

Build:
DEFAULT BRANCH: main
Ran 29 Oct 2026 03:27PM UTC
Jobs 12
Files 190
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

29 Oct 2026 03:25PM UTC coverage: 94.219% (+0.006%) from 94.213%
40901490500

push

github

web-flow
fix(auth): align getClaims and ErrorCode with the canonical spec (#2099)

## Summary

Three drifts found in the canonical behavior audit (SDK-1499):

- SDK-2579: an unknown `kid` in `getClaims` no longer waits for a fixed
30 second window since the last JWKS fetch. The first unknown `kid`
forces a refetch immediately. Each forced refetch that does not resolve
the `kid` doubles the wait before the next one (1, 2, 4, 8, then 16
seconds), and tokens arriving during the wait go through `getUser`. A
refetch that resolves the `kid` clears the wait.
`AuthConstants.jwksUnknownKeyRefetchInterval` is replaced by
`jwksMinRefetchBackoff` and `jwksMaxRefetchBackoff`.
- SDK-2580: `JwtHeader.algorithm` is now nullable, so a token without
`alg` decodes instead of throwing. `getClaims` sends a token with a
missing or unsupported `alg` to `getUser`, as it already did for `HS*`
and tokens without a `kid`.
- SDK-2585: adds `ErrorCode.emailAddressInvalid`
(`email_address_invalid`).

Linear: SDK-2579, SDK-2580, SDK-2585.

## Test plan

- [x] Rotation right after a fetch verifies immediately without
`getUser`
- [x] Repeated unknown `kid`s follow the 1 to 16 second backoff and the
wait clears once a `kid` resolves
- [x] Missing, unsupported and `none` algorithms go through `getUser`
- [x] `ErrorCode.emailAddressInvalid` round trips through `fromCode`
- [x] `dart test` for the get claims suites, `dcm analyze`, `dart
format`


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved sign-in token verification for unknown signing keys. The
system refreshes keys immediately, then increases the wait between
retries up to 16 seconds when a key remains unavailable. During the
wait, or when a token uses a missing or unsupported signing algorithm,
verification falls back to the Auth server.
* Added a specific authentication error code for invalid email
addresses.
<!-- end of au... (continued)

20 of 21 new or added lines in 2 files covered. (95.24%)

12403 of 13164 relevant lines covered (94.22%)

6.55 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
80.0
0.0% packages/supabase_auth/lib/src/types/jwt.dart
Jobs
ID Job ID Ran Files Coverage
3 iceberg - 40901490500.3 29 Oct 2026 03:27PM UTC 7
99.72
GitHub Action Run
4 postgrest - 40901490500.4 29 Oct 2026 03:29PM UTC 30
92.82
GitHub Action Run
5 supabase_typegen - 40901490500.5 29 Oct 2026 03:29PM UTC 6
94.44
GitHub Action Run
6 supabase - 40901490500.6 29 Oct 2026 03:30PM UTC 21
94.52
GitHub Action Run
7 supabase_test - 40901490500.7 29 Oct 2026 03:27PM UTC 9
93.55
GitHub Action Run
8 supabase_functions - 40901490500.8 29 Oct 2026 03:27PM UTC 4
94.01
GitHub Action Run
9 supabase_storage - 40901490500.9 29 Oct 2026 03:29PM UTC 10
95.85
GitHub Action Run
10 supabase_auth - 40901490500.10 29 Oct 2026 03:31PM UTC 34
94.81
GitHub Action Run
11 supabase_flutter - 40901490500.11 29 Oct 2026 03:27PM UTC 16
89.03
GitHub Action Run
12 supabase_realtime - 40901490500.12 29 Oct 2026 03:29PM UTC 14
92.01
GitHub Action Run
3 yet_another_json_isolate - 40346664947.3 26 Oct 2026 03:11PM UTC 2
98.65
GitHub Action Run
8 supabase_common - 40887808401.8 29 Oct 2026 02:07PM UTC 37
94.39
GitHub Action Run
Source Files on build 40901490500
  • Tree
  • List 190
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40901490500
  • 54bcd2ff on github
  • Prev Build on main (#40896478353)
  • Next Build on main (#40904007901)
  • 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