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

supabase / supabase-swift / 32133071164
87%

Build:
DEFAULT BRANCH: main
Ran 18 Aug 2026 11:46AM UTC
Jobs 1
Files 104
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

18 Aug 2026 11:42AM UTC coverage: 79.603% (-0.05%) from 79.654%
32133071164

push

github

web-flow
fix(supabase): propagate access-token provider errors instead of swallowing them (#1236)

* fix(supabase): propagate access-token provider errors instead of swallowing them

`adaptRequest` converted any error from resolving the access token — including
one thrown by a configured `options.auth.accessToken` third-party auth
provider — into `nil` via `try?`, so the request would silently go out under
the anon key instead of failing. Only `AuthError.sessionMissing` (no signed-in
user, the expected case) should fall back to the anon key; every other error
(a network failure refreshing the session, or a throwing custom `accessToken`
provider) must fail the request instead of downgrading it to an anonymous one.

Flagged by CodeRabbit on #1233, and cross-checked against supabase-js and
supabase-flutter, both of which already propagate these errors rather than
swallowing them (flutter's `AuthHttpClient` explicitly documents this: "Throw
the error instead of making an API request with an expired token"). Also see
supabase/sdk#86, which corrects the capability spec to match.

* refactor(supabase): move sessionMissing handling into accessTokenProvider

Per @spydon's review on #1236: `adaptRequest` shouldn't need to know which
auth errors are benign. Move the `catch AuthError.sessionMissing` into
`accessTokenProvider` itself, so every caller — `adaptRequest` and the
Realtime `accessToken` closure via `_getAccessToken()` — gets the same
"no session falls back to nil, everything else propagates" behavior for
free, instead of each caller needing its own catch. The Realtime closure
previously had no such handling at all, so this also fixes it falling
back consistently with REST/Storage/Functions.

7 of 9 new or added lines in 1 file covered. (77.78%)

7 existing lines in 1 file now uncovered.

8340 of 10477 relevant lines covered (79.6%)

33.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
74.47
-1.88% Sources/Supabase/SupabaseClient.swift

Coverage Regressions

Lines Coverage ∆ File
7
74.47
-1.88% Sources/Supabase/SupabaseClient.swift
Jobs
ID Job ID Ran Files Coverage
1 32133071164.1 18 Aug 2026 11:46AM UTC 104
79.6
GitHub Action Run
Source Files on build 32133071164
  • Tree
  • List 104
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32133071164
  • 84f3370a on github
  • Prev Build on main (#32050201941)
  • Next Build on main (#32140331856)
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