First of all, thank you for developing Plexyfin! It is a great help for transitioning or keeping servers in sync.
As noted in the README, the artwork synchronization can put a heavy strain on both network bandwidth and disk I/O because it currently deletes and redownloads all primary and backdrop images on every scheduled sync run.
Suggested Optimization
Plex provides an updatedAt Unix timestamp for each library item in its metadata payload.
By comparing the modification date (LastWriteTimeUtc) of the existing local image in Jellyfin with the updatedAt timestamp from Plex, the plugin could skip the redownload entirely if the Plex item has not been updated since the local file was written.
This optimization is especially useful for users running Plex in combination with Kometa (formerly Plex Meta Manager). Kometa dynamically updates posters and overlays (e.g., adding "Trending" or "Ended" banners). When Kometa updates an artwork, Plex increments the updatedAt timestamp. With a timestamp check, Plexyfin would instantly catch these dynamic Kometa overlay changes, while safely skipping the thousands of other untouched media items.
First of all, thank you for developing Plexyfin! It is a great help for transitioning or keeping servers in sync.
As noted in the README, the artwork synchronization can put a heavy strain on both network bandwidth and disk I/O because it currently deletes and redownloads all primary and backdrop images on every scheduled sync run.
Suggested Optimization
Plex provides an updatedAt Unix timestamp for each library item in its metadata payload.
By comparing the modification date (LastWriteTimeUtc) of the existing local image in Jellyfin with the updatedAt timestamp from Plex, the plugin could skip the redownload entirely if the Plex item has not been updated since the local file was written.
This optimization is especially useful for users running Plex in combination with Kometa (formerly Plex Meta Manager). Kometa dynamically updates posters and overlays (e.g., adding "Trending" or "Ended" banners). When Kometa updates an artwork, Plex increments the updatedAt timestamp. With a timestamp check, Plexyfin would instantly catch these dynamic Kometa overlay changes, while safely skipping the thousands of other untouched media items.