[Bug] Silent Failures: AI ohne Key, HEIC ohne pillow-heif, Export-Skips #21

Closed
opened 2026-05-27 12:21:05 +02:00 by ferdi2go · 1 comment
Owner

Probleme

a) AI-Phase ohne API-Keyanalyzer.py:95-144
Bei use_ai=True und fehlendem ANTHROPIC_API_KEY schlaegt jeder API-Call fehl, wird per except: continue geschluckt. Frontend zeigt "fertig" - User glaubt KI lief.

b) HEIC-Upload ohne pillow-heifserver.py:21-26,157
Wenn _HEIF_SUPPORTED=False, wird HEIC raw gespeichert. Browser und cv2 koennen das nicht lesen.

c) Export-Skipsserver.py:426-441
Pro Bild try/except Exception: pass. done zaehlt weiter. User merkt nicht, dass Bilder fehlen.

Fix

  • a) Vor Phase 4 API-Key pruefen, klar im Status melden (ai_failed: true)
  • b) HEIC ohne Support -> 415 mit Hinweis
  • c) failed_paths im Job-Status sammeln und im Frontend anzeigen
## Probleme **a) AI-Phase ohne API-Key** — `analyzer.py:95-144` Bei `use_ai=True` und fehlendem `ANTHROPIC_API_KEY` schlaegt jeder API-Call fehl, wird per `except: continue` geschluckt. Frontend zeigt "fertig" - User glaubt KI lief. **b) HEIC-Upload ohne pillow-heif** — `server.py:21-26,157` Wenn `_HEIF_SUPPORTED=False`, wird HEIC raw gespeichert. Browser und cv2 koennen das nicht lesen. **c) Export-Skips** — `server.py:426-441` Pro Bild `try/except Exception: pass`. `done` zaehlt weiter. User merkt nicht, dass Bilder fehlen. ## Fix - a) Vor Phase 4 API-Key pruefen, klar im Status melden (`ai_failed: true`) - b) HEIC ohne Support -> 415 mit Hinweis - c) `failed_paths` im Job-Status sammeln und im Frontend anzeigen
ferdi2go added the priority: mediumbug labels 2026-05-27 12:21:05 +02:00
Author
Owner

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 Begruendung
  • Frontend zeigt alert("Hinweis: ...") wenn ai_skipped gesetzt ist

b) HEIC-Upload

  • /upload lehnt HEIC ohne pillow-heif nicht mehr lautlos ab
  • Antwort enthaelt jetzt skipped: [{name, reason}] mit Reasons:
    • unsupported_extension
    • too_large
    • heif_unsupported
    • heic_decode_failed: ...

c) Export-Skips

  • _run_export_job sammelt fehlgeschlagene Pfade in failed: [{path, error}]
  • Status-Endpoint gibt failed Array zurueck
  • Frontend warnt mit Alert wenn failed.length > 0

Manueller Test: use_ai=true mit .env-Platzhalter your_anthropic_api_key_here -> ai_skipped: "...Platzhalter/ungueltig...".

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 Begruendung - Frontend zeigt `alert("Hinweis: ...")` wenn `ai_skipped` gesetzt ist **b) HEIC-Upload** - `/upload` lehnt HEIC ohne pillow-heif nicht mehr lautlos ab - Antwort enthaelt jetzt `skipped: [{name, reason}]` mit Reasons: - `unsupported_extension` - `too_large` - `heif_unsupported` - `heic_decode_failed: ...` **c) Export-Skips** - `_run_export_job` sammelt fehlgeschlagene Pfade in `failed: [{path, error}]` - Status-Endpoint gibt `failed` Array zurueck - Frontend warnt mit Alert wenn `failed.length > 0` Manueller Test: `use_ai=true` mit `.env`-Platzhalter `your_anthropic_api_key_here` -> `ai_skipped: "...Platzhalter/ungueltig..."`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ferdi2go/OnlyFrames#21