navidrome/core/scrobbler
Deluan Quintão e6597398c2
feat(scrobbler): exponential backoff for scrobble retries during outages (#5818)
* feat(scrobbler): add exponential backoff delay helper

* feat(scrobbler): back off retries up to 4m during outages

* test(scrobbler): verify backoff schedule with synctest; clarify backoffDelay doc

Adds a testing/synctest-based test that drives the real run loop against a
failing service and asserts the exact 5s/10s/20s/40s retry schedule and the
drain-on-recovery reset, addressing the review note that the run loop's
behavior was untested. Also clarifies the backoffDelay doc comment: the
argument is a zero-based retry index.
2026-07-19 13:36:05 -04:00
..
buffered_scrobbler.go feat(scrobbler): exponential backoff for scrobble retries during outages (#5818) 2026-07-19 13:36:05 -04:00
buffered_scrobbler_test.go feat(scrobbler): exponential backoff for scrobble retries during outages (#5818) 2026-07-19 13:36:05 -04:00
interfaces.go feat(plugins): add PlaybackReport to scrobbler capability (#5452) 2026-05-02 16:14:53 -04:00
nowplaying_worker.go feat(plugins): add PlaybackReport to scrobbler capability (#5452) 2026-05-02 16:14:53 -04:00
play_tracker.go fix(scrobbler): tolerate out-of-order playback reports (#5793) 2026-07-16 20:47:47 -04:00
play_tracker_test.go fix(scrobbler): tolerate out-of-order playback reports (#5793) 2026-07-16 20:47:47 -04:00
playbackreport_worker.go feat(plugins): add PlaybackReport to scrobbler capability (#5452) 2026-05-02 16:14:53 -04:00
scrobbler_suite_test.go Rename log.LevelCritical to log.LevelFatal 2022-12-21 14:53:36 -05:00