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

supabase / supabase-swift / 41100298524
96%

Build:
DEFAULT BRANCH: main
Ran 30 Oct 2026 05:48PM UTC
Jobs 1
Files 194
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

30 Oct 2026 05:36PM UTC coverage: 94.045% (-0.02%) from 94.061%
41100298524

push

github

web-flow
feat(auth)!: public AuthStatus, AuthEvent, AuthChange, SignOutReason, and a lossless events() stream (#1674)

* feat(auth)!: public AuthStatus, AuthEvent, AuthChange, SignOutReason, and a lossless events() stream

Add AuthClient.status, events(), and initialization(). events() returns
the session store's stream: it is registered when the call returns, its
first element is .initialSession once storage is read, and it finishes
on cancellation and when the client is released. A sign-out carries its
reason in AuthChange.signOutReason.

BREAKING CHANGE: authStateChanges and onAuthStateChange(_:) are replaced
by events(). AuthChangeEvent is renamed AuthEvent, and .userDeleted is
removed because it was never emitted. AuthStateChangeListener,
AuthStateChangeListenerRegistration, didChangeAuthStateNotification,
authChangeEventInfoKey, and authChangeSessionInfoKey are removed.

Refs SDK-2065

* fix(auth)!: emit the Appendix B event for OTP verification, recovery links, and unlinkIdentity

verifyOTP emits .passwordRecovery for a recovery OTP and .userUpdated for
an email or phone change. session(from:) emits one .passwordRecovery for
a recovery link, not .signedIn followed by .passwordRecovery.
unlinkIdentity removes the identity from the held user and emits
.userUpdated, unless another user signed in while the request was out.

BREAKING CHANGE: apps that waited for .signedIn after these flows now
receive .passwordRecovery or .userUpdated.

Refs SDK-2065

* test(auth): verify a recovery OTP emits passwordRecovery against a local stack

Refs SDK-2065

* fix(auth,supabase): sync Realtime on any token change and apply unlinkIdentity inside the store

SupabaseClient pushed a new access token to Realtime only on
.initialSession, .signedIn, and .tokenRefreshed. A recovery link, a
recovery or email-change OTP, and an MFA step-up now emit other events,
so Realtime kept the old token. It now pushes whenever the token changes.

unlinkIdentity read the held user and commit... (continued)

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

4 existing lines in 1 file now uncovered.

13676 of 14542 relevant lines covered (94.04%)

325642.43 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
88.43
-1.65% Sources/Realtime/Transport/URLSessionWebSocketTransport.swift
Jobs
ID Job ID Ran Files Coverage
1 41100298524.1 30 Oct 2026 05:48PM UTC 194
94.04
GitHub Action Run
Source Files on build 41100298524
  • Tree
  • List 194
  • Changed 9
  • Source Changed 8
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41100298524
  • ddeb3071 on github
  • Prev Build on main (#41074655460)
  • Next Build on main (#41106605598)
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