fix(player state): Fix stale/dead logic checks

* Stale should not reset to stale when status is orphaned
* Dead check should be in seconds, not minutes
This commit is contained in:
FoxxMD
2023-09-11 12:34:09 -04:00
parent b9f04deb28
commit 3762f95bae
@@ -62,7 +62,7 @@ export abstract class AbstractPlayerState {
checkStale() {
const isStale = this.isUpdateStale();
if (isStale && this.calculatedStatus !== CALCULATED_PLAYER_STATUSES.stale) {
if (isStale && ![CALCULATED_PLAYER_STATUSES.stale, CALCULATED_PLAYER_STATUSES.orphaned].includes(this.calculatedStatus)) {
this.calculatedStatus = CALCULATED_PLAYER_STATUSES.stale;
this.logger.debug(`Stale after no Play updates for ${Math.abs(dayjs().diff(this.playLastUpdatedAt, 'seconds'))} seconds`);
// end current listening sessions
@@ -76,7 +76,7 @@ export abstract class AbstractPlayerState {
}
isDead() {
return dayjs().diff(this.stateLastUpdatedAt, 'minutes') >= this.stateIntervalOptions.orphanedInterval * 2;
return dayjs().diff(this.stateLastUpdatedAt, 'seconds') >= this.stateIntervalOptions.orphanedInterval * 2;
}
checkOrphaned() {