summaryrefslogtreecommitdiff
path: root/web
AgeCommit message (Collapse)Author
2026-05-17Restructure repo: move Go server into player-server/Paul Buetow
2026-05-17Add in-progress frontend actionsPaul Buetow
2026-05-09s1 keep scan indicator above admin modalPaul Buetow
2026-05-09s1 keep scan progress visiblePaul Buetow
2026-05-09s1 add media rescan hotkey and progress indicatorPaul Buetow
2026-05-09Fix media Enter key handling (o1)Paul Buetow
2026-05-09Address shuffle reshuffle review notes (q1)Paul Buetow
2026-05-09Fix shuffle hotkey reshuffle behavior (q1)Paul Buetow
2026-05-09Refine media browsing and set coversPaul Buetow
2026-05-07Fix mobile admin permissions layout for l1Paul Buetow
2026-05-07Fix podcast browser workflows for k1Paul Buetow
2026-05-07h1 fix browser auth theme shortcuts QAPaul Buetow
2026-05-07Fix podcast episode pagination arguments (p0)Paul Buetow
2026-05-07b1 split player modulePaul Buetow
2026-05-07Task 61 extract frontend utilitiesPaul Buetow
2026-05-06Split app.js into view modules for task 71Paul Buetow
2026-05-06Add q hotkey to stop playback and close playerPaul Buetow
2026-05-06Add T hotkey to regenerate thumbnail of selected itemPaul Buetow
2026-05-06Add crop position/anchor control hotkeysPaul Buetow
2026-05-06Add PgUp/PgDn 10% seek in fullscreen modePaul Buetow
2026-05-06Add search syntax help tooltip (? key in search box)Paul Buetow
2026-05-06Add Down/j hotkey to exit filter and return to thumbnail gridPaul Buetow
2026-05-06Add player logo to site headerPaul Buetow
2026-05-06Fix music video duration display in progress barPaul Buetow
2026-05-06Add 'R' hotkey to play a random track from the current media listPaul Buetow
2026-05-05Add fullscreen crop mode toggle (hotkey c)Paul Buetow
- In fullscreen, press 'c' to toggle object-fit between contain (default) and fill (stretches to fill, no aspect ratio preservation). - Adds .player.crop-mode video { object-fit: fill; } in player.css. - Adds toggleCrop() in player.js that toggles a crop-mode class and a small UI indicator (✂️) in the controls, visible only in fullscreen. - Resets crop mode back to contain when exiting fullscreen (via Escape, minimize, or fullscreenchange event). - Wires the 'c' hotkey in keyboard.js and registers toggleCrop in app.js. - Adds crop-indicator to index.html and detach.html controls, and documents the shortcut in the help modal.
2026-05-05Fix podcast migration backward compatibility and login logo widthPaul Buetow
2026-05-05Fix podcast support critical bugs from code reviewPaul Buetow
- Fix boolean scanning from SQLite INTEGER columns (intToBool helper) - Fix BrowseSet LIMIT 0 returning zero episodes (use 1000 instead) - Fix checkFeed double-fetch by parsing from resp.Body directly + Add ParseFeedReader for body reuse - Fix file handle leak in DownloadEpisode (explicit Close before ImportMediaFile) - Fix incomplete rollback in DownloadEpisode (remove file + delete media row) - Fix 204 No Content handler writing 'null' body - Fix DownloadCoverImage to accept *http.Client with timeout - Deduplicate uniqueFilename into shared internal/service/filename.go - Wire frontend renderPodcastEpisodes into renderBrowse from API data - Refactor podcasts.js: remove extra API call, fix toggle toast, remove duplicate toast - Add Config.PodcastCheckMinutes + PODCAST_CHECK_INTERVAL_MINUTES env var - Start background CheckFeeds goroutine in main.go with ticker - Update NewPodcastService to accept checkInterval parameter - Log errors from CheckFeeds and episode creation instead of silently discarding
2026-05-05Add frontend podcast manager UI and episode rendererPaul Buetow
2026-05-05Add frontend podcast support: API wrappers, episode cards, feed manager modalPaul Buetow
2026-05-04Widen logo crop to preserve full wordmarkPaul Buetow
2026-05-04Fix logo crop: preserve full wordmark while removing excess whitespacePaul Buetow
2026-05-04Trim excess whitespace from logo PNGsPaul Buetow
2026-05-04Use white-background PNG logo for README, favicon, and loginPaul Buetow
- Generate logo.png (white bg) from SVG for README and login screen - Regenerate favicon.ico from white-background logo - Keep original logo.svg available for future edits - Update server routes and middleware to serve new logo.png
2026-05-04Add project logo, favicon, and display logo on login screenPaul Buetow
- Add logo.svg at project root and reference it in README.md - Generate favicon.ico from logo and place in web/ - Serve logo.svg and favicon.ico as static assets - Display logo on the login page with responsive sizing
2026-05-03fix(admin): fix rescan goroutine lifecycle and race on shared ScanProgressPaul Buetow
- Protect adminService scan state (cancel func + progress pointer) with sync.Mutex. - Allocate fresh ScanProgress per trigger and pass it to the scanner, eliminating races on the previously shared progress struct. - Cancel previous scan context before starting a new one. - Add tests for cancellation, fresh progress per scan, concurrent triggers, and empty progress when never started. - Fix race-prone tests by polling Running==true before waiting for completion.
2026-05-03Fix media info and detached playback statePaul Buetow
2026-05-03Fix: Sidebar visibility on page loadPaul Buetow
2026-05-03feat: hybrid cache-busting for thumbnails and coversPaul Buetow
- Add Cache-Control: no-cache headers to thumbnail and cover endpoints (GET /api/media/{id}/thumbnail, GET /api/sets/{id}/cover, GET /s/{token}/thumbnail) so browsers revalidate instead of serving stale cached images after regeneration. - Add frontend cache-busting via ?t=Date.now() after folder cover regeneration so the browser fetches the newly overwritten image. - Replace toolbar filters with inline search syntax (min:, max:, tag:, like:, type:, sort:, minsize:, maxsize:) for faster filtering. - Remove dedicated toolbar and advanced filter panel; consolidate all filtering into the search bar. - Expand filter state to support filesize_min/filesize_max.
2026-05-02refine playback navigation and player modesPaul Buetow
2026-05-02add playback navigation shortcutsPaul Buetow
2026-05-02add player minimize togglePaul Buetow
2026-05-02show audiobook covers as cardsPaul Buetow
2026-05-02show buffered media progressPaul Buetow
2026-05-02fix detached playback and scan progressPaul Buetow
2026-05-02feat: secure shares with keyboard-first My Shares modal (hotkeys S/L)Paul Buetow
2026-05-02more on thisPaul Buetow
2026-05-02switch sidebar hotkey to s, always rebuild/rescan in start.sh, bump sw.js cachePaul Buetow
2026-05-02fix:xPaul Buetow
2026-05-01Add player stage collapse, multi-set selection, grid nav, m4b support, ↵Paul Buetow
content-type fixes, thumbnail refresh, and verbose logging