The library filter is unreachable on a phone, and nothing else selects a library #148

Closed
opened 2026-08-20 01:34:38 +00:00 by logan · 0 comments
Collaborator

Report

Below 600px the top bar hides the library filter:

/* frontend/index.css, the phone section */
.top-bar library-filter {
    display: none;
}

and the comment beside it says "the library filter is a rarely-changed
setting and reachable from the drawer's Settings"
. It is not. Nothing
else in the app selects a library.

Findings

  • library-filter is the only caller of
    setSelectedLibrary. Grepping frontend/src for it returns exactly
    one non-store hit, in the component itself; the three readers
    (cover-grid, artists-view, genres-view) only read
    selectedLibraryId.
  • Settings → Libraries adds, removes, renames and scans libraries. It
    does not set the view filter, which is a different thing: the
    filter decides what Albums, Artists and Genres show.
  • The selection persists, so a phone inherits whatever a desktop
    session last chose and cannot change or even see it. "All Libraries"
    is the default, which is why this has not been noticed — it is only
    visible to someone with more than one library who has ever narrowed
    it.
  • This is a violation of #24's sentence, no action is ever unreachable
    at any supported size
    , in the band that sentence was written for.

Why it is filed rather than fixed in #143. #143 makes the Compact
band fit, and deliberately does not hide the library filter to do it,
for exactly this reason — the two cheapest candidates in that issue's
Direction were "hide the library filter at 700" and it would have
widened this hole rather than opening it. Fixing the phone's copy is a
separate question with a separate answer (a home for it in Settings or
in the "More" drawer), and it belongs with #57, which rehomes the whole
bar on a phone and lists the job indicator as the awkward one — this is
the second awkward one.

Direction

Give the selection a home that survives the bar being hidden: a
"Showing" control in Settings → Libraries, or an item in bottom-nav's
"More" drawer. Then either keep the phone rule as it is (the filter is
genuinely not worth 148px of a 360px header) or drop it in favour of
the measured pass #143 added, which would only hide it where it truly
does not fit.

**Report** Below 600px the top bar hides the library filter: ```css /* frontend/index.css, the phone section */ .top-bar library-filter { display: none; } ``` and the comment beside it says *"the library filter is a rarely-changed setting and reachable from the drawer's Settings"*. It is not. Nothing else in the app selects a library. **Findings** - `library-filter` is the **only** caller of `setSelectedLibrary`. Grepping `frontend/src` for it returns exactly one non-store hit, in the component itself; the three readers (`cover-grid`, `artists-view`, `genres-view`) only read `selectedLibraryId`. - Settings → Libraries adds, removes, renames and scans libraries. It does not set the *view filter*, which is a different thing: the filter decides what Albums, Artists and Genres show. - The selection persists, so a phone inherits whatever a desktop session last chose and cannot change or even see it. "All Libraries" is the default, which is why this has not been noticed — it is only visible to someone with more than one library who has ever narrowed it. - This is a violation of #24's sentence, *no action is ever unreachable at any supported size*, in the band that sentence was written for. **Why it is filed rather than fixed in #143.** #143 makes the *Compact* band fit, and deliberately does not hide the library filter to do it, for exactly this reason — the two cheapest candidates in that issue's Direction were "hide the library filter at 700" and it would have widened this hole rather than opening it. Fixing the phone's copy is a separate question with a separate answer (a home for it in Settings or in the "More" drawer), and it belongs with #57, which rehomes the whole bar on a phone and lists the job indicator as the awkward one — this is the second awkward one. **Direction** Give the selection a home that survives the bar being hidden: a "Showing" control in Settings → Libraries, or an item in `bottom-nav`'s "More" drawer. Then either keep the phone rule as it is (the filter is genuinely not worth 148px of a 360px header) or drop it in favour of the measured pass #143 added, which would only hide it where it truly does not fit.
logan closed this issue 2026-08-21 00:18:35 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yonlu/yellowjacket#148