From 7e496643f8f235ebacb1ae078a6f2e5300f76e18 Mon Sep 17 00:00:00 2001 From: DarkFighterLuke Date: Tue, 21 Oct 2025 23:16:33 +0200 Subject: [PATCH] Adapt calls to IsPlayed method new signature modified: Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj modified: Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs modified: Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs --- .../Jellyfin.Plugin.TubeArchivistMetadata.csproj | 4 ++-- Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs | 9 ++++++++- .../Tasks/JFToTubeArchivistProgressSyncTask.cs | 7 ++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj b/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj index 302d3ff..233879e 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj @@ -11,8 +11,8 @@ - - + + diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs index 4fd566f..d1713ea 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs @@ -186,9 +186,16 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata } var user = _userManager.GetUserById(eventArgs.UserId); + if (user == null) + { + Logger.LogError("OnWatchedStatusChange callback called without user id for item {ItemName}", eventArgs.Item.Name); + return; + } + + var userItemData = _userDataManager.GetUserData(user, eventArgs.Item); if (Configuration.JFTASync && user != null && Configuration.GetJFUsernamesToArray().Contains(user!.Username)) { - var isPlayed = eventArgs.Item.IsPlayed(user); + var isPlayed = eventArgs.Item.IsPlayed(user, userItemData); Logger.LogDebug("User {UserId} changed watched status to {Status} for the item {ItemName}", eventArgs.UserId, isPlayed, eventArgs.Item.Name); string itemYTId; try diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs index 741496a..972ad92 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs @@ -155,10 +155,11 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks var videoYTId = Utils.GetVideoNameFromPath(video.Path); _logger.LogDebug("{VideoYtId}", videoYTId); HttpStatusCode statusCode; + var userItemData = _userDataManager.GetUserData(user, channel); - if (!isChannelCheckedForWatched && channel.IsPlayed(user)) + if (!isChannelCheckedForWatched && channel.IsPlayed(user, userItemData)) { - var isChannelPlayed = channel.IsPlayed(user); + var isChannelPlayed = channel.IsPlayed(user, userItemData); statusCode = await taApi.SetWatchedStatus(channelYTId, isChannelPlayed).ConfigureAwait(true); if (statusCode != System.Net.HttpStatusCode.OK) { @@ -174,7 +175,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks if (!isChannelWatched) { - var isVideoPlayed = video.IsPlayed(user); + var isVideoPlayed = video.IsPlayed(user, userItemData); statusCode = await taApi.SetWatchedStatus(videoYTId, isVideoPlayed).ConfigureAwait(true); if (statusCode != System.Net.HttpStatusCode.OK) {