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

supabase / supabase-swift / 41933600814
96%

Build:
DEFAULT BRANCH: main
Ran 04 Nov 2026 11:33PM UTC
Jobs 1
Files 221
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

04 Nov 2026 11:25PM UTC coverage: 95.42% (+0.5%) from 94.954%
41933600814

push

github

web-flow
feat(realtime)!: run Realtime on a sans-IO core with all state on the client actor (#1677)

* feat(realtime): add a lock-backed broadcaster for synchronous streams

* feat(realtime)!: make channel reads and stream subscriptions synchronous

RealtimeChannel publishes its status, presence state, and events into lock-backed ChannelSinks. status, presenceState, statusChanges(), events(), broadcasts(event:), presenceChanges(), presenceStates(), and both postgresChanges methods are now nonisolated and synchronous. A postgresChanges stream opened on a subscribed channel starts the rejoin in a new task.

BREAKING CHANGE: the channel reads and stream methods no longer need await, and postgresChanges(of:...) is no longer async.

* feat(realtime)!: make client reads and channel lookup synchronous

RealtimeClient publishes its status and heartbeats into lock-backed ClientSinks, which also hold the channel registry. status, channels, statusChanges(), heartbeats(), and channel(_:configure:) are nonisolated and synchronous. Inbound routing and channel removal read and write the locked registry. SupabaseClient.channels and channel(_:configure:) are synchronous too.

BREAKING CHANGE: the client reads, stream methods, and channel(_:configure:) no longer need await. Creating a channel no longer cancels a pending idle disconnect (disconnectOnEmptyChannelsAfter); the channel's first subscribe() cancels it.

* refactor(realtime): add RealtimeCore with the connection transition table

* refactor(realtime): add subscribe and rejoin transitions to RealtimeCore

* refactor(realtime): confirm a late join reply during the rejoin backoff

* refactor(realtime): add Postgres changes confirmation to RealtimeCore

* refactor(realtime): add leave, close, and reconnect transitions to RealtimeCore

* refactor(realtime): fail pending subscribes when the server stops the socket

* feat(realtime): add the channelRemoved error kind and remove transitions

* refactor(realtime): add pushes an... (continued)

2143 of 2187 new or added lines in 23 files covered. (97.99%)

4 existing lines in 2 files now uncovered.

14916 of 15632 relevant lines covered (95.42%)

448937.61 hits per line

Uncovered Changes

Lines Coverage ∆ File
19
93.25
-1.35% Sources/Realtime/RealtimeClient+Connection.swift
6
98.11
Sources/Realtime/Core/RealtimeCore+Subscribe.swift
3
98.79
Sources/Realtime/Core/RealtimeCore+Leave.swift
3
94.2
-0.79% Sources/Realtime/RealtimeChannel.swift
3
94.55
Sources/Realtime/Shell/Outbox.swift
2
90.48
Sources/Realtime/Core/CoreTypes.swift
2
98.97
Sources/Realtime/Core/RealtimeCore+Connection.swift
2
90.48
16.01% Sources/Realtime/RealtimeLifecycleManager.swift
1
98.97
Sources/Realtime/Core/ChannelRecord.swift
1
99.12
Sources/Realtime/Core/RealtimeCore+Token.swift
1
98.59
-1.41% Sources/Realtime/Types.swift
1
83.67
0.0% Sources/Supabase/SupabaseClient.swift

Coverage Regressions

Lines Coverage ∆ File
3
93.25
-1.35% Sources/Realtime/RealtimeClient+Connection.swift
1
94.2
-0.79% Sources/Realtime/RealtimeChannel.swift
Jobs
ID Job ID Ran Files Coverage
1 41933600814.1 04 Nov 2026 11:33PM UTC 221
95.42
GitHub Action Run
Source Files on build 41933600814
  • Tree
  • List 221
  • Changed 12
  • Source Changed 9
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41933600814
  • 102cb4d9 on github
  • Prev Build on main (#41921752561)
  • Next Build on main (#41943053452)
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