watchparty/client/src
Nicolas 6582ad855b
Some checks failed
Publier l'image Docker / test (pull_request) Failing after 4s
Publier l'image Docker / publish (pull_request) Has been skipped
Link video/music playback to the OS own media controls (Windows SMTC, macOS Now Playing, ...)
New mediaSession.ts wraps the standard Media Session API - shared by
Player.ts and MusicBar.ts, which can never both be active at once so
there is no risk of them fighting over this one global. Metadata/
position/playback-state hook into each players own existing single
source of truth (updatePlayPauseBtn/updateProgressBar, setPlayIcon/
updatePositionDisplay) instead of adding parallel call sites. Play/
pause/seek are wired once and read isHost/conn fresh on every
OS-triggered call, so they keep working through a live host handoff;
a non-host play/pause routes through the same requestPause/
requestResume the request toolbar already uses, and seek is gated on
isHost the same way the in-page seek bar already is. Next is handled
separately since a registered nexttrack handler is what makes the OS
show that control at all - its presence tracks whatever the in-page
equivalent already tracks (isHost && hasNextQueued for video, a vote
skip for music). Cleared entirely on leaving a party/page, or just to
idle (metadata/state only) when a listen partys queue runs empty but
the party itself is still open.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 23:41:39 +02:00
..
api Queue a whole album or an artist's entire discography in one action 2026-09-16 07:46:38 +02:00
musicBar Link video/music playback to the OS own media controls (Windows SMTC, macOS Now Playing, ...) 2026-09-17 23:41:39 +02:00
public Make the app installable as a PWA 2026-09-16 14:07:28 +02:00
shell Add a mobile banner nudging an install of the PWA 2026-09-16 23:29:27 +02:00
styles Fix album track rows collapsing to 3 lines on mobile 2026-09-16 23:18:12 +02:00
views Link video/music playback to the OS own media controls (Windows SMTC, macOS Now Playing, ...) 2026-09-17 23:41:39 +02:00
alphaIndex.css Fix library tile buttons rendering above the sticky header while scrolling 2026-09-16 22:37:11 +02:00
alphaIndex.ts Fix the alphabet index bucketing by display name instead of Emby SortName 2026-09-16 21:36:37 +02:00
app.ts Browse Emby playlists and launch one as a pre-queued party 2026-09-14 19:04:31 +02:00
cast.ts Cast a listen party too, and fix a slow/freezing catalog 2026-09-15 21:32:34 +02:00
deviceId.ts Device detection: confirm before disconnecting another device 2026-09-14 17:32:21 +02:00
global.d.ts Replace native <video controls> with custom transport controls 2026-09-15 11:30:50 +02:00
index.html Make the app installable as a PWA 2026-09-16 14:07:28 +02:00
loading.ts Add a spinner to every loading state 2026-09-14 23:30:25 +02:00
mediaSession.ts Link video/music playback to the OS own media controls (Windows SMTC, macOS Now Playing, ...) 2026-09-17 23:41:39 +02:00
pwaInstall.css Add a mobile banner nudging an install of the PWA 2026-09-16 23:29:27 +02:00
pwaInstall.ts Add a mobile banner nudging an install of the PWA 2026-09-16 23:29:27 +02:00
router.ts Rewrite server + client in TypeScript, service-oriented server architecture 2026-09-14 09:38:14 +02:00
tiles.css Replace every blocking alert() with a light toast, fix a mobile grid bug 2026-09-16 17:34:10 +02:00
tiles.ts Replace every blocking alert() with a light toast, fix a mobile grid bug 2026-09-16 17:34:10 +02:00
toast.css Replace every blocking alert() with a light toast, fix a mobile grid bug 2026-09-16 17:34:10 +02:00
toast.ts Replace every blocking alert() with a light toast, fix a mobile grid bug 2026-09-16 17:34:10 +02:00
types.ts Fix the alphabet index bucketing by display name instead of Emby SortName 2026-09-16 21:36:37 +02:00