Commit graph

928 commits

Author SHA1 Message Date
Tobias Schmitz
41a4b21327
Fix clippy warnings (#175) 2022-08-29 21:17:03 -07:00
Tobias Schmitz
374d0ca56f
Migrate to actix-web 4 (#171)
* Migrate to actix-web 4

* Change expected swagger test status code

* update tokio to 1.0

* fix clippy warnings
2022-04-24 13:55:38 -07:00
Tobias Schmitz
90fd6bbcc9
Update dependencies (#166) 2022-03-20 19:50:14 -07:00
Antoine Gersant
39c8cf7595 Thumbnail and audio endpoints no longer encode payloads 2021-11-28 20:13:54 -08:00
Antoine Gersant
f27bc4ccfc Added TODO 2021-11-27 16:45:25 -08:00
Antoine Gersant
818dfe877c Update codecov github action 2021-11-14 14:17:36 -08:00
Antoine Gersant
b6e9940c76 Updated id3 dependency 2021-11-10 19:47:45 -08:00
pmphfm
e2bf97db99
Code cleanup (#148)
Fixed all most all clippy warnings.
Test: cargo test && cargo clippy
2021-10-19 19:31:17 -07:00
Tobias Schmitz
d01583b406
add api parameter for thumbnail size (#144)
* add api parameter for thumbnail size

* make max_dimension optinal in case of native resolution

* add tests for thumbnail size

* fix typo

* fix thumbnail size tests

* make unwrap more explicit

* remove print statement

* update workflows

* reduce thumbnail variations

* add removed token

* Update coverage.yml

* fix typo

* hopefully prevent coverage timeout

- split up thumnail tests
- reduce threadcount used for test execution

* get thread count using github actions specific step

* use fixed thread count of 4

* run coverage tests in release mode

* ignore large and native thumbnail_size tests in coverage
2021-06-05 02:24:25 -07:00
pmphfm
f104355076
Add few more fields to song information (#141)
* [meta] Add ignore paths to vscode settings

* [feature] Add few more fields to song information

Fields include lyricist, composer, genre, category
and label.
2021-05-20 22:08:43 -07:00
Antoine Gersant
4c25195deb
Updated list of supported formats 2021-04-27 21:43:28 -07:00
gahag
ed581c57cf
Add support for AIFF files (#137)
The new patch in rust-id3 fixes the AIFF API, which is now used to support AIFF files.
2021-04-24 22:05:52 -07:00
gahag
652772ba0e
Implement support for Wave files (#135)
* Implement support for Wave files

Metadata extraction for such format is supported by the latest version of rust-id3, which
has been updated in this commit. The code has been updated to handle such files and call
the new APIs.

* Code review
2021-04-19 21:49:23 -07:00
David Futcher
6c27409ef2
Bump rustfm-scrobble dependency to v1.1.1 (#129) 2021-01-13 19:39:58 -08:00
Antoine Gersant
7a73ae7cc0 Don't emit log file when running in foreground (-f on Linux, polaris-cli.exe on Windows) and --log is not set 2021-01-02 16:03:51 -08:00
Antoine Gersant
2f71cf2db7 Checkout release branch when making a release 2020-12-30 22:56:26 -08:00
Antoine Gersant
4ad8d922f7
Platform-specific improvements (#127)
* Use native-windows-gui crate to manage tray icon
Adds log file support on Windows

* Log file location now works like other paths

* Removed context builder

* Context --> App

* Removed mount URLs from App

* Switch to a nicer crate for forking daemon

* Handle errors from notify_ready

* Add application icon to all Windows Polaris executables, not just those created by the release script

* Add build.rs to release tarball

* Create PID file parent directory if necessary
2020-12-30 21:41:57 -08:00
Antoine Gersant
7edcc38483
Test setup improvements (#125)
* More descriptive test names

* Test writing tools

* Migrate to new test tooling

* Adds test for collection cleaner
2020-12-29 20:05:04 -08:00
Antoine Gersant
7bc8e142c3 Fixed a bug where missing content was not removed from database 2020-12-29 16:14:02 -08:00
Antoine Gersant
487d261843 Removed unecessary dependency 2020-12-27 16:39:48 -08:00
Antoine Gersant
ea7edea79b Workaround for broken install paths on Windows 2020-12-27 00:10:57 -08:00
Antoine Gersant
5ec2ae3f7a Merge branch 'master' of https://github.com/agersant/polaris 2020-12-26 23:23:34 -08:00
Antoine Gersant
cab03f2538 Tentative fix for Windows installer not working 2020-12-26 23:23:10 -08:00
Antoine Gersant
1d57691e8b
Thumbnail fixes (#121)
* Use dedicated thumbnail generation algorithm

* Fixed a bug where some images could not be encoded to JPG due to unsupported pixel formats
2020-12-20 03:27:20 -08:00
Antoine Gersant
72c8ed9289
Support for bearer token authentication (#120)
* 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)
2020-12-20 03:25:45 -08:00
Antoine Gersant
5e065c5e6a
Split configuration module (#117) 2020-12-18 01:14:24 -08:00
Antoine Gersant
e5c1d86577 Last FM unlink now correctly unsets credentials. Missing credentials no longer 401 2020-12-17 19:14:05 -08:00
Antoine Gersant
d4c78a0a31 Fixed a bug where only swagger index could be accessed without trailing slash 2020-12-15 21:12:00 -08:00
Antoine Gersant
ec39e696bb Fixed test on linux 2020-12-15 02:19:49 -08:00
Antoine Gersant
5b2d0a2216 Cosmetic change 2020-12-15 01:48:14 -08:00
Antoine Gersant
404d42d254 album art pattern is now case insensitive 2020-12-15 01:44:46 -08:00
Antoine Gersant
bd48ad1a5c Adds jpeg to default album art filter 2020-12-15 01:32:58 -08:00
Antoine Gersant
c2807b60de
Replace rocket with actix-web (#116)
* 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
2020-12-14 21:18:44 -08:00
Antoine Gersant
6be6d2a7dc Cosmetic change 2020-12-14 19:32:10 -08:00
Antoine Gersant
e25af0e9b5 Fixed issue where releases may not get their git tag 2020-12-13 20:05:42 -08:00
Antoine Gersant
2c21609699 Fetch URL for uploading release assets 2020-12-13 19:44:41 -08:00
Antoine Gersant
847d61f62b
One click release (#113)
* Make release from Github UI
2020-12-13 19:24:06 -08:00
Antoine Gersant
9c45ad5238
Replace reqwest with ureq (#112)
* Replace reqwest with ureq

* Reqwest-free rustfm-scrobble
2020-12-13 15:53:31 -08:00
Antoine Gersant
dd92d3e6eb
Added license badge 2020-12-12 15:31:41 -08:00
Antoine Gersant
7e4c0fa610 Support for Github dark theme 2020-12-11 02:54:18 -08:00
Antoine Gersant
34e0538562
App features re-organization (#111) 2020-12-10 03:23:00 -08:00
Antoine Gersant
866d82a16c
Make sqlite bundling optional (#110)
* Manually specify libsqlite version

* Make sqlite bundling optional

* Skip tests on windows without bundled sqlite
2020-12-08 01:22:17 -08:00
Antoine Gersant
454d73c754 cargo update 2020-12-08 00:22:16 -08:00
Antoine Gersant
7477158891 Merge branch 'master' of https://github.com/agersant/polaris 2020-12-08 00:16:21 -08:00
Antoine Gersant
55a4f64b3a
Bundle SQLite (#109) 2020-12-08 00:14:16 -08:00
Antoine Gersant
eb917bb9d6 Bumped pbkdf2 2020-12-07 23:35:33 -08:00
Antoine Gersant
e40121c4d0 Bumped crossbeam channel version 2020-12-07 23:33:37 -08:00
Antoine Gersant
0e52047417 Fixed typo 2020-12-07 23:31:05 -08:00
Antoine Gersant
1ebc0d9f44 Bump base64 version 2020-12-07 23:30:51 -08:00
Antoine Gersant
b709a8cd64 Bump anyhow version 2020-12-07 23:30:00 -08:00