Skip to content

Add a Recents page grouped by day - #55

Open
VitzS7 wants to merge 4 commits into
fatyzzz:mainfrom
VitzS7:recents
Open

VitzS7 wants to merge 4 commits into
fatyzzz:mainfrom
VitzS7:recents

Conversation

@VitzS7

@VitzS7 VitzS7 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

The history already merges this computer's plays with Spotify's recently played, but only the home shelf showed it, so there was no place to see what you played yesterday the way the phone's Recents does.

This adds a Recents page in the sidebar, under New releases. It lists the history by day (Today, Yesterday, then the date). Songs played in a row from one playlist, album or artist are one row with their count ("Relaxar · Playlist · 34 tracks"), and a song played on its own is its own row. A context row opens it, a song row plays it. The page reloads when the history changes.

The grouping is a pure function (data::recents::by_day) with tests for days split by local time and for the same playlist coming back later.

Tests: cargo test -p sf-services recents, qmllint on RecentsPage.qml, and the page loaded offscreen on a real account.

Update: the page shows Spotify's own recently played list (the same one the phone uses) together with this computer's plays, which only reach Spotify when play reporting is on; the same play shows once. It refreshes about 15 seconds after a song ends here. Clicking a playlist, album or artist row expands the songs that played in it that day instead of opening the context; the songs come from this computer's plays plus /me/player/recently-played when the Web API is signed in.

The history already merges this computer's plays with Spotify's recently
played, but only the home shelf showed it. The new page lists it by day:
songs played in a row from one playlist, album or artist are one row with
their count, and a song played on its own is its own row. A context row
opens it, a song row plays it. It sits in the sidebar under New releases.
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.

1 participant