144 Commits
Author SHA1 Message Date
cl.st 271e2b5e61 feat(api): get per-album discography (#686)
* feat(api): get per-album discography

* update changelog
2026-03-08 11:47:03 +01:00
cl.st 3c108ac6d6 feat(api): add item name in custom scripts (#693) 2026-03-08 11:11:42 +01:00
cl.st 4e2e643a6c feat(front): add search button public url (#689) 2026-03-07 23:10:17 +01:00
cl.st 69c31de0c1 feat(api): update retry condition (#685)
* feat(api): update retry condition

* feat(api): plex m3u upload for mix and fav tracks
2026-03-07 10:20:45 +01:00
cl.st 474169bc6b update changelog (#680) 2026-03-04 18:25:15 +01:00
cl.st 49b869a28f fix(devops): missing try catch (#677) 2026-03-03 07:36:10 +01:00
cl.st 75354924e0 feat(front): add order select on favorite track list (#676)
* feat(front): add order select on favorite track list

* fix(api): hardcoded country code

* fix e2e
2026-03-01 21:17:56 +01:00
cl.st ade265f2d0 feat(api): enhance error handling (#669) 2026-03-01 09:31:51 +01:00
cl.st b8c61563c2 fix(lidarr): typo path templating (#666) 2026-02-23 17:51:13 +01:00
cl.st bfb4b9bcb8 feat(lidarr): fixed path templating for lidarr (#665) 2026-02-23 17:21:52 +01:00
cl.st da95bdfa20 feat(api): make temporary playlist private (#662) 2026-02-22 09:49:36 +01:00
cl.st 6e0acb95ae feat(API): fav tracks to playlist (#659)
* feat(API): fav tracks to playlist

* fix lint

* fix cve
2026-02-21 16:51:09 +01:00
cl.st e58e76cdfd feat(api): add pagination for playlist album feature (#655) 2026-02-18 10:15:31 +01:00
cl.st 9c1ef05693 fix(api): fav m3u incremental (#649) 2026-02-16 01:03:12 +01:00
cl.st 73a44a0b52 feat(api): add m3u for favorite tracks (#648) 2026-02-15 09:00:41 +01:00
cl.st 1e80a65256 feat(api): add max 2 retries on download error (#644) 2026-02-12 18:32:14 +01:00
cl.st e54690c734 fix(api): tiddl error detection (#642) 2026-02-11 16:55:34 +01:00
cl.st 36a81a2f5c fix eslint 10 2026-02-09 22:17:16 +00:00
cl.st a69aa94985 feat(lidarr): auto renew token on 401 (#639)
feat(lidarr): update release format display

feat(API): move search queries to tidal api v2

feat(lidarr): return max 30 results instead of 20

feat(doc): update readme

feat(lidarr): keep 20 first results
2026-02-08 19:50:27 +01:00
cl.st fd513a156b feat(lidarr): add keywords in release names (#634)
* feat(lidarr): add keywords in release names

* add dependabot for pip package
2026-02-02 12:30:08 +01:00
cl.st 9659415cd9 Feat/simplify token renew (#630)
* feat(api): simplify tidal token refresh

* knip

* split proxies
2026-01-29 23:57:18 +01:00
cl.st 2721214396 feat(front): add download progress in processing queue (#628) 2026-01-29 01:07:43 +01:00
cl.st bc9a4b68ca fix(api): strip process from sse (#627) 2026-01-28 23:31:54 +01:00
ee0e36c515 feat(api): add Plex playlist upload (#621)
* initial implementation for plex playlist upload

* feat(api): implement Plex monitor for playlist upload and scanning

- Added a new service for monitoring Plex notifications and handling playlist uploads.
- Integrated Plex monitor into the API, allowing for real-time updates on library scans.
- Updated environment variables in `compose.yml` for Plex configuration.
- Enhanced graceful shutdown to stop the Plex monitor.
- Updated package dependencies to include WebSocket support for Plex communication.

* refactor(api): change Plex monitor to start on demand

- Removed the Plex monitor initialization from the server startup process.
- Added checks to prevent multiple instances of the Plex monitor from running.
- Enhanced the start and stop methods to manage the monitor's state based on pending playlists.
- Ensured the monitor stops when there are no more pending playlists to process.

---------

Co-authored-by: David Sima <ens08083@adobe.com>
Co-authored-by: cl.st <clement@cl-st.dev>
2026-01-27 19:19:15 +01:00
cl.st 29150a926b feat(api): add custom post scripts (#617) 2026-01-26 22:53:48 +01:00
cl.st b8a4488f39 feat(api): add navidrome library update (#615) 2026-01-24 10:52:38 +01:00
cl.st 0368fb36ca Feat/enhance token renew (#611)
* feat(API): refacto token renew process

* feat(API): force proxy for tidal requests

* Fix settings endpoint
2026-01-23 23:01:07 +01:00
cl.st 1413bea008 Feat/lidarr quality (#613)
* feat(front): add explicit tag on album grid

* feat(lidarr): return results for each quality as a separate album
2026-01-23 00:04:10 +01:00
cl.st 57e4f7efd6 feat(lidarr): apply replay gain if enabled (#612) 2026-01-22 21:41:57 +01:00
cl.st d7de9a64a6 feat(api): update tiddl to 3.2.0 (#606)
* feat(api): update tiddl to 3.2.0

* fix custom css in dev mode
2026-01-19 18:36:41 +01:00
cl.st 3253140bc4 fix(front): download error (#600) 2026-01-17 11:20:37 +01:00
cl.st 42a60d3658 fix(api): load queue from file (#599) 2026-01-17 09:07:14 +01:00
cl.st 691b7a8ae1 fix(api): token renew interval (#598) 2026-01-16 22:31:20 +01:00
cl.st dcd5fba8da fix(api): queue file state (#595) 2026-01-16 00:16:02 +01:00
cl.st fd4c486183 fix(doc): plex params (#592)
* fix(doc): plex params

* fix(lidarr): download status
2026-01-15 13:13:05 +01:00
cl.st 347d4ac205 feat(API): parallelize download queue and processing queue (#591)
* api

* feat(API): parallelize download queue and processing queue
2026-01-15 08:57:34 +01:00
cl.st 5f24fc7e9b feat(lidarr): add dedicated download path for lidarr (#587)
* feat(lidarr): add dedicated download path for lidarr

* feat(lidarr): fix delete queue from lidarr
2026-01-14 12:43:51 +01:00
cl.st 851037a7ad feat(api): use download_path as final destination (#586) 2026-01-13 19:31:38 +01:00
cl.st cd3a3d466e feat(api): override download path (#582)
* feat(api): override download path

* feat(api): download all albums of a playlist

* doc: update changelog

* feat(api): use spawn instead of spawnSync

* feat(api): replace OVERRIDE_DOWNLOAD_PATH with SKIP_POST_PROCESSING

* revert SKIP_POST_PROCESSING
2026-01-12 23:05:38 +01:00
cl.st 8a801de9a1 fix(api): rsgain spawn process (#583) 2026-01-09 23:57:41 +01:00
cl.st b69a105040 feat(lidarr): Add queue manager to lidarr (#577)
* feat(lidarr): Add queue manager to lidarr

* feat(lidarr): add support for lidarr import
2026-01-06 20:14:30 +01:00
cl.st 54dceef756 feat(front): move processing panel to page (#574)
* feat(front): move processing panel to page

* clean stuff
2026-01-05 18:54:49 +01:00
cl.st fbe16eb76a feat(api/front): add api key + lidarr connector (#567)
* feat(api/front): add api key + management

wip

update

update doc

feat(api): add lidarr api key handler

update doc

* fix e2e

* refacto

* fix navidrome count

* fix album missing

* enhance match

* refacto

* return more data to lidarr

* add sabnzbd endpoint

* update doc
2026-01-04 15:02:57 +01:00
cl.st 47df15f2ee feat(API): add replay gain (#571) 2025-12-28 21:05:08 +01:00
cl.st bce7e4ae92 fix(api): m3u rerun issue (#565) 2025-12-19 23:41:31 +01:00
cl.st 99c463b6ba Feat/OIDC (#553)
* feat(auth): add support for OIDC

* add e2e

* adapt for pocket id
2025-12-19 22:34:49 +01:00
cl.st fd3df3e76f fix(api): m3u default base path (#563) 2025-12-17 10:47:07 +01:00
cl.st c402be1235 Fix/player ownership (#551)
* fix(api): playback CORS issue

* fix(docker): shared folder ownership

* refacto(front): remove dev / prod url condition

* fix(e2e): resume test flaky
2025-12-12 00:00:14 +01:00
cl.st 04aff7e00f feat(api): migrate init.sh to typescript + move files (#549) 2025-12-09 20:38:53 +01:00
cl.st 4b53bac253 fix log (#542) 2025-12-08 00:06:53 +01:00