Skip to content

Commit

Permalink
[AMR-97] fix: last.fm scrobble with watchdog
Browse files Browse the repository at this point in the history
  • Loading branch information
N0chteil committed Oct 22, 2023
1 parent 4452918 commit 288393f
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/managers/bridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -265,20 +265,39 @@ export class Bridge {
const newTrack = await Bridge.fetchMusic(),
oldTrack = currentTrack;

const oldEndTime = oldTrack.endTime,
newEndTime = newTrack.endTime;

delete oldTrack.snowflake;
delete oldTrack.remainingTime;
delete oldTrack.elapsedTime;
delete oldTrack.url;
delete oldTrack.artwork;
delete oldTrack.endTime;

delete newTrack.remainingTime;
delete newTrack.elapsedTime;
delete newTrack.endTime;

if (
newTrack.playerState === "playing" &&
Object.keys(newTrack).length > 0 &&
objectEqual(oldTrack, newTrack)
) {
if (
oldEndTime &&
newEndTime &&
config.get("service") === "music" &&
Math.abs(oldEndTime - newEndTime) > 3000
) {
log.info(
"[Bridge][lastFM][scrobbleTimeout]",
"Skipping scrobble due to same track"
);

return;
}

log.info(
"[Bridge][lastFM]",
`Scrobbling "${currentTrack.name}" by ${currentTrack.artist}`
Expand Down

0 comments on commit 288393f

Please sign in to comment.