Commit graph

216 commits

Author SHA1 Message Date
Antoine Gersant
971b46be45 Store search index fields in array 2024-09-23 20:35:16 -07:00
Antoine Gersant
390ee03020 Small perf improvement to search index building 2024-09-22 14:19:52 -07:00
Antoine Gersant
b96cd2d781 Search syntax first pass 2024-09-22 14:19:52 -07:00
Antoine Gersant
1e0a6062f9 Trailing slash normalization 2024-09-04 18:10:21 -07:00
Antoine Gersant
9a30065971 Adds new endpoint to generate audio waveforms 2024-09-02 13:27:46 -07:00
Antoine Gersant
5444285327 Adds endpoint to retrieve song metata in bulk 2024-08-25 15:28:16 -07:00
Antoine Gersant
6837994433 Return first 200 songs when returning a list of songs 2024-08-24 23:28:22 -07:00
Antoine Gersant
d492afc885 Flatten perf improvements: gzip response and parallelize sorting 2024-08-10 11:38:29 -07:00
Antoine Gersant
0afab8d634 Implements artists/ endoint 2024-08-10 10:30:21 -07:00
Antoine Gersant
763ba94e9b Single threaded rodeo 2024-08-09 12:11:25 -07:00
Antoine Gersant
6821318a4d Intern strings in collection 2024-08-09 10:25:18 -07:00
Antoine Gersant
782da35a7b Skip allocations 2024-08-09 08:27:09 -07:00
Antoine Gersant
6b1133e27c Intern browser directories 2024-08-04 19:07:10 -07:00
Antoine Gersant
2c7eb9f643 Removed unused dependencies 2024-08-03 15:05:44 -07:00
Antoine Gersant
16434e6c51 Disable default ureq features 2024-08-03 14:55:02 -07:00
Antoine Gersant
5a14830138 Bump depedencies 2024-08-03 13:57:03 -07:00
Antoine Gersant
a0624f7968 Flatten via trie 2024-07-31 18:00:26 -07:00
Antoine Gersant
b42c6d39e8 Seralize index into DB 2024-07-29 22:56:03 -07:00
Antoine Gersant
0f25a12877 Dependency bumps 2024-07-13 19:01:06 -07:00
Antoine Gersant
1c4ef6c5ee Dependency bumps 2024-07-13 18:48:55 -07:00
Antoine Gersant
0e63f64513 Range requests 2024-07-13 18:25:33 -07:00
Antoine Gersant
153943a3ae Add thumbnails endpoint 2024-07-13 17:58:31 -07:00
Antoine Gersant
5c4631c673 Adds settings endpoints 2024-07-13 14:12:54 -07:00
Antoine Gersant
84921f7db3 Static file serving 2024-07-13 12:40:47 -07:00
Antoine Gersant
08353a717f Axum initial setup 2024-07-13 12:30:02 -07:00
Antoine Gersant
6884548cd0 Trim dependency features 2024-07-13 01:38:55 -07:00
Antoine Gersant
12a9f2ec3c Diesel -> SQLx 2024-07-13 01:20:27 -07:00
Antoine Gersant
d4a427648e Fixed startup error related to system tray integration 2024-03-13 18:46:35 -07:00
Antoine Gersant
6f24ff248f Depedency bumps 2023-09-08 19:34:39 -07:00
Antoine Gersant
608dabb789 Removed tokio dependency 2023-09-08 18:20:12 -07:00
Peder Bergebakken Sundt
8d38c5b664
id3: -> 1.4.0(git) -> 1.7.0 (#194)
This removes the git dep, which since rust 1.68.0 are not repoducible.
2023-06-17 18:12:58 -07:00
Antoine Gersant
a8660793f8 Use TDOR frame for ID3v2 to populate year 2022-11-24 20:22:35 -08:00
Antoine Gersant
c57583d1d4 Removed anyhow dependency 2022-11-21 17:23:14 -08:00
Antoine Gersant
96d702b79e Improve build times 2022-11-10 01:56:46 -08:00
Tobias Schmitz
29ae862aad
Update dependencies (#176)
* update dependencies

* Upgrade rust edition to 2021

* make actix-test a dev-dependency
2022-11-08 19:54:24 -08:00
Antoine Gersant
63e971059a Removed deprecated authentication methods 2022-11-08 02:01:20 -08:00
Tobias Schmitz
f5a2eed423
Migrate to diesel 2.0 (#174) 2022-08-30 11:47:16 -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
b6e9940c76 Updated id3 dependency 2021-11-10 19:47:45 -08: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
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
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
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
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
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