Repository navigation
fix(webapp): give a blank timed lyric line a visible box - #291
Merged
Merged
Conversation
Contributor
InstaZDLL
added this pull request to stack #292
October 21, 2026 00:51
InstaZDLL
force-pushed
the
fix/blank-lyric-line-box
branch
from
October 21, 2026 01:13
3a8bb36 to
99de200
Compare
A line with no words rendered a plain space, which is collapsible, so its
line box had no height: in the lyrics view a blank timed line became a
button zero pixels tall that the keyboard still reached and nobody could
see, focus ring included. Both views now fall back to a non-breaking
space, which holds one line of height, so the pause keeps its place in the
sheet and its button a box. axe trims it as whitespace, so the name
"Jump to {when}" still contains everything on screen.
The e2e test that counted the blank line's button, because it could not
be visible, now asks for it to be visible.
Signed-off-by: InstaZDLL <github.105mh@8shield.net>
InstaZDLL
force-pushed
the
fix/blank-lyric-line-box
branch
from
October 21, 2026 01:20
99de200 to
c04c6f8
Compare
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.
Stacked on #290: it targets that branch and will retarget to main once #290 merges.
Why
A timed lyric line with no words (an instrumental break) rendered
{line.value || " "}, a plain space. A plain space is collapsible, so the line box had no height: in the lyrics view the line became abutton.linkzero pixels tall. The keyboard still reached it and announced it as "Jump to {when}", but nothing was drawn, focus ring included. This predates #290; the coverage a review asked for there is what brought it to light.What
playing-page.tsx: the three fallbacks (the strip's<li>, the timed button, the untimed<li>) now useBLANK_LINE, a non-breaking space (" "). It holds one line of height, so the pause keeps its place in the sheet and its button has a box. axe'ssanitizetrims it like any whitespace, solabel-content-name-mismatchstill finds nothing visible missing from "Jump to {when}".studio-nocturne.spec.ts: the blank line's button was checked withtoHaveCount(1)because it could not be visible; it is nowtoBeVisible().Verification
bun run lint,bun run test(172 passed),bun run build.bunx playwright test: 138 passed, 10 skipped (the spec's existingtest.skip(calls), desktop and mobile, axe clean.BLANK_LINEset back to a plain space and the bundle rebuilt, the test fails onJump to 0:20withunexpected value "hidden".Summary by CodeRabbit