Skip to content

docs: volume & muted persistence design#1610

Open
ronald-urbina wants to merge 3 commits into
videojs:mainfrom
ronald-urbina:design/volume-persistence
Open

docs: volume & muted persistence design#1610
ronald-urbina wants to merge 3 commits into
videojs:mainfrom
ronald-urbina:design/volume-persistence

Conversation

@ronald-urbina

@ronald-urbina ronald-urbina commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Design doc for #1428. Captures the agreed approach: pass a StorageAdapter directly to createVolumeFeature(adapter?) rather than threading it through PlayerTarget. No HTML attributes, no storageKey, no ProviderMixin changes just a plain adapter constant wired in at player element definition time.


Note

Low Risk
Documentation-only change with no runtime or API impact until the described implementation lands.

Overview
Adds a draft design doc for issue #1428 describing how volume and muted preferences will persist across reloads.

The proposed approach introduces a StorageAdapter interface in core (no window), refactors volumeFeature into createVolumeFeature(adapter?) with restore-before-sync and persist on volumechange, and wires a try/catch localStorageAdapter into built-in HTML/React player presets by default (opt-out via custom feature arrays). It explicitly rejects threading storage through PlayerTarget, HTML attributes, or storageKey, documents vjs-pref-volume / vjs-pref-muted keys, and covers edge cases (private browsing, iOS volume, shared keys across players, stored prefs vs <video muted>, SSR).

Reviewed by Cursor Bugbot for commit f9254cd. Bugbot is set up for automated code reviews on this repo. Configure here.

@netlify

netlify Bot commented May 27, 2026

Copy link
Copy Markdown

👷 Deploy request for vjs10-site pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit f9254cd

@vercel

vercel Bot commented May 27, 2026

Copy link
Copy Markdown

@ronald-urbina is attempting to deploy a commit to the Mux Team on Vercel.

A member of the Team first needs to authorize it.

@ronald-urbina ronald-urbina changed the title docs(core): design player preferences storage abstraction docs: volume & muted persistence design Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant