Skip to content

v1.2.0

Choose a tag to compare

@v8eta v8eta released this 20 Aug 08:37
· 5 commits to main since this release

Two fixes that both came out of testing rather than assumption.

Sidecars now match their directory's ownership

Dispatcharr's container runs as root, so every sidecar landed root-owned beside media belonging to the media user. Everything still reads, which is why this goes unnoticed — but tooling running as that user cannot later move or delete the sidecars it is meant to manage.

Each file the plugin writes now takes the ownership of the directory holding it. Best effort: it silently does nothing on an unprivileged container, a non-POSIX filesystem, or NFS with a squashed root.

Optional Plex artwork refresh

A Plex library scan re-reads episode NFOs but ignores a show's poster.jpg, so a changed poster is served stale indefinitely. Measured in both directions:

Change Path-scoped scan PUT /library/metadata/{key}/refresh?force=1
Episode .nfo (title, summary) picked up not needed
Show poster.jpg ignored required

Set Plex base URL and Plex token and the plugin issues that refresh itself — once per show, and only when a poster was actually written. The show is matched by title across TV-type sections; an unmatched show is skipped with a log line rather than refreshing the wrong one. A new Refresh show artwork in Plex action sweeps the whole library on demand.

Leave both blank and the plugin never talks to Plex. The token is sent as a header, never in a URL, and is kept out of the log.

Tests

test_ownership_plex.py joins the suite — 12 cases covering ownership matching, the ratingKey lookup and its caching, token handling, unknown shows, unconfigured Plex, and an unreachable server. 47 tests across the three files.