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

medplum / medplum / 27213179023
92%

Build:
DEFAULT BRANCH: main
Ran 09 Jun 2026 02:51PM UTC
Jobs 1
Files 815
Run time 3min
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

09 Jun 2026 02:27PM UTC coverage: 92.107% (-0.002%) from 92.109%
27213179023

push

github

web-flow
fix(core): recreate WebSocket subscriptions on reconnect (#9447)

* fix(core): recreate WebSocket subscriptions on reconnect

The server drops the Subscription bound to a WebSocket connection when it closes,
but refreshAllSubscriptions preserved each criteria's subscriptionId across
reconnects, so rebindCriteriaEntry reused the now-deleted resource and
$get-ws-binding-token failed with the same dead id on every reconnect, forever —
the criteria stopped delivering until a full page reload.

Clear subscriptionId during refreshAllSubscriptions so rebindCriteriaEntry
recreates the Subscription on the new connection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: d-vincent <d.mcdonald5227@gmail.com>

* fix(core): tolerate WebSocket error events without an `error` property

Browser WebSocket `error` events are bare `Event`s with no `.error`, so
`event.error.toString()` in the SubscriptionManager error handler throws a
`TypeError` on any socket error (and surfaces as an unhandled error during
reconnects under the test runner). Optional-chain the access.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: d-vincent <d.mcdonald5227@gmail.com>

* fix(core/ws): fallback to `event.message` when `.error` missing

Signed-off-by: Derrick Farris <derrick@medplum.com>

---------

Signed-off-by: d-vincent <d.mcdonald5227@gmail.com>
Signed-off-by: Derrick Farris <derrick@medplum.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Derrick Farris <derrick@medplum.com>

23338 of 26189 branches covered (89.11%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

36640 of 38929 relevant lines covered (94.12%)

23237.95 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27213179023.1 09 Jun 2026 02:50PM UTC 1039
92.37
GitHub Action Run
Source Files on build 27213179023
  • Tree
  • List 815
  • Changed 176
  • Source Changed 1
  • Coverage Changed 176
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27213179023
  • c1ae12dd on github
  • Prev Build on gh-readonly-queue/main/pr-9455-7280ff400c33eb9b958ba7a2c96f66d1f011a4b0 (#27185471489)
  • Next Build on main (#27221764099)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc