Skip to content

Fix five interface bugs reported against 0.18.1 - #700

Merged
thcp merged 1 commit into
mainfrom
fix/ui-bugs-0.18.1
Sep 26, 2026
Merged

thcp merged 1 commit into
mainfrom
fix/ui-bugs-0.18.1

Conversation

@thcp

@thcp thcp commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Five interface fixes reported against 0.18.1, each checked by hand in the browser.

Closes #698
Closes #695
Closes #697
Closes #696
Refs #633

What changes

Now-playing card (#698). The extracted date was being cut off at the card's edge. The meta line now wraps a whole item at a time, so the date moves to a second row when the first is full, and the top bar keeps its height. The format chip reads just "MP3", "WAV" or "FLAC", the source reads "Local", and "Local" no longer appears twice when a track has no known format.

Library, Unsorted row (#695). Unsorted is the folder every import lands in, so it has nothing to reorder and no need for its own New subfolder button. It loses the grip, that button and the hover highlight. A folder dropped on it now reorders around it instead of nesting inside. Folders you create keep all of these.

Click track popover with no song (#697). The popover was in the right place, but with no song loaded the whole panel was faded to 40%, box included. That left a see-through ghost over the lanes, and clicks fell through it. The box now stays solid and takes its own clicks; only the controls inside fade.

Count-in (#696). Count-in working with the click off is deliberate, and it stays. The popover now says so in a caption on its own row, and the tooltip says the same, in all ten languages.

Footer row shake (#633). I could not reproduce this one, so it stays open until it is confirmed on the reporter's setup. The fix removes the likeliest cause: at 250% scaling, a sub-pixel of phantom overflow can put a vertical scrollbar on the control strip, which changes its width and makes the fit logic flip back and forth. The strip now clips vertically, footerFit needs 24px to spare before it expands a level again, and the footer times are only written when the text changes.

Tests

  • e2e: 265 passed, including new tests for the Unsorted row and the popover with no song loaded
  • New unit test for footerFit at the threshold: fails 4 of 10 on the old code, passes on this one
  • i18n coverage clean, ruff and bandit clean, uv.lock unchanged

- Now-playing card: the extracted date wraps to a second row instead of
  being cut off, the format chip reads just "MP3" / "WAV", and "Local"
  no longer shows twice when the format is unknown (#698).
- Library: the Unsorted row loses its drag grip, its New subfolder
  button and its hover highlight, and a folder dropped on it reorders
  rather than nesting inside (#695).
- Click track popover with no song loaded: the box stays solid and takes
  its own clicks; only the controls inside fade (#697).
- Count-in: a caption and tooltip say it plays with the click off, and
  it gets its own row in the popover (#696).
- Footer row: overflow-y hidden on the strip, two thresholds in
  footerFit so a sub-pixel or scrollbar wobble cannot flip the layout
  back and forth, and the footer times are written only when they
  change (#633).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant