Skip to content
This repository was archived by the owner on Sep 7, 2026. It is now read-only.

Remove the Music Player Studio's Mini Bar half - #20

Merged
David7ce merged 1 commit into
mainfrom
claude/mini-player-studio
Aug 31, 2026
Merged

David7ce merged 1 commit into
mainfrom
claude/mini-player-studio

Conversation

@David7ce

Copy link
Copy Markdown
Member

Takes the product call I flagged in #16 rather than leaving it open.

It configured a widget that does not exist

The studio's Mini Bar target let you pick a preset, drag components into an order, watch a live preview — and then told you "Custom Mini Player Studio layout set as active bottom bar!"

This fork replaced upstream's per-page mini players with the shared UniversalPlayBar, which reads none of MusicSettings. None of it ever reached the screen.

Why remove rather than wire up

Wiring was the other option. The play bar is shared across music, video, audiobooks and podcasts, so a music-only component order would make it rearrange itself whenever you switched source type — you'd tap from a track to an episode and watch the bar reshuffle. One shared bar is this fork's architecture (it's in FORK_DIFFERENCES.md); a music-only mini-player customiser contradicts it.

Removing loses nothing that currently works, and is one revert away if you'd rather have the bar honour presets.

Removed — 280 lines

The Fullscreen/Mini switcher pill, the mini preview card and its component builder, plus MusicMiniPlayerPreset, selectedMiniPreset, componentOrderMini, reorderMiniComponents and setSelectedMiniPreset.

The Fullscreen studio is untouched — it genuinely works, since music_page.dart reads selectedFullscreenPreset.

A nice consequence

settings_are_wired_test.dart needed two exemptions for exactly these settings. Both are gone, so the rule is unconditional again: every persisted setting is read by something.

Verification

flutter analyze → No issues found. flutter test --exclude-tags network → 206 passed.


Generated by Claude Code

It configured a widget that does not exist. The studio's "Mini Bar" target let
you pick a preset, drag components into an order and watch a live preview, and
then told you it was "set as active bottom bar" -- but this fork replaced
upstream's per-page mini players with the shared UniversalPlayBar, which reads
none of MusicSettings. None of it ever reached the screen.

Wiring it up was the other option and was rejected: the bar is shared across
music, video, audiobooks and podcasts, so a music-only component order would
make it rearrange itself whenever the source type changed. One shared bar is
the fork's design; a music-only mini-player customiser contradicts it.

Removes the Fullscreen/Mini switcher, the mini preview card and its component
builder, MusicMiniPlayerPreset, selectedMiniPreset, componentOrderMini,
reorderMiniComponents and setSelectedMiniPreset -- 280 lines. The Fullscreen
studio is untouched; it genuinely works, since music_page.dart reads
selectedFullscreenPreset.

settings_are_wired_test.dart no longer needs its two exemptions, so the rule is
unconditional again: every persisted setting is read by something.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B62qvJ25JCrwnV2uiDrnCQ
@David7ce
David7ce merged commit f853b8a into main Aug 31, 2026
1 check passed
David7ce pushed a commit that referenced this pull request Aug 31, 2026
#20 landed first and added its entry at the top of the same section. Both are
dated 2026-08-31 and describe different work, so both stay.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B62qvJ25JCrwnV2uiDrnCQ
David7ce pushed a commit that referenced this pull request Aug 31, 2026
Two conflicts, only one of them mechanical.

The changelog was a plain keep-both: #20 landed first and added its entry at
the top of the same section.

The roadmap was not. This branch predates #20, so its side still carried row
7b -- "the Mini Player tab configures a widget that does not exist" -- which
#20 removed because that work is now done. Resolving by keeping both sides
would have resurrected a roadmap entry for work that just shipped, and kept
the stale item 8 ("nothing to fix") alongside the corrected one that the
v1.1.3 release run disproved. Took this branch's item 8 and dropped 7b.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B62qvJ25JCrwnV2uiDrnCQ
David7ce pushed a commit that referenced this pull request Aug 31, 2026
Same keep-both as last time: #21 landed and added its entry at the top of the
section this branch also writes to. Git cannot auto-merge two insertions at
one anchor, so this round was expected.

The roadmap needed nothing this time -- the row #20 retired stayed retired,
and the corrected item 8 survived.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B62qvJ25JCrwnV2uiDrnCQ
@David7ce
David7ce deleted the claude/mini-player-studio branch August 31, 2026 09:55
David7ce added a commit that referenced this pull request Sep 1, 2026
…y icon)

Five new items, tracked not implemented, each investigated enough to be
concrete rather than restating the ask:
- #18: Movies/Series and Comics/Manga section labels -- code still says
  the slash form, only the roadmap's own table had already drifted to
  the ampersand form.
- #19: Anime's language toggle is a binary IconButton today, not a
  dropdown -- needs FilterDropdown treatment matching its own genre
  filter right next to it.
- #20: hero carousel issues are three separate root causes, not one bug
  -- Movies & Series has no backdrop image field at all (poster force-fit
  into a landscape slot), Live TV's code looks correct so the cause is
  unclear without eyes on it, Anime not yet investigated.
- #21: Radio is not a styling problem -- it has no real station data
  source, just genre-flavoured song search reskinned as "stations".
  Books/Podcast UX-parity with Anime is blocked on Books' existing
  no-cover-URL problem.
- #22: Library's "Saved" tab uses a heart icon for something broader
  than "liked" by its own doc comment; asked to split Liked/Playlist
  inside it, deliberately skipping Read for Playlist.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants