fix(html): register tooltip label and shortcut in live presets - #1881
Merged
Conversation
All four `live-*` define entries registered `TooltipElement` and `TooltipGroupElement` but never `TooltipLabelElement` / `TooltipShortcutElement`, which their skin templates use. The elements stayed unupgraded, so every tooltip threw `setSyncedText is not a function` on first update. Reproduces on the existing `html-simple-hls-video/?source=hls-live` sandbox page; the `video` and `audio` presets already registered both.
|
@mmcc is attempting to deploy a commit to the Mux Team on Vercel. A member of the Team first needs to authorize it. |
✅ Deploy Preview for vjs10-site ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
sampotts
approved these changes
Jul 28, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Every tooltip in a
live-videoorlive-audioskin throws on first update: the presets registerTooltipElementandTooltipGroupElementbut neverTooltipLabelElement/TooltipShortcutElement, which their skin templates use. Those elements stay unupgraded, so#syncContentcallssetSyncedTexton a plainHTMLElement.The
videoandaudiopresets already register both — only the fourlive-*entries were missed.Changes
TooltipLabelElementandTooltipShortcutElementinlive-video/ui.ts,live-video/minimal-ui.ts,live-audio/ui.ts, andlive-audio/minimal-ui.ts, in the same order thevideopreset uses (label and shortcut before their parentTooltipElement).No behavior change beyond the tooltips starting to work: label text and keyboard-shortcut hints now render instead of throwing, so hovering any control in a live skin no longer floods the console.
Testing
pnpm typecheckclean ·pnpm -F @videojs/html test231 pass ·pnpm check:workspace8/8.Manual, before and after (Chromium):
pnpm -F @videojs/sandbox dev # → http://localhost:5173/html-simple-hls-video/?source=hls-liveBuilt
@videojs/htmlat unpatchedmainand capturedpageerrorevents on load:['labelEl?.setSyncedText is not a function']. With this commit applied and rebuilt:[]. Hover any control to see the tooltip label and shortcut render.Note
Low Risk
Small registration parity fix aligned with existing video/audio presets; no new behavior beyond fixing broken tooltips.
Overview
Live audio and live video UI entry points (
live-audio/ui,live-audio/minimal-ui,live-video/ui,live-video/minimal-ui) now registerTooltipLabelElementandTooltipShortcutElement, matching the non-liveaudio/videopresets.Without those definitions, tooltip markup in live skins stayed unupgraded, so
TooltipElement’s content sync calledsetSyncedTexton plain elements and threw on hover. Tooltips in live skins should render labels and shortcut hints instead of erroring.Reviewed by Cursor Bugbot for commit 45da515. Bugbot is set up for automated code reviews on this repo. Configure here.