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

supabase / supabase-flutter / 31509351637
89%

Build:
DEFAULT BRANCH: main
Ran 11 Aug 2026 03:54PM UTC
Jobs 9
Files 100
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

11 Aug 2026 03:52PM UTC coverage: 87.475% (+0.1%) from 87.362%
31509351637

push

github

web-flow
feat!: use DateTime for all timestamp fields (#1663)

Closes #1449

## What

Every timestamp the SDK returns is now a `DateTime` in UTC, parsed once
when the response is decoded, instead of a raw ISO 8601 `String` or a
Unix timestamp `int`.

| Type | Fields | Before | After |
| --- | --- | --- | --- |
| `Session` | `expiresAt` | `int?` (Unix seconds) | `DateTime?` |
| `User` | `createdAt` | `String` | `DateTime` |
| `User` | `confirmationSentAt`, `recoverySentAt`, `emailChangeSentAt`,
`invitedAt`, `confirmedAt`, `emailConfirmedAt`, `phoneConfirmedAt`,
`lastSignInAt`, `updatedAt` | `String?` | `DateTime?` |
| `UserIdentity` | `createdAt`, `lastSignInAt`, `updatedAt` | `String?`
| `DateTime?` |
| `OAuthClient` | `createdAt`, `updatedAt` | `String` | `DateTime` |
| `Bucket` | `createdAt`, `updatedAt` | `String` | `DateTime` |
| `FileObject` | `createdAt`, `updatedAt`, `lastAccessedAt` | `String?`
| `DateTime?` |
| `FileObjectV2` | `createdAt` / `updatedAt`, `lastAccessedAt`,
`lastModified` | `String` / `String?` | `DateTime` / `DateTime?` |
| `PaginatedFile` | `createdAt`, `updatedAt` | `String?` | `DateTime?` |

The wire format is unchanged: `toJson()` still writes ISO 8601 strings
for the `User` timestamps and Unix seconds for `Session.expires_at`, so
sessions persisted by v2 are still readable.

## How

Parsing now lives in `supabase_common` (`parseIso8601`,
`tryParseIso8601`, `parseUnixSeconds`, `tryParseUnixSeconds`,
`dateTimeFromUnixSeconds`, `unixSecondsFromDateTime`) and replaces the
per-type parsers that had grown in `mfa.dart`, `passkey.dart`,
`custom_oauth_provider.dart` and `storage_client/types.dart`. All of
them normalize to UTC, so the timestamps in `Factor`, `Passkey`,
`AuthMFAChallengeResponse`, `AMREntry`, `AnalyticsBucket` and
`CustomOAuthProvider` are consistent with the newly converted ones.

Three consequences worth calling out:

- **Unix timestamps are UTC now.** `AuthMFAChallengeResponse.expiresAt`,
the passkey challenge expiries ... (continued)

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

59 existing lines in 4 files now uncovered.

5671 of 6483 relevant lines covered (87.47%)

4.05 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
67.86
0.0% packages/gotrue/lib/src/types/mfa.dart

Coverage Regressions

Lines Coverage ∆ File
31
67.86
0.0% packages/gotrue/lib/src/types/mfa.dart
25
79.04
0.0% packages/gotrue/lib/src/gotrue_client.dart
2
95.65
0.0% packages/gotrue/lib/src/types/session.dart
1
98.86
0.0% packages/gotrue/lib/src/types/custom_oauth_provider.dart
Jobs
ID Job ID Ran Files Coverage
3 supabase_flutter - 31509351637.3 11 Aug 2026 03:55PM UTC 10
80.29
GitHub Action Run
4 realtime_client - 31509351637.4 11 Aug 2026 03:57PM UTC 11
90.43
GitHub Action Run
5 functions_client - 31509351637.5 11 Aug 2026 03:54PM UTC 3
98.86
GitHub Action Run
6 storage_client - 31509351637.6 11 Aug 2026 03:56PM UTC 13
84.53
GitHub Action Run
7 supabase_common - 31509351637.7 11 Aug 2026 03:54PM UTC 12
99.32
GitHub Action Run
8 supabase - 31509351637.8 11 Aug 2026 03:57PM UTC 13
87.19
GitHub Action Run
9 postgrest - 31509351637.9 11 Aug 2026 03:56PM UTC 10
85.71
GitHub Action Run
9 gotrue - 31495823238.9 11 Aug 2026 01:27PM UTC 27
88.02
GitHub Action Run
2 yet_another_json_isolate - 31109618140.2 06 Aug 2026 02:14PM UTC 1
93.65
GitHub Action Run
Source Files on build 31509351637
  • Tree
  • List 100
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31509351637
  • bad3af8f on github
  • Prev Build on main (#31495823238)
  • Next Build on main (#31570344674)
  • 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