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

supabase / supabase-flutter / 35998092270
94%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2026 12:18PM UTC
Jobs 11
Files 171
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

24 Sep 2026 12:17PM UTC coverage: 91.134% (+0.2%) from 90.951%
35998092270

push

github

web-flow
feat(supabase): surface the server request id on exceptions (#1885)

Every response from the Supabase gateway carries an `sb-request-id`
header, but nothing in the SDK exposed it. A user with a failing request
had no identifier to paste into the log explorer or quote in a support
thread.

Adds `requestId` to `SupabaseException`, so `AuthException`,
`PostgrestApiException`, `StorageException` and `FunctionException` all
carry it, and every `toString` lists it. The value is read off the
response headers in each client's error path: `sb-request-id` first,
`x-request-id` as the fallback for a self-hosted stack behind a reverse
proxy that assigns its own. It is `null` when no response was received
or the response carried neither.

Beyond the service error responses, the id is also set on the exceptions
a client raises after receiving a response: the auth
`AuthUnknownException`, the postgrest exceptions for a non-JSON 2xx body
and for the row `maybeSingle()` rejects, and the storage exception for a
success body of the wrong shape. `AuthException` equality includes the
new field. `PostgrestApiException.toJson` and both `fromJson` factories
carry it too.

Successful responses do not expose the id. Most calls resolve to the
decoded data rather than a response object, so exposing it there would
mean a new wrapper type on every method for a value that is only needed
once something has gone wrong.

`sdk-compliance.yaml` is unchanged: the field is declared on the shared
base in `supabase_common`, which the symbol scan excludes, and the
service exceptions only inherit it. The compliance validation, the
public API symbol check and the drift check pass locally against the
pinned tooling. No canonical capability exists for request ids yet.

Verified against two hosted projects that the REST, auth, storage and
functions endpoints all answer with `sb-request-id`.

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

* **Ne... (continued)

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

8696 of 9542 relevant lines covered (91.13%)

4.89 hits per line

Jobs
ID Job ID Ran Files Coverage
2 supabase_storage - 35998092270.2 24 Sep 2026 12:20PM UTC 9
97.83
GitHub Action Run
3 supabase_auth - 35998092270.3 24 Sep 2026 12:22PM UTC 32
92.06
GitHub Action Run
4 supabase_typegen - 35998092270.4 24 Sep 2026 12:20PM UTC 24
95.2
GitHub Action Run
5 supabase_functions - 35998092270.5 24 Sep 2026 12:18PM UTC 4
96.0
GitHub Action Run
6 postgrest - 35998092270.6 24 Sep 2026 12:21PM UTC 28
94.11
GitHub Action Run
7 supabase_flutter - 35998092270.7 24 Sep 2026 12:18PM UTC 14
78.5
GitHub Action Run
8 supabase_common - 35998092270.8 24 Sep 2026 12:18PM UTC 22
87.5
GitHub Action Run
9 iceberg - 35998092270.9 24 Sep 2026 12:18PM UTC 6
68.52
GitHub Action Run
10 supabase - 35998092270.10 24 Sep 2026 12:21PM UTC 18
93.71
GitHub Action Run
11 supabase_realtime - 35998092270.11 24 Sep 2026 12:21PM UTC 13
90.66
GitHub Action Run
2 yet_another_json_isolate - 35608843571.2 21 Sep 2026 01:58PM UTC 1
98.44
GitHub Action Run
Source Files on build 35998092270
  • Tree
  • List 171
  • Changed 10
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35998092270
  • e28a6ad3 on github
  • Prev Build on main (#35978129877)
  • Next Build on main (#36114631192)
  • 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