Repository navigation
Conversation
|
Size Change: +8.8 kB (+0.11%) Total Size: 7.73 MB 📦 View Changed
|
scruffian
force-pushed
the
try/waveformplayer
branch
from
January 29, 2026 16:49
d61612d to
bf7970b
Compare
|
Flaky tests detected in 5d869fe. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/29352899087
|
Closed
scruffian
force-pushed
the
try/waveformplayer
branch
2 times, most recently
from
February 3, 2026 10:21
06722cc to
219fcef
Compare
scruffian
force-pushed
the
try/waveformplayer
branch
2 times, most recently
from
February 4, 2026 14:54
cc09ee2 to
cb693c9
Compare
scruffian
force-pushed
the
try/waveformplayer
branch
3 times, most recently
from
February 13, 2026 14:15
9502f73 to
4a2abf1
Compare
scruffian
force-pushed
the
try/waveformplayer
branch
from
February 13, 2026 14:21
4a2abf1 to
7601c4e
Compare
scruffian
force-pushed
the
try/waveformplayer
branch
3 times, most recently
from
February 13, 2026 15:14
19c142f to
97d95c0
Compare
scruffian
force-pushed
the
try/waveformplayer-simple
branch
2 times, most recently
from
February 19, 2026 12:19
997086d to
7deb4ae
Compare
scruffian
force-pushed
the
try/waveformplayer-simple
branch
3 times, most recently
from
February 26, 2026 11:11
fac2ce5 to
d31f330
Compare
Replace the createSvgIcon() DOM builder with inline SVG markup strings set via innerHTML on each control button. Simpler for static icons, and still iframe-safe (the button is created in the container's document, so innerHTML parses there). Verified the markup yields a queryable svg path so styleSvgIcons and the active-state fill still apply. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The shuffle and repeat controls are toggle buttons but only conveyed their on/off state visually via an is-active class, leaving it inaccessible to assistive technology. Make aria-pressed the single source of truth: set it from the initial shuffle/repeat state, flip it in the click handlers, and key the toggled-on styling off [aria-pressed="true"] instead of .is-active. Drop the is-active class entirely. Prev/next stay momentary actions with no aria-pressed. Export setupPlaylistControls and add unit tests covering the initial state, the prev/next absence of aria-pressed, and the toggle behavior. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The play button kept focus via a requestAnimationFrame refocus that let the library's container steal focus and then grabbed it back. Match the prev/shuffle/repeat/next controls instead: add a click listener that calls stopPropagation so the click never reaches the container's self-focus handler. stopPropagation (not stopImmediatePropagation) leaves the library's own togglePlay handler on the same element intact. Add unit tests asserting a play button click does not bubble to the container, and that cleanup removes the listener. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Tested in the editor: keyboard focus on the skip controls survives a track change without the restore machinery, so the restoreFocusRef / focusControl path is unnecessary. Remove it from both the editor component and initWaveformPlayer. Focus on every control (play/pause, prev, shuffle, repeat, next) is now preserved by a single mechanism: stopPropagation on each button's click so the library's container never steals focus. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scruffian
force-pushed
the
try/waveformplayer
branch
from
July 15, 2026 10:38
5d869fe to
56fdb7e
Compare
This branch has not been deployed
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.
What?
This PR extends the Playlist block's waveform player with:
It also updates the Playlist block attributes documentation and adds unit coverage for the new playlist and waveform utility behavior.
Why?
The Playlist block already uses a waveform player, but the player and track list need more of the controls and display options users expect from a playlist experience. These changes make it easier to navigate between tracks, randomize playback, repeat either the playlist or current track, and simplify the visible track metadata.
How?
showTrackLength,showProgressBackground, andprogressColorPlaylist block attributes.Screenshots
Testing Instructions
npm run wp-env-test statusandnpm run wp-env-test start.Automated Tests
npm run test:unit packages/block-library/src/utils/test/waveform-utils.js packages/block-library/src/utils/test/waveform-player.js -- --runInBandnpm run test:unit packages/block-library/src/playlist/test/edit.js -- --runInBandnpm run lint:js -- packages/block-library/src/utils/waveform-utils.js packages/block-library/src/utils/waveform-player.js packages/block-library/src/utils/test/waveform-utils.js packages/block-library/src/utils/test/waveform-player.js packages/block-library/src/playlist/edit.js packages/block-library/src/playlist/view.jsnpm run lint:css -- packages/block-library/src/playlist/style.scssgit diff --check