| Age | Commit message (Expand) | Author |
| 2026-05-17 | Restructure repo: move Go server into player-server/ | Paul Buetow |
| 2026-05-17 | Add progress status API routes | Paul Buetow |
| 2026-05-17 | Add playback repository cleanup queries | Paul Buetow |
| 2026-05-10 | refactor: move ServeHTTP above unexported helpers for public-method ordering | Paul Buetow |
| 2026-05-10 | Move self-deletion guard from handler into AdminService (DeleteUser) to fix S... | Paul Buetow |
| 2026-05-10 | api: reject id==0 in handleDeleteUser to avoid 200 OK for invalid path | Paul Buetow |
| 2026-05-10 | refactor(api): replace all writeJSON 500 error patterns with handleError helper | Paul Buetow |
| 2026-05-10 | fix(tests): handle json.Unmarshal errors explicitly in *_test.go | Paul Buetow |
| 2026-05-10 | internal/service: fix ListEpisodes global pagination by using cross-feed SQL ... | Paul Buetow |
| 2026-05-10 | Add circuit breaker / backoff for failing podcast feeds in CheckFeeds | Paul Buetow |
| 2026-05-09 | internal/api: panic early in NewServerWithLogger if Config is nil | Paul Buetow |
| 2026-05-09 | Extract SessionManager interface to fix DIP violation | Paul Buetow |
| 2026-05-09 | Refine media browsing and set covers | Paul Buetow |
| 2026-05-07 | Fix podcast browser workflows for k1 | Paul Buetow |
| 2026-05-07 | i1 omit empty share thumbnail URL | Paul Buetow |
| 2026-05-07 | Fix PWA static routes for browser smoke test g1 | Paul Buetow |
| 2026-05-07 | Fix upload multipart memory budget for t0 | Paul Buetow |
| 2026-05-07 | Fix static file read seeker guard for s0 | Paul Buetow |
| 2026-05-07 | Task 51: add API error helpers | Paul Buetow |
| 2026-05-07 | task 31: introduce media streamer service | Paul Buetow |
| 2026-05-07 | Task 21: move thumbnail regeneration to write service | Paul Buetow |
| 2026-05-07 | Refactor API server dependencies for task 11 | Paul Buetow |
| 2026-05-07 | Handle share page marshal errors (a1) | Paul Buetow |
| 2026-05-06 | internal/service: inject http.Client into podcastService constructor (task 41) | Paul Buetow |
| 2026-05-06 | Fix music video duration display in progress bar | Paul Buetow |
| 2026-05-06 | Add podcast E2E integration tests | Paul Buetow |
| 2026-05-05 | Fix podcast support critical bugs from code review | Paul Buetow |
| 2026-05-05 | Add podcast support backend: RSS/Atom feeds, episode management, cover scraping | Paul Buetow |
| 2026-05-04 | Use white-background PNG logo for README, favicon, and login | Paul Buetow |
| 2026-05-04 | Add project logo, favicon, and display logo on login screen | Paul Buetow |
| 2026-05-04 | task f: validate media_id and sessionID in progress handler and service | Paul Buetow |
| 2026-05-04 | task 7: refactor oversized functions into helpers | Paul Buetow |
| 2026-05-04 | task 9: Centralize file extension and media type mappings in internal/mediatype | Paul Buetow |
| 2026-05-04 | task c: run gofmt and fix unwrapped error literals across the codebase | Paul Buetow |
| 2026-05-04 | task 3: decouple API layer from repository with MediaQueryFilter and AuthServ... | Paul Buetow |
| 2026-05-04 | task 6: narrow service interfaces in Server and Middleware | Paul Buetow |
| 2026-05-03 | Task 8: standardize scanner and handler logging | Paul Buetow |
| 2026-05-03 | refactor(api): extract Remuxer interface and move ffmpeg/MPEG-TS/mime logic t... | Paul Buetow |
| 2026-05-03 | fix(admin): fix rescan goroutine lifecycle and race on shared ScanProgress | Paul Buetow |
| 2026-05-03 | feat: hybrid cache-busting for thumbnails and covers | Paul Buetow |
| 2026-05-02 | fix detached playback and scan progress | Paul Buetow |
| 2026-05-02 | feat: secure shares with keyboard-first My Shares modal (hotkeys S/L) | Paul Buetow |
| 2026-05-02 | more on this | Paul Buetow |
| 2026-05-02 | fix:x | Paul Buetow |
| 2026-05-01 | api: remux MPEG-TS files to MP4 on the fly | Paul Buetow |
| 2026-05-01 | Task 1: Create AuthService and route handleBootstrap/handleLogin through it | Paul Buetow |
| 2026-05-01 | refactor(api): split monolithic handlers.go into domain-specific files (task 3) | Paul Buetow |
| 2026-05-01 | Add player stage collapse, multi-set selection, grid nav, m4b support, conten... | Paul Buetow |
| 2026-05-01 | add readme and so on | Paul Buetow |
| 2026-05-01 | Add support for audiobook/cover images with ancestor lookup and fix keyboard ... | Paul Buetow |