docs(changelog): add Ideas / Backlog section (share-links, Wrapped, leaderboard, ListenBrainz)

The CHANGELOG is the home for feature ideas going forward. Records the
share-by-link deep-link idea (PWA on PC / Android app on phone via App Links +
assetlinks.json), plus the already-tracked Wrapped, household leaderboard, and
optional ListenBrainz relay.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 4.8 committed 2026-08-13 01:16:09 +02:00
1 parent 19f82ad076
commit e34a934460
1 file changed
+23
+23
View File
@@ -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=<id>` (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 ## [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. 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.