Update local session sync logs to help debug sync errors

This commit is contained in:
advplyr 2025-06-15 17:21:47 -05:00
parent f3f5f3b9bd
commit 693dc00fa3
2 changed files with 7 additions and 6 deletions

View File

@ -107,7 +107,7 @@ class PlaybackSessionManager {
const syncResults = [] const syncResults = []
for (const sessionJson of sessions) { for (const sessionJson of sessions) {
Logger.info(`[PlaybackSessionManager] Syncing local session "${sessionJson.displayTitle}" (${sessionJson.id})`) Logger.info(`[PlaybackSessionManager] Syncing local session "${sessionJson.displayTitle}" (${sessionJson.id}) (updatedAt: ${sessionJson.updatedAt})`)
const result = await this.syncLocalSession(user, sessionJson, deviceInfo) const result = await this.syncLocalSession(user, sessionJson, deviceInfo)
syncResults.push(result) syncResults.push(result)
} }
@ -230,9 +230,9 @@ class PlaybackSessionManager {
let userProgressForItem = user.getMediaProgress(mediaItemId) let userProgressForItem = user.getMediaProgress(mediaItemId)
if (userProgressForItem) { if (userProgressForItem) {
if (userProgressForItem.updatedAt.valueOf() > session.updatedAt) { if (userProgressForItem.updatedAt.valueOf() > session.updatedAt) {
Logger.debug(`[PlaybackSessionManager] Not updating progress for "${session.displayTitle}" because it has been updated more recently`) Logger.info(`[PlaybackSessionManager] Not updating progress for "${session.displayTitle}" because it has been updated more recently (${userProgressForItem.updatedAt.valueOf()} > ${session.updatedAt}) (incoming currentTime: ${session.currentTime}) (current currentTime: ${userProgressForItem.currentTime})`)
} else { } else {
Logger.debug(`[PlaybackSessionManager] Updating progress for "${session.displayTitle}" with current time ${session.currentTime} (previously ${userProgressForItem.currentTime})`) Logger.info(`[PlaybackSessionManager] Updating progress for "${session.displayTitle}" with current time ${session.currentTime} (previously ${userProgressForItem.currentTime})`)
const updateResponse = await user.createUpdateMediaProgressFromPayload({ const updateResponse = await user.createUpdateMediaProgressFromPayload({
libraryItemId: libraryItem.id, libraryItemId: libraryItem.id,
episodeId: session.episodeId, episodeId: session.episodeId,
@ -246,7 +246,7 @@ class PlaybackSessionManager {
} }
} }
} else { } else {
Logger.debug(`[PlaybackSessionManager] Creating new media progress for media item "${session.displayTitle}"`) Logger.info(`[PlaybackSessionManager] Creating new media progress for media item "${session.displayTitle}"`)
const updateResponse = await user.createUpdateMediaProgressFromPayload({ const updateResponse = await user.createUpdateMediaProgressFromPayload({
libraryItemId: libraryItem.id, libraryItemId: libraryItem.id,
episodeId: session.episodeId, episodeId: session.episodeId,

View File

@ -222,13 +222,13 @@ class MediaProgress extends Model {
const markAsFinishedPercentComplete = Number(progressPayload.markAsFinishedPercentComplete) / 100 const markAsFinishedPercentComplete = Number(progressPayload.markAsFinishedPercentComplete) / 100
shouldMarkAsFinished = markAsFinishedPercentComplete < this.progress shouldMarkAsFinished = markAsFinishedPercentComplete < this.progress
if (shouldMarkAsFinished) { if (shouldMarkAsFinished) {
Logger.debug(`[MediaProgress] Marking media progress as finished because progress (${this.progress}) is greater than ${markAsFinishedPercentComplete}`) Logger.info(`[MediaProgress] Marking media progress as finished because progress (${this.progress}) is greater than ${markAsFinishedPercentComplete} (media item ${this.mediaItemId})`)
} }
} else { } else {
const markAsFinishedTimeRemaining = isNullOrNaN(progressPayload.markAsFinishedTimeRemaining) ? 10 : Number(progressPayload.markAsFinishedTimeRemaining) const markAsFinishedTimeRemaining = isNullOrNaN(progressPayload.markAsFinishedTimeRemaining) ? 10 : Number(progressPayload.markAsFinishedTimeRemaining)
shouldMarkAsFinished = timeRemaining < markAsFinishedTimeRemaining shouldMarkAsFinished = timeRemaining < markAsFinishedTimeRemaining
if (shouldMarkAsFinished) { if (shouldMarkAsFinished) {
Logger.debug(`[MediaProgress] Marking media progress as finished because time remaining (${timeRemaining}) is less than ${markAsFinishedTimeRemaining} seconds`) Logger.info(`[MediaProgress] Marking media progress as finished because time remaining (${timeRemaining}) is less than ${markAsFinishedTimeRemaining} seconds (media item ${this.mediaItemId})`)
} }
} }
} }
@ -246,6 +246,7 @@ class MediaProgress extends Model {
// For local sync // For local sync
if (progressPayload.lastUpdate) { if (progressPayload.lastUpdate) {
this.updatedAt = progressPayload.lastUpdate this.updatedAt = progressPayload.lastUpdate
Logger.info(`[MediaProgress] Manually setting updatedAt to ${this.updatedAt} (media item ${this.mediaItemId})`)
this.changed('updatedAt', true) this.changed('updatedAt', true)
} }