From 15fe6b85c09ab543f603f64121fb86df9dbb02f7 Mon Sep 17 00:00:00 2001 From: Mohit Kourav Date: Tue, 10 Feb 2026 20:36:26 +0530 Subject: [PATCH] feat: add warning when media.play() fails in bind:paused (#17656) * feat: add warning when media.play() fails in bind:paused * chore: fix formatting in media.js * chore: use Rich Harris's suggested approach for media.play() error handling * Apply suggestion from @Rich-Harris --------- Co-authored-by: Rich Harris --- .changeset/orange-wasps-visit.md | 5 +++++ .../src/internal/client/dom/elements/bindings/media.js | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/orange-wasps-visit.md diff --git a/.changeset/orange-wasps-visit.md b/.changeset/orange-wasps-visit.md new file mode 100644 index 0000000000..972ff636b8 --- /dev/null +++ b/.changeset/orange-wasps-visit.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: don't swallow `DOMException` when `media.play()` fails in `bind:paused` diff --git a/packages/svelte/src/internal/client/dom/elements/bindings/media.js b/packages/svelte/src/internal/client/dom/elements/bindings/media.js index f96ee05989..87da950375 100644 --- a/packages/svelte/src/internal/client/dom/elements/bindings/media.js +++ b/packages/svelte/src/internal/client/dom/elements/bindings/media.js @@ -175,8 +175,9 @@ export function bind_paused(media, get, set = get) { if (paused) { media.pause(); } else { - media.play().catch(() => { + media.play().catch((error) => { set((paused = true)); + throw error; }); } }