1
0
Commit Graph

72 Commits

Author SHA1 Message Date
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
a54f56834d fix: classify invalid subsonic URL as unreachable, type settings handlers, guard token mask and body types 2026-08-29 16:01:07 +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
1c52281feb refactor: type auth preHandlers and mirror clearCookie options 2026-08-29 15:31:36 +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
dff7b4826d feat: real entrypoint using loadConfig 2026-08-29 15:05:46 +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
52b2cbd6c5 docs: backend implementation plan (18 tasks, TDD) 2026-08-29 14:32:57 +02:00
1dfe47f5dd Add design spec for record-shop webapp 2026-08-29 13:59:35 +02:00
25315247bc Initial commit 2026-08-29 11:36:00 +00:00