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

supabase / supabase-flutter / 39269728642
92%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 02:33PM UTC
Jobs 11
Files 163
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

19 Oct 2026 02:31PM UTC coverage: 92.0% (+0.04%) from 91.957%
39269728642

push

github

web-flow
feat(postgrest): retry typed calls of stable and immutable functions over GET (#1982)

## Summary

Typed function calls (`PostgrestRpc.rows` and `PostgrestRpc.value`,
which the methods `supabase_typegen` generates are built on) always sent
a POST. Automatic retry only applies to GET and HEAD, so
`client.rpc.searchBooks(query: 'dart').retry(count: 3)` never retried a
503, even for a read-only function.

### postgrest

- `rows` and `value` take `get`, the same option the untyped
`client.rpc(...)` has. With `get: true` the call is sent as a GET in
read-only access mode, with the arguments as query parameters, so it is
retried like a select.
- Arguments that are not a map are rejected with an `ArgumentError` when
the call is built, rather than when it is awaited.
- The request carries the flag as `PostgrestTableRequest.readOnly`, so
an executor other than the HTTP one can tell read-only calls apart
without knowing about GET.

### supabase_typegen

- Each `rpcFunctions` overload is joined to its `functions` entry
through `function_id` to read its `behavior`. No upstream change in
postgrest-typegen is needed. An overload without a matching entry counts
as volatile.
- A generated method passes `get: true` when its function is `STABLE` or
`IMMUTABLE` and every argument fits in a query parameter. Row arguments,
`json`/`jsonb` arguments, arrays of `json`, and the sole unnamed `json`
body keep the call on POST.

Regenerated code for stable functions therefore switches from POST to
GET, with `accept-profile` instead of `content-profile` for the schema.

There is no POST fallback for a query string that grows past a server's
URL limit, such as a very large array argument. supabase-js has none
either.

## Testing

- Unit tests for GET rendering, retry of read-only calls, no retry of
other calls, and the argument check.
- An integration test against the local stack that makes read-only
`rows` and `value` calls, one of them with an array argument.
- Parser test for v... (continued)

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

3 existing lines in 2 files now uncovered.

10166 of 11050 relevant lines covered (92.0%)

5.41 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
97.33
-0.81% packages/supabase_storage/lib/src/types.dart
1
99.26
0.02% packages/supabase_storage/lib/src/storage_file_api.dart
Jobs
ID Job ID Ran Files Coverage
3 iceberg - 39269728642.3 19 Oct 2026 02:34PM UTC 6
71.32
GitHub Action Run
4 postgrest - 39269728642.4 19 Oct 2026 02:37PM UTC 32
93.92
GitHub Action Run
5 supabase_typegen - 39269728642.5 19 Oct 2026 02:34PM UTC 6
96.32
GitHub Action Run
6 supabase_storage - 39269728642.6 19 Oct 2026 02:37PM UTC 10
96.24
GitHub Action Run
7 supabase_flutter - 39269728642.7 19 Oct 2026 02:34PM UTC 16
80.61
GitHub Action Run
8 supabase_functions - 39269728642.8 19 Oct 2026 02:33PM UTC 4
93.28
GitHub Action Run
9 supabase - 39269728642.9 19 Oct 2026 02:37PM UTC 17
94.28
GitHub Action Run
10 supabase_auth - 39269728642.10 19 Oct 2026 02:37PM UTC 34
93.38
GitHub Action Run
11 supabase_realtime - 39269728642.11 19 Oct 2026 02:36PM UTC 14
90.92
GitHub Action Run
4 supabase_common - 39266875227.4 19 Oct 2026 02:14PM UTC 23
87.98
GitHub Action Run
7 yet_another_json_isolate - 39234881764.7 19 Oct 2026 10:06AM UTC 1
98.44
GitHub Action Run
Source Files on build 39269728642
  • Tree
  • List 163
  • Changed 10
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39269728642
  • 5ca35d92 on github
  • Prev Build on main (#39266875227)
  • 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