watchparty/server/test
Nicolas 3ae1fce806
Some checks failed
Publier l'image Docker / test (pull_request) Failing after 4s
Publier l'image Docker / publish (pull_request) Has been skipped
Fix device takeover leaving both devices on the session with no working controls
Two gaps around an already-correct takeover mechanism, not the
mechanism itself. First: Player.ts/MusicBar.ts both wired onClose to a
no-op, so the moment a takeover force-disconnected the old device its
video/hls.js instance (or the persistent music bar) just kept running
forever on a dead connection - both devices looked fully active, since
nothing ever told the old one to stop or navigate away. Second: the
obvious fix (call the same leave path Quitter uses) ran into a worse
bug - POST /leave removes a member by userId alone with no staleness
guard, so the old devices own leave call would have ended the NEW
devices membership too. Fixed both: onClose now tears down local
playback and leaves whenever this routes own explicit teardown has not
already run, and the leave route (plus the client, which now sends its
own deviceId) gained the same staleness guard the socket handlers
already had, via a new PartyService.isStaleDevice.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 10:23:22 +02:00
..
castTokenService.test.ts Cast a party's video to a Chromecast 2026-09-15 10:13:12 +02:00
catalogService.test.ts Merge remote-tracking branch 'origin/master' into feature/intro-credits-skip 2026-09-16 07:18:43 +02:00
embyClient.test.ts Fix casting past the first segment, and the toolbar's real auto-hide bug 2026-09-15 20:18:29 +02:00
embySessionService.test.ts Report watch-party streams to Emby's own Sessions API (admin dashboard) 2026-09-15 23:45:14 +02:00
musicQueueService.test.ts Queue a whole album or an artist's entire discography in one action 2026-09-16 07:46:38 +02:00
partyService.test.ts Fix device takeover leaving both devices on the session with no working controls 2026-09-18 10:23:22 +02:00
partyStreamService.test.ts Replace PlayingItems/Progress with direct UserData writes 2026-09-14 23:53:59 +02:00
playstateService.test.ts Replace PlayingItems/Progress with direct UserData writes 2026-09-14 23:53:59 +02:00
socketGateway.test.ts Sticky catalog search bar, and let anyone seek within a music track 2026-09-15 23:27:23 +02:00
transcodeService.test.ts Fix casting past the first segment, and the toolbar's real auto-hide bug 2026-09-15 20:18:29 +02:00