Overview
This release introduces EXIF verification for the Logo Updater, full BoxSet/Collection asset resolution for Emby and Jellyfin plugins, responsive layer positioning calculations in the Blueprint editor, and documentation/UI clarifications around real-time trigger direct uploads.
Changes
Logo EXIF Verification (Logo Updater)
- Added
CheckLogoExifconfiguration and-CheckLogoExifCLI switch. - Allows Logo Updater to inspect existing logo files for the Posterizarr EXIF marker before attempting replacement, avoiding unnecessary re-downloads and uploads without needing
-ForceReplace. - For Plex: queries
clearLogosmetadata. Automatically skips default Plex agent logos (metadata://orhttp://) and downloads uploaded logos (upload://) to temporary storage to test for Posterizarr EXIF tags before updating. - For Emby and Jellyfin: retrieves the current logo and verifies EXIF tags via
Test-IsPosterizarrAsset. - Added WebUI toggles in both Run Modes and Scheduler Settings.
Emby & Jellyfin Collection Asset Support
- Extended
PosterizarrImageProviderin both Jellyfin (Posterizarr.Plugin) and Emby (Posterizarr.Plugin.Emby) to support Collection and BoxSet items (Primary posters, Thumbnails, and Backdrops). - Added
AssetPathResolvercollection handling to locateCollections/folders at asset root, within subfolders, or when the asset root points directly to the collection path. - Handles flat naming (
Collections/Name.ext) and folder structures (Collections/Name/poster.ext). - Added robust name matching:
- Suffix handling: matches with and without the "Collection" suffix.
- Bracket cleanup: strips
[boxset],(boxset), and{boxset}tags. - Ampersand normalization: equates
&andandvariants (e.g.Alien & Predator<->Alien and Predator). - Filename sanitization: cleans illegal filesystem characters and replaces colons/slashes with dashes.
- Added
HasChangedtracking inPosterizarrImageProviderso media server metadata refreshes do not ignore updated images on disk. - Added collection event handling to
PosterizarrWebSocketListenerfor real-time asset updates. - Set
UpdateCollectionto opt-in (defaultfalse) across plugin configurations, providers, resolvers, and WebUI settings to prevent unintended collection updates.
WebUI & Blueprint Editor
- Computed
offsetPercentfrom pixel offset and canvas height ((offset / canvasH) * 100) inBlueprints.jsxfor responsive text layer positioning. - Hardened
ConfirmDialogmessage handling to prevent render issues with structured error responses. - Added input validation for numeric inputs in
OnboardingModal.
Real-Time Trigger Upload Clarifications & Documentation
- Documented that real-time trigger modes (Tautulli and *Arr webhooks) force direct server uploads regardless of the general
PlexUpload=false/OtherMediaServerUpload=falsesetting. - Added guidance for Kometa users to avoid conflicting metadata overwrites when using webhook triggers.
- Updated
AutoTriggers.jsxwith an explicit direct-upload note. - Added localized translations for new UI copy across English, German, French, Italian, and Portuguese (
de,en,fr,it,pt). - Updated
configuration.md,faqs.md,kometaintegration.md,modes.md, andllms.md.
Commit History
3b824322Add Logo EXIF check and collection support502e0177Fix collection matching and refresh detectiondf51299aMake UpdateCollection opt-in (default false)367f646dCompute offsetPercent from offset and canvas height6daf687fDocument trigger-mode direct Plex uploadscc34c4aaSync Main2Dev (#668)
What's Changed
- Logo EXIF Verification, Emby & Jellyfin Collection Support & Real-Time Trigger Clarifications by @fscorrupt in #669
Full Changelog: 3.3.5...3.3.6