Skip to content

Fix broken requirements, None lat/lon crash, and HTML escaping - #1

Open
Marchy02 wants to merge 1 commit into
mainfrom
fix/audit-quickwins
Open

Fix broken requirements, None lat/lon crash, and HTML escaping#1
Marchy02 wants to merge 1 commit into
mainfrom
fix/audit-quickwins

Conversation

@Marchy02

@Marchy02 Marchy02 commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Fix da audit sui file della GUI (fork — toccati solo i tuoi file, non l'engine GeoCLIP).

Bug

  • requirements.txt rotto: versioni inesistenti (torch==2.11.0, gradio==6.10.0, ...) e dipendenze runtime mancanti (google-genai, ultralytics, python-dotenv, geoclip). Riscritto con i pacchetti realmente importati e range di versioni reali; rimosse le dep inutili.
  • Crash su override Gemini con lat/lon None: folium.Map([None,None]) faceva crashare scartando tutti gli altri risultati. Ora si valida che siano numeri prima dell'uso, con fallback alla top GeoCLIP.
  • geo_predictions[0] assunto non vuoto → aggiunto guard.
  • extract_exif definita due volte (la prima con except: nudo, dead code) → rimossa la duplicata.

Sicurezza

  • html.escape() su tutti i testi non fidati (OCR/EXIF/output LLM, popup marker) prima di iniettarli nell'HTML/Folium.

Docs

  • README: entrypoint corretto (app.py, non geoclip_gui.py); YOLO+Gemini spostati da roadmap a feature implementate.
  • Aggiunto .env.example con GEMINI_API_KEY.

Verifica

AST OK su tutti i .py; formato requirements.txt validato. App non eseguita (deps pesanti non installate).

⚠️ Da decidere: bound esatti di torch/torchvision/numpy/google-genai (range conservativi); ui_helpers.py/map_render.py sono moduli orfani (non importati da app.py) e lasciati intatti.

🤖 Generated with Claude Code

Validate Gemini override coords are numeric before folium.Map and guard empty GeoCLIP predictions to avoid crashes that discard results. Remove dead duplicate extract_exif with bare except. Escape untrusted OCR/EXIF/LLM text before HTML injection. Rewrite requirements.txt with real, plausibly-existing pinned ranges covering all actual imports. Fix README entrypoint (app.py) and move implemented YOLO+Gemini out of roadmap; add .env.example with GEMINI_API_KEY.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant