ferdi2go
  • Joined on 2026-02-27
ferdi2go opened issue ferdi2go/OnlyFrames#30 2026-05-27 13:50:10 +02:00
[Perf/UX] Review-Liste: Lazy-Loading der Thumbnails via IntersectionObserver
ferdi2go closed issue ferdi2go/OnlyFrames#23 2026-05-27 13:16:19 +02:00
[Perf] Thumbnail-Endpoint + pHash/EXIF-Cache
ferdi2go commented on issue ferdi2go/OnlyFrames#23 2026-05-27 13:16:19 +02:00
[Perf] Thumbnail-Endpoint + pHash/EXIF-Cache

Fix (a) und (b) umgesetzt:

(a) /thumb-Endpoint

  • Neuer Endpoint GET /thumb?path=...&w=200 (min 32, max 800)
  • Disk-Cache unter `/of-thumbs/<md5(path
ferdi2go opened issue ferdi2go/OnlyFrames#29 2026-05-27 13:14:28 +02:00
[Perf] pHash- und EXIF-Disk-Cache zwischen Runs
ferdi2go closed issue ferdi2go/OnlyFrames#22 2026-05-27 13:10:55 +02:00
[Perf] Bilder werden 2-3x pro Bild dekodiert in analyze_folder
ferdi2go commented on issue ferdi2go/OnlyFrames#22 2026-05-27 13:10:55 +02:00
[Perf] Bilder werden 2-3x pro Bild dekodiert in analyze_folder

Fix umgesetzt in analyzer.py:analyze_folder:

  • Phase 1 lädt jedes Bild einmal mit Image.open(path) und berechnet daraus alles:
    • gray_arr (numpy L-Konvertierung)
    • blur via…
ferdi2go closed issue ferdi2go/OnlyFrames#21 2026-05-27 13:08:48 +02:00
[Bug] Silent Failures: AI ohne Key, HEIC ohne pillow-heif, Export-Skips
ferdi2go commented on issue ferdi2go/OnlyFrames#21 2026-05-27 13:08:47 +02:00
[Bug] Silent Failures: AI ohne Key, HEIC ohne pillow-heif, Export-Skips

Fix in drei Teilen umgesetzt:

a) AI-Phase

  • _run_analyze_job prueft API-Key vor Phase 4 (leer / Platzhalter your_* / Laenge < 30)
  • ai_skipped-Feld im Status-Result mit klarer…
ferdi2go commented on issue ferdi2go/OnlyFrames#20 2026-05-27 13:04:49 +02:00
[Bug] /download loescht Quelle auch bei fehlgeschlagenem ZIP-Schreiben

Fix umgesetzt in server.py:download_kept:

  • Erwartete Dateiliste vor ZIP-Erstellung gesammelt
  • Pro Datei zf.write in try/except: Fehler werden gesammelt, nicht geschluckt
  • shutil.rmtree
ferdi2go closed issue ferdi2go/OnlyFrames#20 2026-05-27 13:04:49 +02:00
[Bug] /download loescht Quelle auch bei fehlgeschlagenem ZIP-Schreiben
ferdi2go commented on issue ferdi2go/OnlyFrames#19 2026-05-27 13:03:33 +02:00
[Bug] Unbounded _jobs-Dict + Race in /export/download vs Cleanup

Fix umgesetzt in server.py:

(a) Jobs-TTL

  • Job-Dict bekommt jetzt created_at beim Anlegen (/analyze, /export)
  • Background-Thread _cleanup_jobs purged Jobs aelter als `_JOB_TTL =…
ferdi2go closed issue ferdi2go/OnlyFrames#19 2026-05-27 13:03:33 +02:00
[Bug] Unbounded _jobs-Dict + Race in /export/download vs Cleanup
ferdi2go closed issue ferdi2go/OnlyFrames#18 2026-05-27 13:01:44 +02:00
[Bug] Pillow-Resource-Leak: Image.open() ohne with-Statement
ferdi2go commented on issue ferdi2go/OnlyFrames#18 2026-05-27 13:01:44 +02:00
[Bug] Pillow-Resource-Leak: Image.open() ohne with-Statement

Fix umgesetzt:

  • analyzer.py:_mean_brightness -> with Image.open(...)
  • analyzer.py:find_duplicates -> with Image.open(...) as img: phash(img)
  • processor.py:get_exif_info -> `with…
ferdi2go commented on issue ferdi2go/OnlyFrames#17 2026-05-27 12:59:40 +02:00
[Security] CORS, Security-Header, Token-Speicherung

Fix (a) und (b) umgesetzt in server.py:

CORS — statt allow_origins=["*"] jetzt allow_origin_regex fuer localhost, 127.0.0.1 und lxc<id>-<port>.<domain> (VCH Subdomain-Proxy).…

ferdi2go closed issue ferdi2go/OnlyFrames#17 2026-05-27 12:59:40 +02:00
[Security] CORS, Security-Header, Token-Speicherung
ferdi2go opened issue ferdi2go/OnlyFrames#28 2026-05-27 12:59:30 +02:00
[Security] Token in HttpOnly+SameSite-Cookie statt sessionStorage
ferdi2go closed issue ferdi2go/OnlyFrames#16 2026-05-27 12:52:37 +02:00
[Security] /browse und /move ohne Pfad-Sandboxing
ferdi2go commented on issue ferdi2go/OnlyFrames#16 2026-05-27 12:52:37 +02:00
[Security] /browse und /move ohne Pfad-Sandboxing

Fix umgesetzt in server.py:

  • BROWSE_ROOT = "/home/vchuser" als Sandbox
  • /browse lehnt Pfade ausserhalb mit 403 ab, parent ist None an der Wurzel
  • /move prueft jetzt `tempfile.gettemp…
ferdi2go commented on issue ferdi2go/OnlyFrames#15 2026-05-27 12:32:37 +02:00
[Security] DOM-XSS via innerHTML mit User-Inputs (Dateinamen, Browse)

Fix umgesetzt in index.html:

  • Upload-Liste (Z.1049 alt): row via createElement + textContent, kein Template-String mit User-Input
  • Folder-Browser-Item (Z.1139 alt): textContent statt…