Commit Graph

17 Commits

Author SHA1 Message Date
56aa822730 fix: add logout endpoint and session cleanup 2026-04-03 01:38:15 +03:00
1e6f200433 feat: add favorites page and web starring 2026-04-03 01:36:43 +03:00
b3723b2167 fix: serve built frontend from backend 2026-04-03 01:22:30 +03:00
3eabd3238f feat: add single-port reverse proxy deployment support 2026-04-02 23:27:46 +03:00
675e173303 feat: add playlists mvp for web and subsonic 2026-04-02 23:21:01 +03:00
b16f9de6c8 feat: add subsonic token auth and starred endpoints 2026-04-02 23:14:10 +03:00
a640251e7d docs: update implementation checklist status 2026-04-02 23:05:49 +03:00
54f6bfa676 feat: add fullscreen player and detail library pages
Introduce a fullscreen player overlay with queue, now playing, and LRCLIB lyrics tabs. Add dedicated album and artist detail pages inspired by the Aonsoku references and wire navigation from the home, artists, and albums views into those detail routes.
2026-04-02 23:00:19 +03:00
2e7283baad feat: redesign web interface to match aonsoku layout
Replace the early prototype UI with a darker Aonsoku-inspired shell featuring a compact top bar, library sidebar, command palette, settings overlay, dense track list, artists table, albums grid, and a bottom player bar. Add a supporting albums browse endpoint so the frontend can render the same navigation shape without faking data.
2026-04-02 22:53:13 +03:00
2f7034fae2 feat: extract embedded album artwork during scans
Add a dedicated artwork cache directory and save embedded album art from audio tags during library scans. Prefer embedded artwork for album cover resolution while keeping sidecar image files as the fallback path.
2026-04-02 22:43:11 +03:00
83b7addb88 feat: add browse api and subsonic read endpoints
Expose internal browse endpoints for artists, albums, tracks, and search using the SQLite-backed library service. Add Subsonic-compatible getArtist, getAlbum, getSong, and stream.view handlers by mapping the same persistence layer into lightweight response envelopes.
2026-04-02 22:41:33 +03:00
f8880aa9a4 feat: add scan status and cover art endpoints
Track scanner status for the web API and Subsonic-compatible scan endpoints, add authenticated cover art serving, and wire album artwork into the web UI. Keep Subsonic auth limited to legacy password mode for now so behavior stays honest with the current bcrypt-based user storage.
2026-04-02 22:37:10 +03:00
46c2c3fb28 feat: import library from media root and stream tracks
Add a filesystem scanner that ingests supported audio files from MEDIA_ROOT into SQLite using embedded tags with filename fallbacks. Wire startup scanning, manual rescan, and authenticated audio streaming into the backend, then connect the web player to the real stream endpoint.
2026-04-02 22:29:04 +03:00
e6a8d9411e fix: add go module checksums and ignore local binary
Record resolved Go dependencies in go.sum after enabling SQLite-backed services and ignore the locally built server.exe artifact.
2026-04-02 22:24:52 +03:00
35abd27473 feat: add sqlite-backed auth and library services
Bootstrap SQLite on server startup with embedded migrations and development seed data. Replace placeholder auth and library responses with database-backed services, bearer sessions, and repository-driven API handlers.
2026-04-02 22:22:38 +03:00
debd4d05b9 fix: ignore frontend build artifacts
Add tsbuildinfo files to .gitignore and remove the generated TypeScript build metadata file from version control.
2026-04-02 22:18:55 +03:00
2b3123a9a7 feat: bootstrap temporserv project scaffold
Add the initial project blueprint, Go backend skeleton, frontend app shell, database schema draft, and local development/deployment files.
2026-04-02 22:17:48 +03:00