Skip to content

Releases: 00Scooby/maintainerr-plex-sync

v2.0.3

11 Apr 08:33

Choose a tag to compare

🚀 Release v2.0.3: The Ultimate Overlay & Pagination Fix

Dieses Update bringt den finalen Durchbruch für das API-Limit-Problem und sorgt dafür, dass deine Kometa-Banner wieder zu 100 % synchron mit der Maintainerr-UI laufen.

🛠️ Fixes & Verbesserungen

  • Smart Pagination Bypass: Das API-Limit von Maintainerr (welches oft nur 2 Items lieferte) wird nun komplett und ohne Datenverlust umgangen. Wir nutzen dafür den offiziellen /overlay-data Endpoint, der die gesamte ungeschnittene Liste liefert.
  • Perfekte Kometa-Synchronität (Fix für "0 Tage"): Der Workaround aus älteren Versionen liess die internen daysLeft-Werte verschwinden. Jetzt greift das Skript diese Werte direkt von Maintainerr ab. Die Zahlen auf den Postern stimmen somit exakt mit der Maintainerr-Weboberfläche überein.
  • Robuster Datums-Fallback: Sollte die API mal keinen fertigen Wert liefern, übernimmt ein neu geschriebener, kugelsicherer ISO-Datums-Parser die Berechnung im Hintergrund.
  • Code Cleanup: Die Haupt-Sync-Schleife wurde verschlankt und läuft nun wesentlich effizienter und fehlerfreier.

📦 Update

Um auf die neue Version zu aktualisieren, einfach das neueste Image pullen:

docker pull ghcr.io/00scooby/maintainerr-plex-sync:latest

Ein grosses Dankeschön an @JobbeDeluxe für den entscheidenden Anstoss in Issue #1!

v2.0.2

11 Apr 07:00

Choose a tag to compare

🚀 Release v2.0.2

Dieses Update behebt kritische Probleme mit der Maintainerr API-Anbindung und verbessert die Stabilität des Datums-Parsings erheblich.

