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

supabase / realtime / 41770364427
93%

Build:
DEFAULT BRANCH: main
Ran 04 Nov 2026 04:04AM UTC
Jobs 1
Files 136
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 03:58AM UTC coverage: 92.98% (+0.05%) from 92.934%
41770364427

push

github

web-flow
test: fix three flaky tests caused by shared state and async cleanup (#2494)

* test(token_handling): match MalformedJWT only for the test's own tenant

The module is async and capture_log collects logs from every process. A concurrent test that connects with a bad token logs MalformedJWT for its own tenant. That line failed the refute. Match the line only when it carries this test's tenant id.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(replication_connection): wait for the Registry to drop a killed connection

Registry.lookup/2 does not check liveness for unique keys. The Registry partition removes the entry when it handles the EXIT of the killed process. That can happen after the test receives its own DOWN. assert_always then failed on its first check. Wait until the entry is gone before asserting that it stays gone.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(presence): stop background polls overwriting the usage metrics

Realtime.PromEx and the test's own PromEx module both poll the global presence usage event every 5 seconds. Each poll scans the empty RealtimeWeb.Presence and sets the usage values to 0. A poll between a test's scan and its reads made the reads fail. Set the test module to poll once an hour. Suspend the Realtime.PromEx poller while the usage tests run.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(presence): retry the usage scan instead of suspending the poller

Suspending the Realtime.PromEx poller and polling the test module hourly worked around the overwrite, but touched global state. Scan again on every attempt and read with assert_eventually. A poll that lands between a scan and a read is now retried. The scan duration test asserts growth, because a poll can add a second observation.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

4596 of 4943 relevant lines covered (92.98%)

4382.99 hits per line

Coverage Regressions

Lines Coverage ∆ File
44
89.05
0.11% lib/realtime_web/channels/realtime_channel.ex
5
94.49
0.13% lib/realtime_web/channels/user_socket.ex
Jobs
ID Job ID Ran Files Coverage
1 41770364427.1 04 Nov 2026 04:04AM UTC 544
62.32
GitHub Action Run
Source Files on build 41770364427
  • Tree
  • List 136
  • Changed 113
  • Source Changed 3
  • Coverage Changed 113
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41770364427
  • b9f49e44 on github
  • Prev Build on main (#41766778562)
  • Next Build on main (#41854664567)
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