github builtbyproxy/jellyfin-plugin-letterboxd v1.11.2

3 hours ago

Bug fixes

Phantom rewatch entries from diary import are now suppressed (#32)

With Import diary as played enabled, the daily catch-up sync was posting fresh rewatch entries to Letterboxd for films you had only marked played via diary import, never actually watched on Jellyfin.

The loop:

  1. You log a film directly on Letterboxd (e.g. watched on another device).
  2. The diary-import task marks the matching Jellyfin item as played. LastPlayedDate is intentionally left null to avoid this loop.
  3. The next daily sync picks the film up because IsPlayed = true, defaults the viewing date to today (since there's no LastPlayedDate), and the same-day duplicate check fails (the real Letterboxd entry is dated differently).
  4. A duplicate diary entry gets posted. Next day: same thing, another phantom rewatch.

Fix: the sync runner now records a diary-import marker per film and skips re-exporting any film that has the marker but no LastPlayedDate. If you later actually watch the film on Jellyfin, playback sets LastPlayedDate and the suppression releases, so a real rewatch lands on Letterboxd as expected.

The second half of #32 (manual "ignore and remove" UI for these films) is tracked separately.

Documentation

File Transformation plugin is now documented as a prerequisite (#35)

The Letterboxd entry in the Jellyfin sidebar is injected via the File Transformation plugin. If it isn't installed, sidebar injection silently no-ops and the link never appears. README and the landing site now call this out under both Install paths and Requirements, including the File Transformation manifest URL and a hard-refresh reminder.

If you installed v1.11.0 or v1.11.1 and never saw the Letterboxd sidebar entry, install File Transformation and hard-refresh the Jellyfin web UI.

Tests

431 passing. Adds regression coverage for the diary-import suppression (SyncHistoryLookupTests, DiaryImportTaskTests, LetterboxdSyncRunnerTests) and moves SyncHistoryStaticTests into the Plugin xUnit collection to serialise it against the other tests that now touch SyncHistory.

Install

Plugin repository: `https://raw.githubusercontent.com/builtbyproxy/jellyfin-plugin-letterboxd/main/manifest.json\`
Manual: download the ZIP below.

Reminder: the in-sidebar link requires the File Transformation plugin. Everything else works without it.

Full changelog: v1.11.1...v1.11.2

Don't miss a new jellyfin-plugin-letterboxd release

NewReleases is sending notifications on new releases.