Settings dropdown: 15s (default), 30s, 1/3 of duration, 2/3 of duration, song end. Duration-based modes use s.duration from Navidrome metadata (always available). 'end' mode skips the timer and fires the scrobble in onEnded (web) / onQueueEnded (native). Skipping a song never scrobbles in any mode — _cancelScrobble() still runs on skip/pause. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>