Public links: a long file name makes the page scroll sideways; gallery tiles of non-images have no name #129

Closed
opened 2026-09-25 22:17:35 +00:00 by kayg · 2 comments
Owner

Severity: medium (public page unusable on a phone with one long name)

Problem

  1. On /s/<slug> for a folder, one long file name (or an unbroken name like 120 × "A") made the whole page scroll sideways at every width (320 to 1920). The list grids used an implicit auto column that grew to the name's min-content width; the download buttons were off screen. /home/kayg/Developer/calternal/target/breakit/run1/public-folder_1440-paper.png, /home/kayg/Developer/calternal/target/breakit/run1/public-folder_320-paper.png.
  2. In the gallery presentation, a file without a thumbnail showed only its kind icon. A gallery of 1,000 text files was a wall of identical tiles (the name was only in aria-label). /home/kayg/Developer/calternal/target/breakit/verify/big.png.

Expected

Names ellipsize inside the page width; every tile shows its name.

Status

Fixed on job/breakit-fixes in 6e89642 (minmax(0, 1fr) columns; gallery tile caption). Checks: /home/kayg/Developer/calternal/target/breakit/verify/v-public-320.png, /home/kayg/Developer/calternal/target/breakit/verify/v-gallery-320.png. Not merged.

Found by the break-it sweep (#117). Re-run: cd apps/web && bun run build && bun e2e/breakit.mjs --keep <dir> (script on branch job/breakit-fixes). Screenshots: /home/kayg/Developer/calternal/target/breakit (run 1 in run1/, fix checks in verify/).

**Severity:** medium (public page unusable on a phone with one long name) ## Problem 1. On `/s/<slug>` for a folder, one long file name (or an unbroken name like 120 × "A") made the whole page scroll sideways at every width (320 to 1920). The list grids used an implicit `auto` column that grew to the name's min-content width; the download buttons were off screen. `/home/kayg/Developer/calternal/target/breakit/run1/public-folder_1440-paper.png`, `/home/kayg/Developer/calternal/target/breakit/run1/public-folder_320-paper.png`. 2. In the gallery presentation, a file without a thumbnail showed only its kind icon. A gallery of 1,000 text files was a wall of identical tiles (the name was only in `aria-label`). `/home/kayg/Developer/calternal/target/breakit/verify/big.png`. ## Expected Names ellipsize inside the page width; every tile shows its name. ## Status Fixed on `job/breakit-fixes` in 6e89642 (minmax(0, 1fr) columns; gallery tile caption). Checks: `/home/kayg/Developer/calternal/target/breakit/verify/v-public-320.png`, `/home/kayg/Developer/calternal/target/breakit/verify/v-gallery-320.png`. Not merged. Found by the break-it sweep (#117). Re-run: `cd apps/web && bun run build && bun e2e/breakit.mjs --keep <dir>` (script on branch `job/breakit-fixes`). Screenshots: `/home/kayg/Developer/calternal/target/breakit` (run 1 in `run1/`, fix checks in `verify/`).
Author
Owner

The hidden-name gallery now passes with seven entries: the four photos plus the itinerary and two long text files. Gallery mode intentionally exposes all file tiles, so the old share E2E expected only the five older fixtures; I updated its fixture list and Quick Look target. The remaining auto-presentation assertion needs investigation.

The hidden-name gallery now passes with seven entries: the four photos plus the itinerary and two long text files. Gallery mode intentionally exposes all file tiles, so the old share E2E expected only the five older fixtures; I updated its fixture list and Quick Look target. The remaining auto-presentation assertion needs investigation.
Author
Owner

Fixed. The Share E2E passed. It checks that a long public filename does not widen the page and that gallery tiles show non-image filenames. It also checks that gallery captions keep repeated spaces.

Fixed. The Share E2E passed. It checks that a long public filename does not widen the page and that gallery tiles show non-image filenames. It also checks that gallery captions keep repeated spaces.
kayg closed this issue 2026-09-26 12:51:53 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#129
No description provided.