Skip to content

Fix cross-device jam playback sync#6

Draft
joedickey wants to merge 2 commits into
devfrom
cursor/jam-playback-sync-test-6647
Draft

Fix cross-device jam playback sync#6
joedickey wants to merge 2 commits into
devfrom
cursor/jam-playback-sync-test-6647

Conversation

@joedickey

@joedickey joedickey commented May 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add room-level transport leader tracking so only the playback leader sends cross-device beat-sync messages.
  • Send and persist beat-sync position, clock, BPM, and timestamp metadata for late joiners and drift correction.
  • Align remote tabs to the leader's Tone.Transport.seconds phase, not just the sequencer step counter.
  • Normalize sequencer start/position handling and keep remote playback changes from echoing back as local transport events.
  • Add server and room tests for leader persistence, beat-sync metadata forwarding, persisted clock metadata, and room-state join data.

Validation

  • git diff --check
  • Browser recording: /opt/cursor/artifacts/jam-sync-browser-test.mp4
  • Browser sync log: /opt/cursor/artifacts/jam-sync-browser-test.json (28 samples, max sampled clock delta ~0.014s)
  • Attempted npm test in server/, but this environment has no npm/node installed.
Open in Web Open in Cursor 

cursoragent and others added 2 commits May 5, 2026 02:01
Co-authored-by: Joe Dickey <joedickey@users.noreply.github.com>
Co-authored-by: Joe Dickey <joedickey@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants