* User manager can create and recognize auth tokens
* Implement HTTP bearer auth
* Use bearer auth in test-harness
* Can receive auth token via query parameter (useful for media endpoints)
* Adds actix dependency
* Failed attempt at test harness using actix
* Fixed test panic
* Simplified tests
* Run web server in tests
* Send json payloads
* Static file serving
* Default shutdown timeout
* Implement version endpoint
* Implements #[get("/initial_setup")]
* WIP put_settings endpoint
* Adds AdminRights extractor
* Fixed a bug where AdminRights extractor always failed
* Implements collection endpoints
* Re-use system runnner between calls
* Preserve client headers between API calls (tentative)
* Fixed test interferences
* Implemented more endpoints
* Implemented audio file serving
* Fixed sketchy responses
* Implements thumbnail endpoint
* Login endpoint WIP
* Implement login endpoint
* Auth support
* When using HTTP headers to authenticate, response now includes expected cookies
* Tentative fix for server not responding within docker
* Adds logging middleware + browse troubleshooting
* Tentative fix for path decoding issues
* Tentative fix for broken path decoding
* Fix routing issues w/ paths
* Fixed a bug where auth cookies were sent in every response
* More lenient test timeouts
* Fixed a bug where recent/random endpoints required trailing slashes
* Compilation fix for rocket branch
* More useful test matrix
* Signed session cookies (#106)
* Isolate conflicting dependencies between rocket and actix versions
* Removed macOS from test matrix
* Glorious test harness simplification
* Removed RequestBuilder
* Shutdown on ctrl+c
* Pin to stable
* Drop rocket
* Simplify dependencies
* Removed stray rocket dependency
* Better test matrix
* Skip windows build without bundled sqlite
* Offload thumbnail creation to a thread pool
* Compress responses when possible
* Removed unused manage state
* Fixed a bug where large playlists could not be saved
* Return HTTP 401 for last fm requests without authentication
* Web block (#115)
* web::block around DB operations
* web::block during auth utils hitting DB
* Fixed incorrect http response code for missing thumbnail
* Removed unecessary unwrap
* Eliminated unecessary unwrap
* Update index without rayon
* Use crossbeam channels
* Use a single thread for DB insertions
* Better use of rayon in clean()
* Index rewrite
* Parallelize traverser
* Don't swallow send error
* Use Drop trait to flush Inserter work
* Configurable number of traverser threads
* Use channels to manage the work queue instead of Mutex
* Removed unusable profiling feature
- Simpler API for TestService
- More granular tests
- Tests for authentication requirements
- Better error handling (and HTTP response codes) for various bad inputs
* Use standard Linux directories for application data (https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)
* Use standard system directories
* Cleanup all Polaris files during uninstall
* Expose get_pid_directory to rest of the crate
* Add separate targets for install binary and data files, clean up makefile
* Use environment variables for directory locations during install process
* On Linux, read locations from environment variables at compile time
* Split static_directory in two (web and swagger directories)
* Follow recommendations from the Make manual
* Avoid redundant directories
* Added workflow to validate installer setup
* Added CLI options to locate log file, pid file and cache directory
* Fixed an issue where build command did not support the xdg/system switch
* Renamed log option to log-level
* Fixed an issue where xdg install would do a system build
* Use re-usable action to make linux release
* Avoid nested actions (see https://github.com/actions/runner/issues/646)
* Updated installation instructions
* Replaced deprecated use of set-env