Repository navigation
Quick wins: desktop fullscreen, player buffering/overscroll, library & nav fixes - #50
Merged
Merged
Conversation
Drop the "Buffering" text under the seek bar. While the transport is buffering, the full player's play/pause button and the mini player's play/pause show the Material 3 Expressive LoadingIndicator in place of the icon. Both stay tappable, and screen readers hear "Buffering" as the button's state. Closes #33 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
While another device plays, the full player no longer shows a "Playing on <device>" notice under the artwork; the highlighted Connect button at the top right is the one way to the device picker. Removes the composable and its string, and the layout test now checks there is no such line and that Connect opens the picker. Closes #15 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The full player's page scroll used the default overscroll effect, so a swipe up on a page that already fits (or past its end) stretched the whole player. Pass overscrollEffect = null to its verticalScroll. Closes #24 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The lists scroll under the whole top bar, and the row of link chips (Recent queues, Downloads, Filters) between the app bar and the tabs had no background, so rows showed through. The header column now has the app bar's scroll-tinted container colour, shared by the bar and the tab row. Closes #23 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y13F1MZyepBvGTi1ceeGUc
Settings pushed over Home was saved into Home's stack by a switch to another place and restored on the way back, so the Home tab reopened Settings and Home itself could not be reached. Switching places now pops Settings (and anything opened from it) first; re-tapping the selected place still pops to its root. goToPlace only records a place's own screen as the stack root, so Home stays selected over its restored screens. Closes #22 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y13F1MZyepBvGTi1ceeGUc
…ars" The bulk toolbar showed the contextMenu's rate5 entry as a fixed "Rate 5 stars". As in the action sheet, rate5 now stands for one rating entry: "Set rating…" opens the rating dialog (with a "Clear rating" button, since the selection has no current rating to tap) and applies the chosen 0-5 stars to every selected item through the core's rateN actions. The customisable context-menu list is unchanged: rate5 still decides whether the entry appears. Closes #35 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y13F1MZyepBvGTi1ceeGUc
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opening the fullscreen "Now playing" view no longer puts the OS window into fullscreen. A full screen button beside the collapse chevron toggles the window's fullscreen instead (state from windowState, which main broadcasts on enter/leave-full-screen); if that button put the window into fullscreen, closing the player takes it back out. The collapse button is relabelled "Close player" so it no longer reads as the window toggle. Closes #43 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seven small fixes, one commit each.
Desktop
Android: now playing
LoadingIndicatorinstead, in both the full player and the mini player. The button stays tappable.Android: library & navigation
RatingDialog, which gained an optional title and a "Clear rating" button, and applies the chosen 0–5 stars to everything selected.Testing
:app:testDebugUnitTeston this branch: 128 tests, 0 failures, 13 skipped. The skipped suites look like they need the native core, a real server or screenshot recording. New tests:SelectionToolbarTest,NavBarCustomisationTest.switchingPlacesClosesSettings, and an updatedFullPlayerLayoutTest.pnpm typecheck: passes. Vitest: 150/150 pass.playback.spec.ts's fullscreen test is extended to check that the window isn't fullscreen on open, that the button toggles fullscreen, and that closing the player exits it. With one check commented out locally, the test passes. That check, the fluid background showingdata-source="artwork"at line 78, fails the same way on unchangedmain.main:keyboard-a11y:273,exit-motion:31,keyboard:4.a11y:103(the new button passes its axe checks, then the test times out at the command palette) andmotion-contrast:114(fails on the same fluid-background check). They weren't run onmain, and the cause isn't confirmed.Closes #43
Closes #33
Closes #15
Closes #24
Closes #23
Closes #22
Closes #35
🤖 Generated with Claude Code
https://claude.ai/code/session_01Y13F1MZyepBvGTi1ceeGUc