jeffvli / sonixd

A full-featured Subsonic/Jellyfin compatible desktop music player
GNU General Public License v3.0
1.87k stars 73 forks source link

Scrobbling status not correctly updating to the Jellyfin server #399

Open CPU-Blanc opened 2 years ago

CPU-Blanc commented 2 years ago

Describe the bug Play scrobble events are correctly sent to the server, however seek and stop events don't seem to be tracked properly, resulting in when you stop a track from the player, the server thinks you're still playing it. This can cause duplicate scrobbles to Last.fm when you later resume the track and the server tracks it as completed twice.

This seems to also happen occasionally with pausing, however this seems to be hard to reproduce.

Seeking while playing is also not correctly reported to the server with the progress on the server remaining at where you previously were, unless you pause and resume the track which seems to force the progress to update.

To Reproduce Steps to reproduce the behavior:

  1. Play a song while monitoring the Jellyfin dashboard
  2. Click stop to stop the track, or seek while the track is playing
  3. Observe the play progress continue on the dashboard or be reporting incorrectly

Expected behavior The activity to be removed if stopped, paused if the track is paused, and progress to be updated to the correct time when seeked

Screenshots image The above track was stoppped at 15 seconds, yet Jellyfin progress continues to tick up

Desktop (please complete the following information):

Additional context It seems playing and pausing will update the server correctly, but stopping or seeking is not properly updated at all