1
0
Commit Graph

32 Commits

Author SHA1 Message Date
ece18d125b feat: play button, last played, loan lend/return on item page 2026-09-03 22:45:20 +02:00
3ce55ba09e feat: json export and sqlite backup endpoints 2026-09-03 21:57:38 +02:00
3176807268 feat: collection stats route 2026-09-03 21:45:52 +02:00
53b4bc39f5 feat: loan tracking routes 2026-09-03 21:37:06 +02:00
f8f240f00a feat: matchedAlbum on item detail, onLoan collection filter 2026-09-03 21:25:47 +02:00
d63bc4bc12 test: permanent coverage for stream/album proxy routes 2026-09-03 21:25:47 +02:00
ebac55b7a5 feat: last-played stamping via sync and played endpoint, stream/album proxy routes 2026-09-03 21:03:03 +02:00
9d1291b58f feat: subsonic getAlbum/getRecentAlbums and stream url builder 2026-09-03 20:53:49 +02:00
3bdbd8315c feat: schema versioning with v2 migration (loans, last_played_at) 2026-09-03 20:43:33 +02:00
56ffda9e88 feat: release payload disk cache, batched rip status for list, artwork 404, stricter input handling 2026-08-29 18:44:08 +02:00
39c956e67d fix: sync removes albums no longer in subsonic, classify non-json responses as api errors 2026-08-29 18:39:46 +02:00
a3bf420282 feat: serve built SPA with fallback and artwork cache 2026-08-29 17:46:52 +02:00
875bc1087c feat: background subsonic library sync with per-user state 2026-08-29 17:34:05 +02:00
566a9bfc0d feat: collection CRUD with artwork caching, rip override and match links 2026-08-29 17:19:17 +02:00
ded4e17849 feat: discogs lookup routes (barcode/search/release preview)
Known-red tests pending later tasks:
- 'reports duplicate when release already in collection' needs
  POST /api/collection (Task 15)
- 'reports ripped...' and 'reports ambiguous...' need the test-only
  POST /api/library/albums/test-seed route (Task 16)
2026-08-29 17:07:04 +02:00
e8a83eeefb feat: rip status resolution with override and match links 2026-08-29 16:57:34 +02:00
c49321ccf1 feat: match ae/oe ligatures in normalization 2026-08-29 16:54:59 +02:00
217c676658 feat: title/artist normalization and matching 2026-08-29 16:48:15 +02:00
c1dd232a2f fix: artwork cache never throws on body/disk failures 2026-08-29 16:43:45 +02:00
0faa74ae27 feat: best-effort artwork disk cache 2026-08-29 16:38:28 +02:00
9b52039fde fix: skip null album entries in subsonic pagination 2026-08-29 16:35:01 +02:00
dc63db54ba feat: subsonic library pagination 2026-08-29 16:31:08 +02:00
72f3fc8436 fix: harden discogs mappers against malformed payloads, name error classes, assert auth header 2026-08-29 16:24:40 +02:00
3715bb7447 feat: discogs client with barcode/text search and release fetch 2026-08-29 16:13:43 +02:00
b79a72a81b feat: serializing queue with min-interval pacing 2026-08-29 16:05:29 +02:00
e94ffb535b feat: per-user settings routes with subsonic validation 2026-08-29 15:51:58 +02:00
6dfaaf465d fix: map duplicate-username race to 409 and test session/cascade behavior 2026-08-29 15:46:34 +02:00
8bdbe292d5 feat: admin user management routes 2026-08-29 15:35:24 +02:00
ad8b7cb22a feat: setup/login/logout/me auth routes 2026-08-29 15:20:42 +02:00
f48093319b feat: argon2 passwords and sqlite-backed sessions 2026-08-29 15:11:15 +02:00
5545aa31fb feat: config loading and sqlite schema 2026-08-29 14:55:42 +02:00
01ad6fbb40 chore: scaffold node/ts/vitest project with health endpoint 2026-08-29 14:43:44 +02:00