diff --git a/src/backend/common/AbstractComponent.ts b/src/backend/common/AbstractComponent.ts index 7c940ebc..a94d9626 100644 --- a/src/backend/common/AbstractComponent.ts +++ b/src/backend/common/AbstractComponent.ts @@ -40,7 +40,7 @@ export default abstract class AbstractComponent { config: CommonClientConfig | CommonSourceConfig; - transformRules!: PlayTransformRules; + transformRules: PlayTransformRules = {}; regexCache!: ReturnType; logger: Logger; @@ -166,7 +166,6 @@ export default abstract class AbstractComponent { } = this.config; if (playTransform === undefined) { - this.transformRules = {}; return; } diff --git a/src/backend/scrobblers/AbstractScrobbleClient.ts b/src/backend/scrobblers/AbstractScrobbleClient.ts index 27ca1c2b..8e142d77 100644 --- a/src/backend/scrobblers/AbstractScrobbleClient.ts +++ b/src/backend/scrobblers/AbstractScrobbleClient.ts @@ -770,8 +770,9 @@ ${closestMatch.breakdowns.join('\n')}`, {leaf: ['Dupe Check']}); await this.refreshScrobbles(); } const currQueuedPlay = this.queuedScrobbles.shift(); + const [timeFrameValid, timeFrameValidLog] = this.timeFrameIsValid(currQueuedPlay.play); - if (timeFrameValid && !(await this.alreadyScrobbled(currQueuedPlay.play))) { + if (timeFrameValid && !(await this.alreadyScrobbled(this.transformPlay(currQueuedPlay.play, TRANSFORM_HOOK.preCompare)))) { const transformedScrobble = this.transformPlay(currQueuedPlay.play, TRANSFORM_HOOK.postCompare); try { const scrobbledPlay = await this.scrobble(transformedScrobble); @@ -854,7 +855,7 @@ ${closestMatch.breakdowns.join('\n')}`, {leaf: ['Dupe Check']}); await this.refreshScrobbles(); } const [timeFrameValid, timeFrameValidLog] = this.timeFrameIsValid(deadScrobble.play); - if (timeFrameValid && !(await this.alreadyScrobbled(deadScrobble.play))) { + if (timeFrameValid && !(await this.alreadyScrobbled(this.transformPlay(deadScrobble.play, TRANSFORM_HOOK.preCompare)))) { const transformedScrobble = this.transformPlay(deadScrobble.play, TRANSFORM_HOOK.postCompare); try { const scrobbledPlay = await this.scrobble(transformedScrobble); @@ -904,8 +905,7 @@ ${closestMatch.breakdowns.join('\n')}`, {leaf: ['Dupe Check']}); queueScrobble = (data: PlayObject | PlayObject[], source: string) => { const plays = Array.isArray(data) ? data : [data]; for(const p of plays) { - const transformedPlay = this.transformPlay(p, TRANSFORM_HOOK.preCompare); - const queuedPlay = {id: nanoid(), source, play: transformedPlay} + const queuedPlay = {id: nanoid(), source, play: p} this.emitEvent('scrobbleQueued', {queuedPlay: queuedPlay}); this.queuedScrobbles.push(queuedPlay); }