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

supabase / supabase-flutter / 32832987965
89%

Build:
DEFAULT BRANCH: main
Ran 25 Aug 2026 09:39AM UTC
Jobs 10
Files 120
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

25 Aug 2026 09:37AM UTC coverage: 88.649%. Remained the same
32832987965

push

github

web-flow
refactor(auth)!: make Session.expiresAt read-only and auth DTO fields final (#1766)

Closes SDK-1602.

A few mutable public fields were left in `supabase_auth`. This makes
them immutable.

## `Session.expiresAt`

`expiresAt` is derived from the `exp` claim of the access token, not
from the login response body, so a public setter only let a consumer
desynchronize the value from the token that the auto refresh logic acts
on. It is now `late final`, which keeps the lazy derivation and its
caching while making assignment a compile error.

## `ResendResponse.messageId`

Now `final`, like every other response type in the package.

## `UserAttributes` and `AdminUserAttributes`

All six inherited request fields (`email`, `phone`, `password`, `nonce`,
`data`, `currentPassword`) are `final`. `AdminUserAttributes` already
declared its own additions as `final`, so the two halves of the class
now agree.

## Breaking change

Assigning to any of these fields no longer compiles. `MIGRATION.md`
documents the change and shows constructing the request objects instead
of mutating them after construction.

## Testing

`dart analyze` is clean across the workspace and the full
`supabase_auth` suite passes (530 tests, run with `-j 1` against a local
GoTrue). Added a test that pins `Session.expiresAt` to a single cached
derivation across reads.

No capability matrix changes: the field names are unchanged, and
`check-api-symbols` against the base reports no new uncovered symbols.

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

- **Documentation**
- Added v2-to-v3 migration guidance for immutable session,
authentication response, and user attribute fields.
- Documented using constructors and `copyWith` when updating these
values.

- **Refactor**
- Session expiration, resend response IDs, and user attribute request
fields are now immutable.
- Session expiration is derived from the access token and remains
consistent across re... (continued)

2 of 2 new or added lines in 2 files covered. (100.0%)

6029 of 6801 relevant lines covered (88.65%)

4.57 hits per line

Jobs
ID Job ID Ran Files Coverage
3 supabase - 32832987965.3 25 Aug 2026 09:43AM UTC 14
93.57
GitHub Action Run
4 supabase_functions - 32832987965.4 25 Aug 2026 09:39AM UTC 4
97.83
GitHub Action Run
5 supabase_auth - 32832987965.5 25 Aug 2026 09:42AM UTC 30
90.69
GitHub Action Run
6 postgrest - 32832987965.6 25 Aug 2026 09:41AM UTC 11
84.59
GitHub Action Run
7 supabase_storage - 32832987965.7 25 Aug 2026 09:41AM UTC 9
97.32
GitHub Action Run
8 supabase_realtime - 32832987965.8 25 Aug 2026 09:42AM UTC 13
90.36
GitHub Action Run
9 supabase_flutter - 32832987965.9 25 Aug 2026 09:39AM UTC 11
82.22
GitHub Action Run
10 iceberg - 32832987965.10 25 Aug 2026 09:39AM UTC 6
68.52
GitHub Action Run
8 supabase_common - 32709892111.8 24 Aug 2026 09:09AM UTC 21
86.96
GitHub Action Run
2 yet_another_json_isolate - 32488229193.2 21 Aug 2026 01:43PM UTC 1
98.44
GitHub Action Run
Source Files on build 32832987965
  • Tree
  • List 120
  • Changed 4
  • Source Changed 4
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32832987965
  • c17be896 on github
  • Prev Build on main (#32824434652)
  • Next Build on main (#32948304016)
  • 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