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

supabase / supabase-flutter / 37469753458
92%

Build:
DEFAULT BRANCH: main
Ran 06 Oct 2026 01:19PM 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

06 Oct 2026 01:18PM UTC coverage: 91.48%. Remained the same
37469753458

push

github

web-flow
fix(auth): decode OAuth clients that omit redirect_uris or grant_types (#1923)

Auth tags `redirect_uris`, `grant_types` and `response_types` on an
OAuth client `omitempty`, and Go drops an `omitempty` slice when it is
empty as well as when it is nil. A client holding none of them arrives
without the key, and `OAuthClient.fromJson` threw on the `as List` cast.
One such client failed the whole response, so `listClients`,
`getClient`, `createClient`, `updateClient` and `regenerateClientSecret`
all threw.

## The change

All three now decode a missing key or an explicit null as an empty list.
The public types stay `List<...>`, so this is not a breaking change (the
Swift SDK made them optional instead, see supabase/supabase-swift#1349,
because a default there needed a hand-written decoder).

## Left alone

`OAuthAuthorizationDetailsResponse.redirectUri` is `omitempty` on the
server too, but `/oauth/authorize` rejects a request without a
`redirect_uri` that matches a registered one, so an authorization always
carries it.

## Tests

New `OAuthClient.fromJson` tests decode a client without the three keys
and with them set to null. Both fail against the old cast.

Unknown grant and response types still throw, which SDK-2127 covers. The
other `omitempty` fields and the always-null `scope` field are breaking
to fix, so they are tracked in SDK-2160.

Fixes SDK-2126

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

* **Bug Fixes**
* OAuth client data can now be parsed when redirect URIs, grant types,
or response types are missing or explicitly null. These fields default
to empty lists, allowing records without them to be read consistently.
* **Tests**
* Added coverage confirming that each of these fields parses as an empty
list when omitted or set to null.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

10 of 10 new or added lines in 1 file covered. (100.0%)

9309 of 10176 relevant lines covered (91.48%)

5.18 hits per line

Jobs
ID Job ID Ran Files Coverage
4 postgrest - 37469753458.4 06 Oct 2026 01:22PM UTC 29
93.54
GitHub Action Run
5 supabase_realtime - 37469753458.5 06 Oct 2026 01:22PM UTC 13
90.67
GitHub Action Run
6 supabase - 37469753458.6 06 Oct 2026 01:23PM UTC 18
94.3
GitHub Action Run
7 iceberg - 37469753458.7 06 Oct 2026 01:19PM UTC 6
68.57
GitHub Action Run
8 supabase_flutter - 37469753458.8 06 Oct 2026 01:20PM UTC 15
81.0
GitHub Action Run
9 supabase_storage - 37469753458.9 06 Oct 2026 01:22PM UTC 9
98.1
GitHub Action Run
10 supabase_typegen - 37469753458.10 06 Oct 2026 01:22PM UTC 24
96.19
GitHub Action Run
11 supabase_functions - 37469753458.11 06 Oct 2026 01:19PM UTC 4
96.04
GitHub Action Run
6 supabase_auth - 37468786125.6 06 Oct 2026 01:17PM UTC 32
92.07
GitHub Action Run
6 supabase_common - 37446858483.6 06 Oct 2026 10:02AM UTC 22
87.55
GitHub Action Run
6 yet_another_json_isolate - 36864123641.6 01 Oct 2026 12:48PM UTC 1
98.44
GitHub Action Run
Source Files on build 37469753458
  • Tree
  • List 173
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37469753458
  • 56d8a450 on github
  • Prev Build on main (#37468786125)
  • Next Build on main (#37470514274)
  • 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