Finding
The Tidal scrobble integration exposes four config fields (syndesmos.tidal.client_id, .client_secret, .refresh_token, .sync_interval_minutes) that drive nothing — they are being removed as dead config (#575) and should return as one coherent feature.
Evidence
crates/syndesmos/src/tidal/mod.rs:68-70,85: TidalClient reads only a static access_token; there is no OAuth token-refresh machinery, so a configured refresh_token is never used and a static access token expires within hours.
crates/syndesmos/src/tidal/wantlist.rs:36-61: sync_want_list exists and is unit-tested but has zero callers — no scheduler anywhere consumes sync_interval_minutes.
Why this matters
These four fields are one unbuilt feature, not four independent knobs: scheduled want-list sync without OAuth refresh is self-defeating (the access token 401s mid-run), so wiring sync_interval_minutes alone would ship a scheduler that dies after a few hours. Removing them now (rather than leaving dead config) is correct; this issue tracks their return as a unit so the capability is not silently lost.
Desired correction
Implement Tidal OAuth token refresh (client_id/client_secret/refresh_token → access-token rotation, cached like the proven TVDB token pattern) plus a scheduled sync_want_list driven by sync_interval_minutes (a supervisor ticker, mirroring the zetesis caps-refresh scheduler). Re-add the four config fields at that point.
Done when: a configured Tidal integration refreshes its token automatically and syncs the want-list on the configured interval, covered by tests.
Finding
The Tidal scrobble integration exposes four config fields (
syndesmos.tidal.client_id,.client_secret,.refresh_token,.sync_interval_minutes) that drive nothing — they are being removed as dead config (#575) and should return as one coherent feature.Evidence
crates/syndesmos/src/tidal/mod.rs:68-70,85:TidalClientreads only a staticaccess_token; there is no OAuth token-refresh machinery, so a configuredrefresh_tokenis never used and a static access token expires within hours.crates/syndesmos/src/tidal/wantlist.rs:36-61:sync_want_listexists and is unit-tested but has zero callers — no scheduler anywhere consumessync_interval_minutes.Why this matters
These four fields are one unbuilt feature, not four independent knobs: scheduled want-list sync without OAuth refresh is self-defeating (the access token 401s mid-run), so wiring
sync_interval_minutesalone would ship a scheduler that dies after a few hours. Removing them now (rather than leaving dead config) is correct; this issue tracks their return as a unit so the capability is not silently lost.Desired correction
Implement Tidal OAuth token refresh (client_id/client_secret/refresh_token → access-token rotation, cached like the proven TVDB token pattern) plus a scheduled
sync_want_listdriven bysync_interval_minutes(a supervisor ticker, mirroring the zetesis caps-refresh scheduler). Re-add the four config fields at that point.Done when: a configured Tidal integration refreshes its token automatically and syncs the want-list on the configured interval, covered by tests.