1
0

Commit Graph

  • d3c8754a5d fix: hide navidrome link when webUrl is null (cleared subsonic url) main Samu 2026-09-04 14:04:24 +02:00
  • 642ca52c71 feat: navidrome deep link replaces in-app player Samu 2026-09-04 13:45:12 +02:00
  • 165ac96830 feat: matchedAlbum.webUrl from subsonic settings; remove stream proxy routes Samu 2026-09-04 13:37:01 +02:00
  • ff5f4e9133 docs: navidrome deep-link implementation plan (3 tasks) Samu 2026-09-04 13:27:00 +02:00
  • 023557de64 docs: navidrome deep-link spec (replaces in-app player) Samu 2026-09-04 13:23:49 +02:00
  • 7b7b149928 fix: bodyless posts no longer send json content-type (fastify 400 on empty body) Samu 2026-09-04 13:14:46 +02:00
  • 3edf7574f9 fix: loan error surfacing, non-admin export, guarded atomic migration, expanded player controls Samu 2026-09-03 23:50:54 +02:00
  • 9b2bc22d59 feat: settings data section with export and backups Samu 2026-09-03 23:17:21 +02:00
  • b33399c865 feat: stats page with css bar charts and rip-ratio donut Samu 2026-09-03 23:08:09 +02:00
  • fc5797d929 feat: rip queue page, library stats/queue links and on-loan chip Samu 2026-09-03 22:59:31 +02:00
  • 47858b1788 fix: refetch item detail after re-match so the play button stays honest Samu 2026-09-03 22:54:09 +02:00
  • ece18d125b feat: play button, last played, loan lend/return on item page Samu 2026-09-03 22:45:20 +02:00
  • b2711b2b79 feat: mini player bar with expandable track list Samu 2026-09-03 22:28:20 +02:00
  • c8b596bb02 feat: global player context with album queue and audio element Samu 2026-09-03 22:15:19 +02:00
  • ee19bc773c feat: web api client additions for wave 1 Samu 2026-09-03 22:06:57 +02:00
  • 3ce55ba09e feat: json export and sqlite backup endpoints Samu 2026-09-03 21:57:38 +02:00
  • 3176807268 feat: collection stats route Samu 2026-09-03 21:45:52 +02:00
  • 53b4bc39f5 feat: loan tracking routes Samu 2026-09-03 21:37:06 +02:00
  • f8f240f00a feat: matchedAlbum on item detail, onLoan collection filter Samu 2026-09-03 21:25:47 +02:00
  • d63bc4bc12 test: permanent coverage for stream/album proxy routes Samu 2026-09-03 21:18:13 +02:00
  • ebac55b7a5 feat: last-played stamping via sync and played endpoint, stream/album proxy routes Samu 2026-09-03 21:03:03 +02:00
  • 9d1291b58f feat: subsonic getAlbum/getRecentAlbums and stream url builder Samu 2026-09-03 20:53:49 +02:00
  • 3bdbd8315c feat: schema versioning with v2 migration (loans, last_played_at) Samu 2026-09-03 20:43:33 +02:00
  • bc3db9e4f7 docs: wave 1 implementation plan (15 tasks) Samu 2026-09-03 20:37:38 +02:00
  • 024cc6d953 docs: wave 1 design spec (export/backup, stats, loans, rip queue, listening bridge) Samu 2026-09-03 20:23:40 +02:00
  • 3fa0b02560 docs: record plan 2 post-implementation decisions Samu 2026-09-03 19:28:30 +02:00
  • 21a4c69972 fix: reset-to-auto in both rip branches, visible mutation failures, distinct invalid-token error Samu 2026-09-03 19:24:57 +02:00
  • f2fff1d7be feat: docker builds the web app, full-stack serving verified Samu 2026-09-03 19:05:57 +02:00
  • c1852435c8 feat: pwa manifest, icon and minimal service worker Samu 2026-09-03 18:57:31 +02:00
  • 3efde1a828 fix: sync-now feedback and polling, preserve stored subsonic password, fix placeholder Samu 2026-08-30 00:16:41 +02:00
  • 6b85f11871 feat: settings page with integrations, sync control and user management Samu 2026-08-30 00:00:44 +02:00
  • 7a58f9e5a0 fix: hide barcode line on add-page confirm view Samu 2026-08-29 23:40:26 +02:00
  • bc62019162 feat: add page with discogs text search into confirm flow Samu 2026-08-29 23:34:53 +02:00
  • 71423c7ab7 fix: clear re-match selection when searching again Samu 2026-08-29 23:27:54 +02:00
  • e912d9e485 feat: item detail with rip override, re-match and remove Samu 2026-08-29 23:19:48 +02:00
  • b87e6abee0 feat: library grid with rip/format filters, search and artist index Samu 2026-08-29 23:10:20 +02:00
  • b9ba4f0ca6 fix: dispatch ADD_START, correlate preview/lookup responses with the current attempt Samu 2026-08-29 22:54:00 +02:00
  • c76d936f1e feat: scan flow page with candidates, confirm view and error guidance Samu 2026-08-29 22:37:01 +02:00
  • 890e7da3a7 feat: pure scan-flow state machine Samu 2026-08-29 22:25:53 +02:00
  • 70b7fdbe1b feat: barcode scanner hook (BarcodeDetector + zxing fallback) and camera component Samu 2026-08-29 22:11:01 +02:00
  • bda43ce237 feat: router, tab shell, setup and login pages Samu 2026-08-29 19:50:10 +02:00
  • fdf200a960 feat: typed api client and auth context with setup gate Samu 2026-08-29 19:34:02 +02:00
  • 63e8c5f054 feat: react/vite/tailwind web scaffold with jsdom tests Samu 2026-08-29 19:26:10 +02:00
  • 26609d8b62 docs: frontend implementation plan (12 tasks) Samu 2026-08-29 19:16:27 +02:00
  • b55a1f8cc1 fix: atomic setup transaction, prune devDependencies from runtime image Samu 2026-08-29 18:46:07 +02:00
  • 56ffda9e88 feat: release payload disk cache, batched rip status for list, artwork 404, stricter input handling Samu 2026-08-29 18:44:08 +02:00
  • 39c956e67d fix: sync removes albums no longer in subsonic, classify non-json responses as api errors Samu 2026-08-29 18:39:46 +02:00
  • ba705d546a feat: docker deployment with compose quickstart Samu 2026-08-29 18:07:43 +02:00
  • 061f7349b5 fix: robust web/dist path resolution and graceful shutdown Samu 2026-08-29 17:59:22 +02:00
  • a3bf420282 feat: serve built SPA with fallback and artwork cache Samu 2026-08-29 17:46:52 +02:00
  • 875bc1087c feat: background subsonic library sync with per-user state Samu 2026-08-29 17:34:05 +02:00
  • f1d6320dfe fix: validate match album before discogs fetch, guard barcode type Samu 2026-08-29 17:30:02 +02:00
  • 566a9bfc0d feat: collection CRUD with artwork caching, rip override and match links Samu 2026-08-29 17:19:17 +02:00
  • ded4e17849 feat: discogs lookup routes (barcode/search/release preview) Samu 2026-08-29 17:07:04 +02:00
  • e8a83eeefb feat: rip status resolution with override and match links Samu 2026-08-29 16:57:34 +02:00
  • c49321ccf1 feat: match ae/oe ligatures in normalization Samu 2026-08-29 16:54:59 +02:00
  • 217c676658 feat: title/artist normalization and matching Samu 2026-08-29 16:48:15 +02:00
  • c1dd232a2f fix: artwork cache never throws on body/disk failures Samu 2026-08-29 16:43:45 +02:00
  • 0faa74ae27 feat: best-effort artwork disk cache Samu 2026-08-29 16:38:28 +02:00
  • 9b52039fde fix: skip null album entries in subsonic pagination Samu 2026-08-29 16:35:01 +02:00
  • dc63db54ba feat: subsonic library pagination Samu 2026-08-29 16:31:08 +02:00
  • 72f3fc8436 fix: harden discogs mappers against malformed payloads, name error classes, assert auth header Samu 2026-08-29 16:24:40 +02:00
  • 3715bb7447 feat: discogs client with barcode/text search and release fetch Samu 2026-08-29 16:13:43 +02:00
  • b79a72a81b feat: serializing queue with min-interval pacing Samu 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 Samu 2026-08-29 16:01:07 +02:00
  • e94ffb535b feat: per-user settings routes with subsonic validation Samu 2026-08-29 15:51:58 +02:00
  • 6dfaaf465d fix: map duplicate-username race to 409 and test session/cascade behavior Samu 2026-08-29 15:46:34 +02:00
  • 8bdbe292d5 feat: admin user management routes Samu 2026-08-29 15:35:24 +02:00
  • 1c52281feb refactor: type auth preHandlers and mirror clearCookie options Samu 2026-08-29 15:31:36 +02:00
  • ad8b7cb22a feat: setup/login/logout/me auth routes Samu 2026-08-29 15:20:42 +02:00
  • f48093319b feat: argon2 passwords and sqlite-backed sessions Samu 2026-08-29 15:11:15 +02:00
  • dff7b4826d feat: real entrypoint using loadConfig Samu 2026-08-29 15:05:46 +02:00
  • 5545aa31fb feat: config loading and sqlite schema Samu 2026-08-29 14:55:42 +02:00
  • 01ad6fbb40 chore: scaffold node/ts/vitest project with health endpoint Samu 2026-08-29 14:43:44 +02:00
  • 52b2cbd6c5 docs: backend implementation plan (18 tasks, TDD) Samu 2026-08-29 14:32:57 +02:00
  • 1dfe47f5dd Add design spec for record-shop webapp Samu 2026-08-29 13:59:35 +02:00
  • 25315247bc Initial commit Samuel 2026-08-29 11:36:00 +00:00