| Age | Commit message (Collapse) | Author |
|
|
|
- Introduce auth.SessionManager interface in internal/auth/interfaces.go
- Rename concrete struct to sessionManager (unexported) and have it satisfy interface
- Update api/service layers to depend on interface, not concrete type
- Add MockSessionManager for testing
- Update all call sites and tests to use interface
|
|
- 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
|
|
AuthService abstraction
|
|
Split Server struct to accept narrow service interfaces instead of fat
composites (MediaService, AdminService). Each handler now depends only on
its specific slice (MediaBrowseService, MediaWriteService, etc.).
Split Middleware to depend on a narrow UserStore interface instead of full
repository.Store. Updated all constructors, call sites, and tests.
Added negative tests for nil AdminService and ProgressService returning
501 Not Implemented.
References task 6.
|
|
|
|
keyboard shortcuts
- Redesign UI to be invisible by default: only header + '?' button shown
- Press m to show sidebar, t for toolbar, / for search, ? for help
- Add help modal with all keyboard shortcuts
- Fix scanner to skip corrupt/unprobeable files instead of aborting
- Fix scanner to skip thumbnail errors instead of aborting
- Fix rescan to use background context so it completes after HTTP response
- Rename project from KISS Media Player to Player
|
|
- Update go.mod module path
- Replace all internal imports from github.com/paul/kiss-media-player to codeberg.org/snonux/play
- Run go mod tidy and gofmt -w .
|
|
The BootstrapRedirect middleware was blocking /css/ and /js/ requests when
no users existed, which prevented the bootstrap.html page from loading its
stylesheets and scripts. This caused the form to submit as raw form data
(rather than JSON via the JS API) and silently fail.
- Added /css/* and /js/* to isBootstrapPublic() so static assets are
served without redirect when no users exist.
- Also added /images/, /favicon.svg, /manifest.json, and /sw.js for
completeness.
|
|
handlers, and bootstrap flow (m9)
|