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

supabase / supabase-flutter / 27945964004
85%

Build:
DEFAULT BRANCH: main
Ran 22 Jun 2026 10:24AM UTC
Jobs 8
Files 78
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

22 Jun 2026 10:22AM UTC coverage: 85.249% (+0.05%) from 85.201%
27945964004

push

github

web-flow
fix: correctness fixes across gotrue, postgrest, storage, supabase and supabase_flutter (#1445)

## Summary

A batch of correctness fixes found during a code review sweep. Each fix
is in its own per-package commit and ships with a regression test that
was verified to fail on the current `main` and pass with the fix.

### gotrue
- `verifyOTP` sent the captcha token under `captchaToken` inside
`gotrue_meta_security`, but the server reads `captcha_token`, so the
token was silently dropped. Now uses `captcha_token` like every other
call.
- `resend` checked `containsKey(['message_id'])` with a list argument
(always false), so `ResendResponse.messageId` was never populated. Now
uses the string key.

### postgrest
- `.maybeSingle().count()` with zero matching rows and no converter
returned `null as T` where `T` is the non-nullable `PostgrestResponse`,
throwing a `TypeError`. Now returns a response with null data and
`count: 0`.

### storage_client
- A single `MultipartFile` instance was reused across retry attempts, so
a retry re-finalized an already finalized file and threw a `StateError`
instead of retrying. The request factory now builds a fresh
`MultipartFile` per attempt.
- Binary signed url uploads derived the content type from the full url
including the `?token=` query string, defeating mime lookup and falling
back to `application/octet-stream`. Now uses the url path.
- `_removeEmptyFolders` used JavaScript regex literals (`/.../g`) that
never matched, making it a no-op. Now uses valid Dart patterns so signed
url paths are normalized.

### supabase
- The `headers` setter rebuilt the realtime client headers from the
client headers only, dropping the `apikey` entry present at
construction. Now includes the `apikey`. Also removes a redundant
self-spread when merging rest headers before an `rpc`.

### supabase_flutter
- When initialized with a custom `accessToken`,
`_restoreSessionCancellableOperation` was never assigned, so `dispose()`
threw a `LateIniti... (continued)

15 of 16 new or added lines in 7 files covered. (93.75%)

1 existing line in 1 file now uncovered.

4086 of 4793 relevant lines covered (85.25%)

3.58 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
0.0
0.0% packages/supabase/lib/src/supabase_query_schema.dart

Coverage Regressions

Lines Coverage ∆ File
1
71.21
0.0% packages/gotrue/lib/src/gotrue_client.dart
Jobs
ID Job ID Ran Files Coverage
4 gotrue - 27945964004.4 22 Jun 2026 10:26AM UTC 26
83.53
GitHub Action Run
5 supabase - 27945964004.5 22 Jun 2026 10:24AM UTC 15
82.38
GitHub Action Run
6 postgrest - 27945964004.6 22 Jun 2026 10:26AM UTC 9
84.16
GitHub Action Run
7 storage_client - 27945964004.7 22 Jun 2026 10:25AM UTC 5
93.0
GitHub Action Run
8 supabase_flutter - 27945964004.8 22 Jun 2026 10:25AM UTC 9
77.08
GitHub Action Run
7 yet_another_json_isolate - 27913856643.7 21 Jun 2026 06:42PM UTC 1
79.03
GitHub Action Run
2 functions_client - 27916391162.2 21 Jun 2026 08:24PM UTC 2
97.14
GitHub Action Run
4 realtime_client - 27916391162.4 21 Jun 2026 08:26PM UTC 11
88.15
GitHub Action Run
Source Files on build 27945964004
  • Tree
  • List 78
  • Changed 7
  • Source Changed 7
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27945964004
  • bf31389d on github
  • Prev Build on main (#27945378487)
  • Next Build on main (#27952543454)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc