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

Kikobeats / superlock / 39329861166
100%

Build:
DEFAULT BRANCH: master
Ran 19 Oct 2026 09:45PM UTC
Jobs 1
Files 4
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

19 Oct 2026 09:44PM UTC coverage: 100.0%. Remained the same
39329861166

push

github

web-flow
fix: keep round-robin moving after a key leaves the ring (#26)

* fix: keep round-robin moving after a key leaves the ring

Recording a key that just left the ring made the next grant restart at the head and skip whoever was waiting behind it. Aborting the rest of that key had the same skip.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: describe the per-key fair lock

createFairLock shipped without a usage or API section, so the README only showed the FIFO withLock path.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: call the per-key scheduler createFairQueue

Fair queuing is the established name for one FIFO queue per key served in round-robin. createFairLock stays as an alias because 1.4.0 already exported it.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: say fair queue where the README still said fair lock

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: cite fair queuing in the API section

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor: export the fair queue as withFairQueue

The usage section lists it beside mutex and semaphore, and the name matches withLock. createFairLock remains the 1.4.0 alias.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: add createFairQueue beside withFairQueue

createFairQueue is the acquire/release primitive, the same role createLock has under withLock. withFairQueue runs a function and releases it.

Co-authored-by: Cursor <cursoragent@cursor.com>

* docs: show a semaphore example next to the mutex one

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: reject a partial signal and keep the cursor for NaN

A value with only addEventListener was queued, then threw on removeEventListener after it had already left the queue. NaN never matched the cursor with ===, so aborting it restarted the ring at the head.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>

85 of 85 branches covered (100.0%)

Branch coverage included in aggregate %.

54 of 54 new or added lines in 2 files covered. (100.0%)

243 of 243 relevant lines covered (100.0%)

3298.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 39329861166.1 19 Oct 2026 09:44PM UTC 4
100.0
GitHub Action Run
Source Files on build 39329861166
  • Tree
  • List 4
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39329861166
  • 6ced49d6 on github
  • Prev Build on master (#39291480353)
  • Next Build on master (#39457703546)
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