From 6ff00ea24dbe5134f512af11e3cc72d517c60738 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Sun, 26 Apr 2026 09:44:16 -0400 Subject: [PATCH] feat(web): mount useEventsDispatcher() in root layout Single mount point alongside useMediaSession. Once called, the dispatcher's \$effect watchers run for the lifetime of the SPA. --- web/src/routes/+layout.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte index 50784575..c34c9f51 100644 --- a/web/src/routes/+layout.svelte +++ b/web/src/routes/+layout.svelte @@ -14,6 +14,7 @@ player } from '$lib/player/store.svelte'; import { useMediaSession } from '$lib/player/mediaSession.svelte'; + import { useEventsDispatcher } from '$lib/player/events.svelte'; let { children } = $props<{ children: import('svelte').Snippet }>(); let audioEl: HTMLAudioElement | undefined = $state(); @@ -64,6 +65,7 @@ }); useMediaSession(); + useEventsDispatcher();