Commit Graph
181 Commits
Author SHA1 Message Date
cl.st 7ee8400666 feat/base-path 2026-10-16 11:55:55 +02:00
xFanexx 12405fae97 fix(api): strip per-segment OSC-8 hyperlinks correctly (#922)
fixes #918
2026-10-11 00:55:20 +02:00
fa0ab85384 fix(api): request stereo stream for the player (#920)
Without immersiveaudio=false, Tidal returns the Dolby Atmos (E-AC-3)
stream for tracks that also have one, which browsers can't decode, so
the player fails on those tracks.

Co-authored-by: djdubd <2773193+djdubd@users.noreply.github.com>
Co-authored-by: cl.st <clement@cl-st.dev>
2026-10-10 20:48:13 +02:00
cl.st 97abcdaa4f fix(api): encoding-log-issue (#919)
* fix(api): encoding-log-issue

* revert

* fix cve
2026-10-10 20:09:07 +02:00
cl.st 085bc8091b fix(jellyfin): handle version 12+ (#907) 2026-09-22 07:26:53 +02:00
cl.st 7a54c3dd76 Refacto api (#903)
* refacto wip

* move from yarn to pnpm

* update api doc

* fix pnpm

* fix ci

* fix express type

* fix api

* front fixes

* fix delete loading
2026-09-21 23:03:57 +02:00
cl.st 8755db625d Feat/retry post processing (#899)
* feat(front): add retry post processing button

* fix test
2026-09-19 17:42:00 +02:00
cl.st 5f6a31f37c feat/oxlint (#888) 2026-09-02 10:13:19 +02:00
cl.st 3c9418ad3c Fix/lidarr sabnzbd history zero size (#879)
* fix(lidarr): 0 byte nzb item

* fix lidarr pagination
2026-08-16 11:58:25 +02:00
cl.st f166109922 feat(api): handle tidal connection errors, apply retries (#874) 2026-08-08 23:38:51 +02:00
cl.st d21caee7af feat(front,api): add retry failed items (#870) 2026-08-08 22:02:43 +02:00
cl.st 367fde29a8 fix(api): atmos error message handler (#871) 2026-08-08 21:52:47 +02:00
cl.st 00929d6741 fix(lidarr): download batch count (#864)
* fix(api): single download batch count

* fix(lidarr): batch count
2026-08-03 10:40:08 +02:00
cl.st a2ca458019 feat(api): lidarr atmos filter handler (#859) 2026-07-28 19:50:44 +02:00
Peter Krokavecandcl.st d72f2171d1 fix(api): run custom script after tagging (#853)
Co-authored-by: cl.st <clement@cl-st.dev>
2026-07-26 16:14:00 +02:00
cl.st b0ebe95128 feat(api): process favorites album per album (#850)
* feat(api): process favorites album per album

* update changelog
2026-07-19 10:49:43 +02:00
cl.st 5193db0bda doc(api): update api doc (#849) 2026-07-19 08:00:42 +02:00
cl.st dcfefc4896 fix(api): favorite template issue (#848) 2026-07-19 07:51:47 +02:00
Josh Gustafsonandcl.st 8c2c5851c5 fix(tiddl): surface tiddl stderr on token refresh failure (#808)
refreshTidalToken spawned `tiddl auth refresh` without reading stderr, so
any tiddl-side crash (e.g. a Pydantic ValidationError on config.toml)
surfaced only as "Token refresh exited with code 1", hiding the traceback
that identifies the real cause and misdirecting bug reports toward the
token/network layer.

Capture stderr and append it to the non-zero-exit log line.

Closes #804

Co-authored-by: cl.st <clement@cl-st.dev>
2026-05-29 23:57:53 +02:00
Josh Gustafsonandcl.st 6ec78bf3ea fix(api): force tiddl auth logout and verify exit status when revoking token (#809)
`deleteTiddlConfig()` ran `tiddl auth logout` without `--force` and logged
success unconditionally. When the Tidal token is already expired or revoked,
tiddl refuses the server-side logout, leaves `auth.json` in place, and exits
non-zero — yet the UI reported the token as deleted, making the "Revoke Tidal
token" button a no-op for the users who need it most.

Pass `--force` so the local session is always cleared, and gate the success
log on `status === 0`, surfacing stderr on failure.

Fixes #805

Co-authored-by: cl.st <clement@cl-st.dev>
2026-05-29 23:29:26 +02:00
cl.st ff5cecda3d feat(api): use expanded items (#783)
* feat(api): use history expanded items

* Revert "feat(api): use history expanded items"

This reverts commit c1af1497b4.

* feat(api): add rest queue list endpoint

* add pager, complete url
2026-05-12 07:35:09 +02:00
cl.st b08c89286e feat(front): handle dolby atmos (#775) 2026-05-06 17:19:49 +02:00
cl.st 0dd32535d4 feat(front): pause sync item (#774) 2026-05-05 20:52:27 +02:00
cl.st b4e553721f feat(beet): beet single tracks and merge data (#771) 2026-05-05 00:09:14 +02:00
cl.st 93f8dc1e0c fix(api): logs memory leak (#770) 2026-05-03 19:06:30 +02:00
cl.st da6a319870 fix(front): Expand discography album when processing (#755)
* fix(front): Expand discography album when processing

* fix(batch): do not count skip_existing items

* add batch count

* rework batch dl

* Add front timer

* update tests
2026-04-28 18:18:58 +02:00
cl.st 5311066f67 doc(api): update api documentation (#748) 2026-04-22 21:43:35 +02:00
cl.st 48a5870901 sanitize fav m3u (#747) 2026-04-20 21:50:23 +02:00
cl.st 3e84a89149 fix(api): fav m3u (#746) 2026-04-20 17:55:39 +02:00
cl.st 1c53d7fca8 feat(api): allow post queries over tidal proxy (#745) 2026-04-20 00:03:51 +02:00
cl.st 9916363727 fix tiddl 2026-04-12 19:02:41 +00:00
cl.st a92750fed3 feat(api): batch download (#731) 2026-04-08 15:57:51 +02:00
cl.st f2bbbc0a27 refacto(front,api): use pause status for no download mode (#728) 2026-04-06 00:36:04 +02:00
cl.st d60fdf3454 fix(api): remove fav track limit + generate m3u (#727)
* fix(api): remove fav track limit + generate m3u

* update default path template
2026-04-05 20:31:21 +02:00
cl.st 490db947ba feat(api): add artist bulk download (#715) 2026-03-29 00:15:09 +01:00
cl.st 1b2dfcb999 feat(front,api): add single dl button in no dl mode (#708) 2026-03-23 22:15:11 +01:00
cl.st 4729d00d8d front(api): auto renew token (#699)
* front(api): rollback search fetch api to v1

* feat(api): Playlist fetches now renew token if needed

* fix(cve): update flatted

* feat(api): revert search to use v2

* feat(api): auto renew token

* feat(lidarr): apply setPermission
2026-03-23 19:21:23 +01:00
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