Skip to content

With a selection, earlier breadcrumbs paint over the separator and the folder title #404

Closed

Description

@BeSovereign

Where: web/src/styles/app.css:671-673.

What happens: While a selection lasts, every crumb gets min-width: 0 (.toolbar:has(.selection-bar) .breadcrumbs > *). Only the current crumb also gets overflow: hidden; text-overflow: ellipsis. The earlier crumbs shrink below their text and their text overflows visibly. Measured at 1280x800, de-du, in /home/Projekte with one row ticked: the "Mein Speicher" link box is 65 px wide and its text 90 px (scrollWidth 90 > clientWidth 65). On screen it reads "Mein Speiche/Proj..." with the letters running through the "/". English in /home/Projekte/Steuer 2026 does the same: "My storage" is 70 px of text in a 60 px box, "Projekte" 51 in 44.

Expected: Crumbs never overlap. An earlier crumb that has to give way is cut with its own ellipsis. The current crumb keeps at least 8rem and is cut with an ellipsis (DESIGN.md, "Tags and smart folders").

Fix: Under .toolbar:has(.selection-bar) .breadcrumbs, give every crumb link overflow: hidden; text-overflow: ellipsis; white-space: nowrap. Let the earlier crumbs shrink first: a high flex-shrink on them, and flex-shrink: 0 with min-width: 8rem on [aria-current=page]. Keep .sep at flex: none.

Test (Playwright, e2e/selection-bar.spec.ts, desktop): Use de-du at 1280x800 in /home/<dir>/<sub> with one row ticked. For every .breadcrumbs a, assert either scrollWidth <= clientWidth, or computed overflow: hidden together with text-overflow: ellipsis. Also assert that the bounding boxes of neighbouring crumb and separator elements do not intersect. Fails today.


Found by the automatic review round (claude-opus-5-5, b739414); per CLAUDE.md the fix starts with a failing behaviour test.

Activity

  1. added
    rebuildPart of the ground-up rebuild (spec 2026-10-14)
    qaFound by exploratory QA (dogfooding)
    on Oct 20, 2026
  2. added a commit that references this issue on Oct 20, 2026
  3. BeSovereign commented on Oct 20, 2026

    @BeSovereign
    ContributorAuthor

    Fixed: PR #413 squash-merged into main after green CI (one commit; git revert it to undo).

    • Suites: typecheck: 1 passed, 0 failed | lint: 1 passed, 0 failed | unit: 1187 passed, 0 failed | e2e: 606 passed, 0 failed
    • Declared tests fail without the production change and pass with it (output in the PR).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    qaFound by exploratory QA (dogfooding)rebuildPart of the ground-up rebuild (spec 2026-10-14)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions