From d39f51df980b71cef4b2d348df6b32a4b4d55bd6 Mon Sep 17 00:00:00 2001 From: Derek Kraan Date: Mon, 24 Mar 2025 10:26:25 +0100 Subject: [PATCH] Apply guard to speed radio group element to prevent it rendering twice --- .../src/elements/define/menus/speed-radio-group-element.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/vidstack/src/elements/define/menus/speed-radio-group-element.ts b/packages/vidstack/src/elements/define/menus/speed-radio-group-element.ts index ff0f67580..a5831e2a6 100644 --- a/packages/vidstack/src/elements/define/menus/speed-radio-group-element.ts +++ b/packages/vidstack/src/elements/define/menus/speed-radio-group-element.ts @@ -25,7 +25,14 @@ import { renderMenuItemsTemplate } from './_template'; export class MediaSpeedRadioGroupElement extends Host(HTMLElement, SpeedRadioGroup) { static tagName = 'media-speed-radio-group'; + #connectedRanOnce: Boolean = false; + protected onConnect(): void { + // onConnect can run more than once (eg, Phoenix LiveView after navigation) + if (this.#connectedRanOnce) return; + + this.#connectedRanOnce = true; + renderMenuItemsTemplate(this); } }