• v1.1.0 8a44b85a48

    Cover-Cache, Bugfixes & Code-Bereinigung
    Build and Deploy / build (push) Successful in 23s
    Build and Deploy / deploy (push) Successful in 41s
    Build Release / build (push) Successful in 16s
    Stable

    johannesbot released this 2026-06-11 21:34:09 +02:00 | 1 commits to master since this release

    v1.1.0 — Cover-Cache, Bugfixes & Code-Bereinigung

    Optimierungs-Release: Cover werden nur noch einmal heruntergeladen statt pro
    Chapter, mehrere beim Aufräumen gefundene Bugs sind behoben und doppelter
    Code wurde konsolidiert.

    Neu

    Cover-Cache (CoverCache)

    • Bisher wurde das Cover für jedes Chapter neu heruntergeladen — bei einem
      20-Chapter-Volume 20× dasselbe Multi-MB-Bild. Jetzt wird jede Cover-URL nur
      noch einmal geladen (Disk-Cache, thread-safe, atomares Schreiben).
    • Optional persistent: mit COVER_CACHE_PATH (Default /config/covers)
      überlebt der Cache Container-Neustarts; ohne Pfad wird ein temporäres
      Verzeichnis genutzt, das bei Prozessende automatisch gelöscht wird.
    • Genutzt vom Mover (Chapter-Cover beim Packen) und vom Volume/Cover-Updater.

    🐛 Fixes

    • MAL-Fallback griff nie, wenn MangaBaka-Metadaten existierten, aber keine
      MAL-ID enthielten (Operator-Präzedenz-Fehler) — Persons-Sync funktioniert
      jetzt auch für diese Serien
    • Updater erkannte keine neuen MangaDex-Zuordnungen: Die Resolver-Caches
      leben prozessweit und wurden zwischen den Cron-Läufen nie geleert — jeder
      Scan startet jetzt mit frischen API-Daten
    • Leere API-Antworten wurden dauerhaft gecacht: Works/Covers, die auf
      MangaBaka erst später ergänzt werden, werden jetzt ohne Container-Neustart
      gefunden

    🔧 Intern

    • Dopplungen entfernt: Image-Extensions & Natural-Sort, MAL/AniList-ID-
      Extraktion, MangaBaka-Title-Scoring (eine gemeinsame _pick_best_title),
      API-Pagination im Works-Resolver
    • Tote Imports bereinigt (difflib, signal, re, time, …)
    • Hardcodierter Kavita-API-Key aus dem Beispielcode entfernt — kommt jetzt
      aus der Umgebungsvariable KAVITA_API_KEY

    ⚙️ Deployment

    Neue Umgebungsvariable (Default bereits in docker-compose.prod.yml):

    Variable Default Beschreibung
    COVER_CACHE_PATH /config/covers Persistenter Cover-Cache; leer = temporär, wird bei Prozessende gelöscht

    Keine Breaking Changes — bestehende Konfigurationen laufen unverändert.

    Downloads