fix(ui): stop the album grid eating the year it was sorted by #77

Closed
logan wants to merge 0 commits from fix/album-card-year into main
Collaborator

Closes #29.

The year was part of the same run of text as the title inside one text-overflow: ellipsis box, so it was the first thing truncation took. A card wide enough for a long album name never showed its year — which means sorting the grid by year showed years only for the albums with short names.

Title and year are now a flex row in which only the title gives way (min-width: 0 on the title, flex: 0 0 auto on the year). A row rather than a second line, because the card’s height is what the virtualizer measures rows by.

Test. frontend/test/components/album-card-year.test.ts — with long names throughout, every card renders a year, the title really is clipped (or the assertion proves nothing), and the year is not. The second case fails on main.

Note. make ui-visual reports one failure in now-playing.test.ts (58 → 65px) which is pre-existing on main and unrelated — verified by stashing this change. That tier is not a CI gate.

Closes #29. The year was part of the same run of text as the title inside one `text-overflow: ellipsis` box, so it was the first thing truncation took. A card wide enough for a long album name never showed its year — which means sorting the grid **by year** showed years only for the albums with short names. Title and year are now a flex row in which only the title gives way (`min-width: 0` on the title, `flex: 0 0 auto` on the year). A row rather than a second line, because the card’s height is what the virtualizer measures rows by. **Test.** `frontend/test/components/album-card-year.test.ts` — with long names throughout, every card renders a year, the title really is clipped (or the assertion proves nothing), and the year is not. The second case fails on `main`. **Note.** `make ui-visual` reports one failure in `now-playing.test.ts` (58 → 65px) which is **pre-existing on `main`** and unrelated — verified by stashing this change. That tier is not a CI gate.
logan added 1 commit 2026-08-18 15:08:54 +00:00
fix(ui): stop the album grid eating the year it was sorted by
CI / check (push) Skipped
CI / e2e (push) Skipped
CI / check (pull_request) Successful in 2m30s
CI / e2e (pull_request) Successful in 6m5s
792e87298b
The year sat inside the same ellipsis box as the title, so it was the
first thing truncation took: a card wide enough for a long album name
never showed its year, and browsing the grid *by year* showed years
only for the albums with short names. The sort said one thing and the
cards showed another.

Title and year are now a flex row where only the title gives way. A
row rather than a second line, because the card's height is what the
virtualizer measures rows by.

Refs #29
Author
Collaborator

Rolled into #83 and closed here — the commit is preserved as a merge on that branch, so it lands with its authorship and this PR's diff intact.

Batched deliberately: release.yml cuts a release on every push to main, so merging these one at a time would produce seven or eight releases for one afternoon of small fixes. #83 is one push and therefore one version.

The full gate was run against the combined tree rather than per branch: make lint (3 configs), make test (3 configs, -race), make ui-test (836), make e2e chromium (114), plus bindings/skill/commit checks.

Rolled into #83 and closed here — the commit is preserved as a merge on that branch, so it lands with its authorship and this PR's diff intact. Batched deliberately: `release.yml` cuts a release on **every** push to `main`, so merging these one at a time would produce seven or eight releases for one afternoon of small fixes. #83 is one push and therefore one version. The full gate was run against the combined tree rather than per branch: `make lint` (3 configs), `make test` (3 configs, `-race`), `make ui-test` (836), `make e2e` chromium (114), plus bindings/skill/commit checks.
logan closed this pull request 2026-08-18 15:44:24 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.