🛠️ Fixes & Verbesserungen

  • Pagination Bypass (Maintainerr API): Es wurde ein Problem behoben, bei dem Maintainerr über den Standard-Endpoint /api/collections nur eine begrenzte Anzahl an Items (Samples) lieferte. Das Skript erkennt nun automatisch, wenn das API-Limit erreicht ist, und lädt die vollständige Liste über den /children-Endpoint nach. (Fixes #1)
  • Robustes Date Parsing: Das Skript ist nun immun gegen verschiedene Datumsformate der API (ISO mit T/Z vs. Standard SQL-Format). Alle Zeitstempel werden vor der Verarbeitung normalisiert.
  • Dynamisches Key-Mapping: Unterstützung für mediaServerId und ratingKey Fallbacks beim Nachladen von Kollektions-Details.

📝 Dokumentation

  • Deutsche und Englische README wurden um einen AI-Disclaimer (Google Gemini) ergänzt.

📦 Update

Image neu pullen oder auf den automatischen Watcher-Update warten:

docker pull ghcr.io/00scooby/maintainerr-plex-sync:latest

Ein grosses Dankeschön an die Community für das schnelle Feedback im Issue-Bereich!

v2.0.0

27 Mar 13:58

Choose a tag to compare

🚀 Release v2.0.0 - The Dashboard Update

Dieses Major-Release transformiert Maintainerr-to-Plex Sync von einem reinen Kommandozeilen-Skript in eine vollwertige Web-Applikation mit grafischer Benutzeroberfläche (GUI).

🌟 Highlights

  • Interaktives Dashboard: Eine moderne Web-Oberfläche (powered by Streamlit), die alle Einstellungen zentral steuerbar macht.
  • Live WYSIWYG Vorschau: Designe deine Kometa-Overlays in Echtzeit! Inklusive Poster-Uploader, um eigene Filmplakate mit den aktuellen Design-Einstellungen zu testen.
  • Dynamisches Multi-Scheduling: Hinterlege beliebig viele Sync-Zeitpunkte direkt in der UI. Ein intelligenter Hintergrund-Thread kümmert sich um die Ausführung, während du die UI bedienst.
  • API-Integration: Direkter Abruf von Plex-Mediatheken und Maintainerr-Kollektionen via Multiselect-Dropdowns – Schluss mit Tippfehlern in der config.yml.
  • Eingebauter Log-Viewer: Verfolge die Synchronisations-Prozesse live im Browser, ohne ins Docker-Terminal schauen zu müssen.

🎨 Design & Anpassung

  • Vollständige Kontrolle über Banner-Farben, Textfarben, Ecken-Radius und Offsets via Slider und Color-Picker.
  • Unterstützung für horizontales und vertikales Alignment (Left, Center, Right / Top, Bottom).
  • Individuelle Schriftgrössen und Banner-Dimensionen für perfekte Poster-Overlays.

🛠️ Technische Änderungen

  • Multi-Threading: Einführung von Pythons threading, um UI und schedule-Timer parallel laufen zu lassen.
  • Docker-Optimierung: Permission-Fixes für schlanke Images und automatisiertes Image-Tagging via GitHub Actions.
  • Branding: Neues offizielles Logo und Favicon für ein konsistentes Look-and-Feel.

📦 Installation / Update

Einfach das neueste Docker-Image laden:

docker pull ghcr.io/00scooby/maintainerr-plex-sync:latest

Hinweis: Bitte stelle sicher, dass der Port 8501 in deiner docker-compose.yml freigegeben ist, um auf das Dashboard zuzugreifen.
Erstellt mit ❤️ für die Plex-Community.

v1.1.17

25 Mar 21:38

Choose a tag to compare

[1.1.17] - 2026-03-25

Fixed

  • Kometa Season Targeting: Kometas plex_search Blockierung auf Staffel-Ebene wurde komplett umgangen. Da Kometa auf builder_level: season Suchanfragen nach Serientiteln (show.title oder show_title) hart ablehnt, nutzt das Skript nun den robusten plex_all: true Builder in Kombination mit dualen lokalen Filtern (show_title.is und title.is). Dies zwingt Kometa, die exakte Staffel zuverlässig und ohne API-Parser-Errors zu identifizieren.

v1.1.16

25 Mar 13:48

Choose a tag to compare

[1.1.16] - 2026-03-25

Fixed

  • Kometa Season Attribute Syntax: Die Suchlogik für Staffel-Overlays wurde final korrigiert. Der Fehler lag in der strikten Trennung der Syntax: Während Kometas lokale Filter-Engine das Attribut show_title (mit Unterstrich) verwenden kann, erfordert die direkte Plex-Suche (plex_search) zwingend die API-Syntax show.title (mit Punkt) innerhalb eines all-Blocks. Das Skript nutzt nun die exakt korrekte Kombination, um die Serie über Plex abzufragen und anschliessend die korrekte Staffel lokal herauszufiltern (title.is).

v1.1.15

25 Mar 13:22

Choose a tag to compare

[1.1.15] - 2026-03-25

Fixed

  • Kometa Season Attribute Bug: Ein massiver Workaround für Kometas fehlerhaftes Parsing auf Staffel-Ebene wurde implementiert. Da Kometa auf builder_level: season in der Suchabfrage extrem verbuggt ist, nutzt das Skript nun builder_level: show mit dem Attribut title, um die Serie zu finden. Anschliessend isoliert ein lokaler Filter (season_title.is) die gewünschte Staffel und wendet das Banner über overlay_level: season zielgenau an.

v1.1.14

24 Mar 21:11

Choose a tag to compare

[1.1.14] - 2026-03-24

Fixed

  • Kometa Season Filter Logic: Die Suchlogik für Staffel-Overlays wurde exakt an die offiziellen Kometa-Richtlinien angepasst, um API-Fehler und Performance-Einbrüche zu verhindern. Das Skript nutzt nun eine performante, hybride Lösung: plex_search lädt effizient alle Staffeln der jeweiligen Serie (show.title) vor, während ein anschliessender lokaler filters-Block mit dem exakten Modifier (title.is) sicherstellt, dass die korrekte Staffel isoliert wird und beispielsweise "Staffel 2" nicht fälschlicherweise mit "Staffel 20" gematcht wird.

v1.1.13

24 Mar 19:39

Choose a tag to compare

[1.1.13] - 2026-03-24

Fixed

  • Kometa Season Targeting: Die Logik zur Erkennung von Staffeln wurde komplett überarbeitet. Da die Plex API (und damit Kometas plex_search) keine direkte Suche nach Staffel-Indexen unterstützt und title Parameter auf dieser Ebene kollidieren, nutzt das Skript nun einen Two-Step-Approach: Die plex_search ruft über den Serientitel (show_title) alle Staffeln der Serie ab, woraufhin Kometas lokaler filters-Block punktgenau die gewünschte Staffel (season_title) isoliert. Dies garantiert absolut fehlerfreie Overlays für TV-Serien.

v1.1.12

24 Mar 19:14

Choose a tag to compare

[1.1.12] - 2026-03-24

Fixed

  • Kometa plex_search Syntax: Die Suchabfrage für Staffeln wurde in einen all-Block gewrappt. Dies behebt den "Must have either any or all"-Fehler, da Kometa bei der gleichzeitigen Suche nach Seriennamen (show.title) und Staffelnummer (season.index) eine explizite logische Verknüpfung verlangt.

v1.1.11

24 Mar 18:42

Choose a tag to compare

[1.1.11] - 2026-03-24

Fixed

  • Kometa Season Title Mapping: Ein Bug in der Variablen-Zuweisung für das Staffel-Template wurde behoben. Der Serienname (show_title) und der Staffelname (season_title) werden nun exakt getrennt an Kometas plex_search übergeben. Dies behebt den Fehler, bei dem Kometa den Staffelnamen als Seriennamen interpretiert hat und mit einem "No Items found"-Error abbrach.