Skip to content

Release/2.3#127

Open
faultables wants to merge 42 commits intodevelopfrom
release/2.3
Open

Release/2.3#127
faultables wants to merge 42 commits intodevelopfrom
release/2.3

Conversation

@faultables
Copy link
Copy Markdown
Member

@faultables faultables commented Apr 11, 2026

Note

Medium Risk
Medium risk because it changes playback behavior (prefetch/caching and star/unstar) and expands UI/navigation paths including CarPlay templates and iPad-specific layouts, which can affect core user flows.

Overview
Adds streaming cache + cache management UI. Introduces a streamed-song cache surfaced in Downloads (including new CachedSongsView) and CarPlay Downloads, with a new Preferences section to set a cache size limit and clear cached streams; app startup now reconciles cache state.

Adds “Liked Songs” and starring controls across playback surfaces. Adds LikedSongsView, fetches starred songs via AlbumViewModel, and wires star/unstar toggles into PlayerViewModel, the in-app player UI (including lyrics mode), and CarPlay Now Playing + Library.

Improves iPad and refresh behavior. Enables iPad as a supported device family, adds iPad orientation support, introduces iPad sidebar-style tabs on iOS 18, updates multiple grids to adapt column counts by size class, and adds pull-to-refresh that triggers new async refresh methods with library caching for albums/artists/playlists/songs.

Reviewed by Cursor Bugbot for commit f7ef4a9. Bugbot is set up for automated code reviews on this repo. Configure here.

faultables and others added 18 commits March 24, 2026 17:58
…t images so lists and artwork load instantly from disk while refreshing from the network in the background. Includes pull-to-refresh on Library, Artists, Songs, and Playlists views.
Add heart button to now playing bottom bar for starring/unstarring
the current track via Subsonic star/unstar API. Add "Liked Songs"
entry in Library view that shows all starred songs from getStarred2
endpoint, with tap-to-play queuing them as a playlist.

Shared code (Song.starred, Starred2Response, SubsonicSong,
SongCollection, AlbumService star methods) matches watchOS branch
to minimize merge conflicts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ange

Distribute lyrics, heart, AirPlay, and queue icons with equal spacing
using maxWidth .infinity frames. Re-fetch liked songs list when star
status changes so unliked songs disappear from the view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: SindreKjelsrud <sindre@kjelsrud.dev>
Co-authored-by: faultables <faultables@users.noreply.github.com>
SindreKjelsrud and others added 10 commits April 21, 2026 19:29
Signed-off-by: SindreKjelsrud <sindre@kjelsrud.dev>
Adds a Liked Songs entry to the Library tab with Play All, Shuffle,
and individual track playback. Follow-up to #119.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shows stream-cached songs as a browsable playlist in the Downloads
tab with Play All, Shuffle, and individual track playback. Follow-up to #115.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Use the same centered content width logic for the Home header and stat cards so the title and profile icon stay aligned in both portrait and landscape on iPad.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Enable sidebar-adaptable tabs on iPad with Library submenus and add a default-visible quick-link toggle in Albums so navigation remains accessible when sidebar visibility changes.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Adjust the floating player on iPad to sit at the bottom edge and widen its max width, while keeping iPhone layout behavior unchanged.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Fix fullscreen player regressions from 2.2 by restoring dismiss drag preview of the underlying screen and correcting safe-area handling for top and bottom controls on iPhone and iPad.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Refine fullscreen player and lyrics control bars by aligning icon distribution, adding lyrics heart action parity, and tuning iPhone/iPad vertical spacing for cover, title, progress, and bottom controls.

Co-authored-by: faultables <faultables@users.noreply.github.com>
faultables and others added 2 commits April 26, 2026 01:25
- Home: remove visible header title (empty string)
- Library: Liked Songs row uses accent for heart icon
- Player: increase space between album art and track title

Co-authored-by: faultables <faultables@users.noreply.github.com>
Use the iOS 26 glass effect with a compatible fallback for the iPad login close control, and make the queue sheet height adaptive in iPad portrait to avoid clipping on tall screens.

Co-authored-by: faultables <faultables@users.noreply.github.com>
@faultables faultables marked this pull request as ready for review April 25, 2026 20:28
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 4 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f7ef4a9. Configure here.

faultables and others added 5 commits April 26, 2026 13:58
Enable Catalyst-specific build behavior and storage paths so the app can run locally on macOS without breaking iOS credentials.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Pass required environment objects through artist navigation so sidebar and library routes do not crash when opening artists or albums.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Register quick-link toggle strings in the string catalog for the library sidebar controls.

Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Embed the floating player inside each tab's content overlay on iPadOS 18+
sidebarAdaptable layouts so it is naturally constrained to the content area.
This eliminates the need for an estimated sidebar-offset heuristic that
could not detect manual sidebar collapse/expand.

Co-authored-by: faultables <faultables@users.noreply.github.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented Apr 26, 2026

You have used all of your free Bugbot PR reviews.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@kepelet kepelet deleted a comment from cursor Bot Apr 26, 2026
@kepelet kepelet deleted a comment from cursor Bot Apr 26, 2026
@kepelet kepelet deleted a comment from cursor Bot Apr 26, 2026
@kepelet kepelet deleted a comment from cursor Bot Apr 26, 2026
faultables and others added 7 commits April 26, 2026 17:32
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
Co-authored-by: faultables <faultables@users.noreply.github.com>
@faultables
Copy link
Copy Markdown
Member Author

hell yeah
Screenshot 2026-04-26 at 20 49 42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants