docs: record ideas in the bottom Planned/Backlog, mention Musik-Match in README
Move the share-links / Wrapped / household-leaderboard / ListenBrainz ideas into the existing "Planned / Backlog" section at the bottom of the CHANGELOG (not a new top section), and add a short Musik-Match clause to the README listening-stats feature. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
e34a934460
commit
a5e5d414b4
2 files changed
+5
-24
No files matched your search
+4
-23
@@ -64,29 +64,6 @@ 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
|
||||
|
||||
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.
|
||||
@@ -460,6 +437,10 @@ Primary causes identified:
|
||||
## Planned / Backlog
|
||||
|
||||
### Features
|
||||
- **Web + Android** — **Share by link** — share a song/album to another user of the same instance via one `https://…` link that deep-links into the **PWA on desktop** and the **Android app on phone** (like Spotify/YouTube links). Android **App Links** (`intent-filter` + hosted `/.well-known/assetlinks.json` with the *release* signing SHA-256) open the app directly; PWA `launch_handler`/`handle_links` capture links on desktop. Link format leaning query param `?song=<id>` (no server SPA-rewrite; PWA reads it on load). Carries only the song id — no secrets; playback uses the recipient's own Navidrome creds. Songs first → albums/artists/playlists. Web: `navigator.share()`; Android: `ACTION_SEND`.
|
||||
- **Web + Android** — **Yearly Wrapped** — a yearly story (`/scrobble/wrapped` + web story page + Android pager), built on the existing stats aggregations.
|
||||
- **Web + Android** — **Household leaderboard (>2 users)** — "who listened most this month" + top artists across all users; the broader multi-user version of the already-built 2-user Musik-Match. Needs wider cross-user reads (admin/household mode, or an aggregate endpoint exposing per-user totals only, never raw histories).
|
||||
- **Backend (optional)** — **ListenBrainz relay** — mirror counted plays to ListenBrainz.
|
||||
- **Web + Android** — **Discover Mixes (auto-download, temporary)** — themed/random mixes for discovering unknown music, Spotify-style (e.g. "Rock", "Charts", "Random Discovery"). Idea:
|
||||
- Generate a mix from a theme/genre/charts (sources: Last.fm / ListenBrainz similar + iTunes charts), then **auto-download** the tracks via the yt-dlp backend so they play locally.
|
||||
- **Temporary by default:** tracks **auto-delete after a configurable time** (e.g. 7 days) so the library doesn't fill up with stuff you didn't keep.
|
||||
|
||||
Reference in new issue
Block a user