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

supabase / supabase-swift / 31194561221
85%

Build:
DEFAULT BRANCH: main
Ran 07 Aug 2026 03:53PM UTC
Jobs 1
Files 102
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

07 Aug 2026 03:49PM UTC coverage: 84.497% (+0.1%) from 84.381%
31194561221

push

github

web-flow
fix(auth): stop auto-refresh task on AuthClient deinit (#1193)

* fix(auth): stop auto-refresh task on AuthClient deinit

`LiveSessionManager`'s auto-refresh loop is stored in a `Task` whose closure
captures the actor, so `self -> Task -> self` keeps the session manager (and
its ticking loop) alive forever once `startAutoRefresh()` is called.

`AuthClient.deinit` only dropped the `Dependencies.instances` entry, and the
only place stopping the loop was `observeAppLifecycleChanges()`, which relies
on an app resign-active notification. That never fires for short-lived clients
(tests, CLI tools, server-side usage) or when auto-refresh was started manually,
leaking a task that keeps refreshing tokens after the client is gone.

`deinit` now also stops auto-refresh through the session manager, capturing only
the session manager (never `self`) in the fire-and-forget task. The session
manager's logger lookup is made lenient, since it now runs after the
dependencies entry is removed.

Closes #1189

* fix(auth): make deinitRemovesDependenciesEntry poll instead of single-yield

deinit now hops to a detached Task to stop auto-refresh, adding scheduling
pressure that made a single Task.megaYield() unreliable for letting the
init-time MainActor task release its reference to self before asserting
deinit happened. Linux CI caught this; poll like deinitStopsAutoRefreshTask
already does instead of asserting after a fixed number of yields.

15 of 15 new or added lines in 2 files covered. (100.0%)

17 existing lines in 1 file now uncovered.

8737 of 10340 relevant lines covered (84.5%)

39.58 hits per line

Coverage Regressions

Lines Coverage ∆ File
17
63.98
-4.57% Sources/RealtimeV2/WebSocket/URLSessionWebSocket.swift
Jobs
ID Job ID Ran Files Coverage
1 31194561221.1 07 Aug 2026 03:53PM UTC 102
84.5
GitHub Action Run
Source Files on build 31194561221
  • Tree
  • List 102
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31194561221
  • c6a5d99a on github
  • Prev Build on main (#31188578090)
  • Next Build on main (#31194585392)
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