You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Medium Risk
Medium risk because it changes core Popover/Menu interaction semantics (grouped auto-close, focus restoration, keyboard handling) and introduces new positioning boundary logic that could affect all popups.
Overview
Adds a new playback-rate menu primitive (PlaybackRateMenuCore + data attrs) and wires it into new HTML custom elements (media-playback-rate-menu*) and React exports/hooks, including dynamic option rendering and selection.
Updates shipped skins to replace the playback-rate button+tooltip with the new menu (radio options) and sets popup/tooltip boundary="viewport" in several presets.
Improves shared popup infrastructure: introduces PopupGroup to ensure only one top-level popup is open at a time, adds controls-hidden close handling, refines menu highlighting (prefer checked/selected item; allow highlight without focusing on pointer hover), swallows trigger navigation keys while open, and enhances positioning with configurable boundary + boundaryOffset CSS vars and shared DOMRect/boundary utilities.
Reviewed by Cursor Bugbot for commit 2339556. Bugbot is set up for automated code reviews on this repo. Configure here.
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
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
Validation
pnpm typecheckpnpm -F @videojs/core test src/core/ui/playback-rate-menu/tests/playback-rate-menu-core.test.ts src/dom/ui/menu/tests/create-menu.test.ts src/dom/ui/popover/tests/popover.test.tspnpm -F @videojs/html test src/ui/playback-rate-menu/tests/playback-rate-menu-element.test.ts src/ui/menu/tests/menu-element.test.tspnpm -F @videojs/react test src/ui/playback-rate-menu/tests/playback-rate-menu.test.tsx src/ui/menu/tests/menu.test.tsx src/player/tests/context.test.tsxCloses #623.
Note
Medium Risk
Medium risk because it changes core
Popover/Menuinteraction semantics (grouped auto-close, focus restoration, keyboard handling) and introduces new positioning boundary logic that could affect all popups.Overview
Adds a new playback-rate menu primitive (
PlaybackRateMenuCore+ data attrs) and wires it into new HTML custom elements (media-playback-rate-menu*) and React exports/hooks, including dynamic option rendering and selection.Updates shipped skins to replace the playback-rate button+tooltip with the new menu (radio options) and sets popup/tooltip
boundary="viewport"in several presets.Improves shared popup infrastructure: introduces
PopupGroupto ensure only one top-level popup is open at a time, addscontrols-hiddenclose handling, refines menu highlighting (prefer checked/selected item; allow highlight without focusing on pointer hover), swallows trigger navigation keys while open, and enhances positioning with configurableboundary+boundaryOffsetCSS vars and shared DOMRect/boundary utilities.Reviewed by Cursor Bugbot for commit 2339556. Bugbot is set up for automated code reviews on this repo. Configure here.