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

lean-poker / boardgame.io / 27693129531
100%

Build:
DEFAULT BRANCH: main
Ran 17 Jun 2026 01:39PM UTC
Jobs 1
Files 55
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

17 Jun 2026 01:38PM UTC coverage: 99.844%. Remained the same
27693129531

push

github

web-flow
fix(server): serialize sync and disconnect connection changes via per-match queue (#31)

Fixes #1100.

Master.onConnectionChange() does a read-modify-write on match metadata
without any locking. When multiple players sync simultaneously, one
player's isConnected=true could be overwritten by another player's
stale fetch, leaving the first player stuck on "Connecting..." forever.

The socket.io transport already had a perMatchQueue (PQueue with
concurrency:1) to serialize onUpdate calls. This fix wraps both the
sync handler (onSync + onConnectionChange) and the disconnect
handler (onConnectionChange) inside the same queue, forcing all
per-match operations to run serially.

Also adds CopyingInMemoryAsync test helper and two race-condition
tests that deterministically reproduce the bug by deep-copying fetch
results. Without the fix, the concurrent-sync test consistently fails
with one player's isConnected being undefined.

1800 of 1803 branches covered (99.83%)

Branch coverage included in aggregate %.

2677 of 2681 relevant lines covered (99.85%)

28495.89 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27693129531.1 17 Jun 2026 01:39PM UTC 110
99.85
GitHub Action Run
Source Files on build 27693129531
  • Tree
  • List 55
  • Changed 50
  • Source Changed 1
  • Coverage Changed 50
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27693129531
  • c0cab3e6 on github
  • Prev Build on main (#27692772815)
  • Delete
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