|
|
165ac96830
|
feat: matchedAlbum.webUrl from subsonic settings; remove stream proxy routes
|
2026-09-04 13:37:01 +02:00 |
|
|
|
ff5f4e9133
|
docs: navidrome deep-link implementation plan (3 tasks)
|
2026-09-04 13:27:00 +02:00 |
|
|
|
023557de64
|
docs: navidrome deep-link spec (replaces in-app player)
|
2026-09-04 13:23:49 +02:00 |
|
|
|
7b7b149928
|
fix: bodyless posts no longer send json content-type (fastify 400 on empty body)
|
2026-09-04 13:14:46 +02:00 |
|
|
|
3edf7574f9
|
fix: loan error surfacing, non-admin export, guarded atomic migration, expanded player controls
|
2026-09-03 23:50:54 +02:00 |
|
|
|
9b2bc22d59
|
feat: settings data section with export and backups
|
2026-09-03 23:17:21 +02:00 |
|
|
|
b33399c865
|
feat: stats page with css bar charts and rip-ratio donut
|
2026-09-03 23:08:09 +02:00 |
|
|
|
fc5797d929
|
feat: rip queue page, library stats/queue links and on-loan chip
|
2026-09-03 22:59:31 +02:00 |
|
|
|
47858b1788
|
fix: refetch item detail after re-match so the play button stays honest
|
2026-09-03 22:54:09 +02:00 |
|
|
|
ece18d125b
|
feat: play button, last played, loan lend/return on item page
|
2026-09-03 22:45:20 +02:00 |
|
|
|
b2711b2b79
|
feat: mini player bar with expandable track list
|
2026-09-03 22:28:20 +02:00 |
|
|
|
c8b596bb02
|
feat: global player context with album queue and audio element
|
2026-09-03 22:15:19 +02:00 |
|
|
|
ee19bc773c
|
feat: web api client additions for wave 1
|
2026-09-03 22:06:57 +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 |
|
|
|
bc3db9e4f7
|
docs: wave 1 implementation plan (15 tasks)
|
2026-09-03 20:37:38 +02:00 |
|
|
|
024cc6d953
|
docs: wave 1 design spec (export/backup, stats, loans, rip queue, listening bridge)
|
2026-09-03 20:23:40 +02:00 |
|
|
|
3fa0b02560
|
docs: record plan 2 post-implementation decisions
|
2026-09-03 19:28:30 +02:00 |
|
|
|
21a4c69972
|
fix: reset-to-auto in both rip branches, visible mutation failures, distinct invalid-token error
|
2026-09-03 19:24:57 +02:00 |
|
|
|
f2fff1d7be
|
feat: docker builds the web app, full-stack serving verified
|
2026-09-03 19:05:57 +02:00 |
|
|
|
c1852435c8
|
feat: pwa manifest, icon and minimal service worker
|
2026-09-03 18:57:31 +02:00 |
|
|
|
3efde1a828
|
fix: sync-now feedback and polling, preserve stored subsonic password, fix placeholder
|
2026-08-30 00:16:41 +02:00 |
|
|
|
6b85f11871
|
feat: settings page with integrations, sync control and user management
|
2026-08-30 00:00:44 +02:00 |
|
|
|
7a58f9e5a0
|
fix: hide barcode line on add-page confirm view
|
2026-08-29 23:40:26 +02:00 |
|
|
|
bc62019162
|
feat: add page with discogs text search into confirm flow
|
2026-08-29 23:34:53 +02:00 |
|
|
|
71423c7ab7
|
fix: clear re-match selection when searching again
|
2026-08-29 23:27:54 +02:00 |
|
|
|
e912d9e485
|
feat: item detail with rip override, re-match and remove
|
2026-08-29 23:19:48 +02:00 |
|
|
|
b87e6abee0
|
feat: library grid with rip/format filters, search and artist index
|
2026-08-29 23:10:20 +02:00 |
|
|
|
b9ba4f0ca6
|
fix: dispatch ADD_START, correlate preview/lookup responses with the current attempt
|
2026-08-29 22:54:00 +02:00 |
|
|
|
c76d936f1e
|
feat: scan flow page with candidates, confirm view and error guidance
|
2026-08-29 22:37:01 +02:00 |
|
|
|
890e7da3a7
|
feat: pure scan-flow state machine
|
2026-08-29 22:25:53 +02:00 |
|
|
|
70b7fdbe1b
|
feat: barcode scanner hook (BarcodeDetector + zxing fallback) and camera component
|
2026-08-29 22:11:01 +02:00 |
|
|
|
bda43ce237
|
feat: router, tab shell, setup and login pages
|
2026-08-29 19:50:10 +02:00 |
|
|
|
fdf200a960
|
feat: typed api client and auth context with setup gate
|
2026-08-29 19:34:02 +02:00 |
|
|
|
63e8c5f054
|
feat: react/vite/tailwind web scaffold with jsdom tests
|
2026-08-29 19:26:10 +02:00 |
|
|
|
26609d8b62
|
docs: frontend implementation plan (12 tasks)
|
2026-08-29 19:16:27 +02:00 |
|
|
|
b55a1f8cc1
|
fix: atomic setup transaction, prune devDependencies from runtime image
|
2026-08-29 18:46:07 +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 |
|
|
|
ba705d546a
|
feat: docker deployment with compose quickstart
|
2026-08-29 18:07:43 +02:00 |
|
|
|
061f7349b5
|
fix: robust web/dist path resolution and graceful shutdown
|
2026-08-29 17:59:22 +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 |
|
|
|
f1d6320dfe
|
fix: validate match album before discogs fetch, guard barcode type
|
2026-08-29 17:30:02 +02:00 |
|