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

supabase / supabase-flutter / 37318078784
92%

Build:
DEFAULT BRANCH: main
Ran 05 Oct 2026 01:37PM UTC
Jobs 11
Files 173
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

05 Oct 2026 01:36PM UTC coverage: 91.39%. Remained the same
37318078784

push

github

web-flow
fix(postgrest): strip nulls on plain and single() responses (#1910)

## Description

`stripNulls()` appended `;nulls=stripped` to whatever `Accept` header
was set when it was called. That only worked for
`single().stripNulls()`:

- A plain `select().stripNulls()` sent
`application/json;nulls=stripped`, which PostgREST ignores. Only
`application/vnd.pgrst.array+json` and
`application/vnd.pgrst.object+json` honor the parameter.
- `stripNulls().single()` lost the flag because `single()` overwrites
`Accept`.
- The typed builders always hit the second case, since the executor
applies `stripNulls()` before the terminal `single()`.

`stripNulls()` now sets a flag on the request config, and the `Accept`
header is rewritten at execution time, matching supabase-js and
supabase-swift:

- No `Accept`, `application/json` or `application/vnd.pgrst.array+json`
becomes `application/vnd.pgrst.array+json;nulls=stripped`.
- `application/vnd.pgrst.object+json` gets `;nulls=stripped`.
- Parameters on a custom `Accept` header, such as `charset=utf-8`, are
kept, and an explicit `nulls=stripped` is not repeated.
- `stripNulls().explain()` explains the stripped media type in
`for="..."`.
- Other media types (CSV, GeoJSON) are left untouched.

Scalar RPC results are the same under the array media type, verified
against the local stack.

## Tests

- Fixed the two unit tests that asserted the ineffective header.
- Added header tests for `stripNulls().single()` (untyped and typed),
custom `Accept` parameters, an explicit `nulls=stripped`, `explain()`,
and CSV staying untouched.
- Added integration tests against the local stack for plain rows and
both call orders with `single()`. Six of the eight `stripNulls` tests
fail without the fix.

Fixes SDK-2121

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

* **Bug Fixes**
* Null stripping works consistently for row and single-record responses,
regardless of call order.
* Requests use ... (continued)

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

32 existing lines in 2 files now uncovered.

9224 of 10093 relevant lines covered (91.39%)

5.13 hits per line

Coverage Regressions

Lines Coverage ∆ File
29
87.16
0.0% packages/postgrest/lib/src/postgrest_builder.dart
3
96.84
0.0% packages/postgrest/lib/src/postgrest_transform_builder.dart
Jobs
ID Job ID Ran Files Coverage
9 iceberg - 37318078784.9 05 Oct 2026 01:37PM UTC 6
68.52
GitHub Action Run
10 supabase_functions - 37318078784.10 05 Oct 2026 01:37PM UTC 4
96.0
GitHub Action Run
11 supabase_flutter - 37318078784.11 05 Oct 2026 01:38PM UTC 15
81.0
GitHub Action Run
4 supabase_typegen - 37280549742.4 05 Oct 2026 07:59AM UTC 24
96.2
GitHub Action Run
6 supabase_storage - 37280549742.6 05 Oct 2026 07:59AM UTC 9
97.83
GitHub Action Run
9 supabase_realtime - 37280549742.9 05 Oct 2026 08:00AM UTC 13
90.67
GitHub Action Run
11 supabase - 37280549742.11 05 Oct 2026 08:01AM UTC 18
94.26
GitHub Action Run
7 postgrest - 37280549742.7 05 Oct 2026 08:00AM UTC 29
93.35
GitHub Action Run
10 supabase_auth - 37280549742.10 05 Oct 2026 08:01AM UTC 32
92.07
GitHub Action Run
6 yet_another_json_isolate - 36864123641.6 01 Oct 2026 12:48PM UTC 1
98.44
GitHub Action Run
1 supabase_common - 36864123641.1 01 Oct 2026 12:48PM UTC 22
87.5
GitHub Action Run
Source Files on build 37318078784
  • Tree
  • List 173
  • Changed 14
  • Source Changed 14
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37318078784
  • 37c29c9a on github
  • Prev Build on main (#37280549742)
  • Next Build on main (#37318330230)
  • 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