diff --git a/CHANGELOG.md b/CHANGELOG.md index e7fba1c..cd98069 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,6 +64,29 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an --- +## Ideas / Backlog + +Planned features and ideas, newest first. Moved into a release section once built. + +- **Share by link** — share a song/album via a link within the instance (e.g. send a track to + another user of the same server). One `https://…` URL that deep-links into the **PWA on desktop** + and the **Android app on phone** (like Spotify/YouTube links). Approach: Android **App Links** + (`intent-filter` + hosted `/.well-known/assetlinks.json` with the *release* signing SHA-256) so the + phone opens the app directly; PWA `launch_handler`/`handle_links` to capture links on desktop. + Link format leaning **query param** `?song=` (no server SPA-rewrite; App Links match on `/`; + the PWA reads the param on load). Link carries only the song id — no secrets; playback still uses + the recipient's own Navidrome creds. Start with songs → albums/artists/playlists. Web: Share button + via `navigator.share()`; Android: `ACTION_SEND`. +- **Yearly Wrapped** — a yearly story (`/scrobble/wrapped` + web story page + Android pager), + building on the existing stats aggregations. (Also tracked in the parity matrix as 🔜.) +- **Household leaderboard** (>2 users) — "who listened most this month", top artists across all + users. The 2-user **Musik-Match** (Head-to-Head) is already built; this is the broader multi-user + version. Needs wider cross-user reads (admin/household mode gated by admin check, or an aggregate + leaderboard endpoint that exposes per-user totals only, never raw histories). +- **ListenBrainz relay** (optional) — mirror counted plays to ListenBrainz. + +--- + ## [2.0] — 2026-08-07 Big change: **NovaSonic gets its own self-hosted, multi-user listening archive.** Navidrome only stores a play *count* and the *last* play date — no timestamped history — so per-day/month/year stats and a yearly "Wrapped" were impossible. Koito and Spindle (the off-the-shelf options) are effectively single-user. Since NovaSonic *is* the player, it now records every counted play into an **isolated scrobble service** with its own database, and shows the results in a **statistics view on web and Android**. This runs **in addition to** the existing Navidrome/Last.fm scrobble — it never replaces it.