Repository navigation
Hardening sicurezza (issue #47-#49): #47 sanifica tutto il rendering Markdown eliminando i vettori XSS legati a unsafe_allow_html; #48 introduce limiti configurabili (dimensione file, righe, colonne, timeout) sul caricamento CSV e usa file temporanei isolati per prevenire DoS; #49 isola le cache per sessione generando UUID dedicati così da evitare la contaminazione tra utenti.
Performance & memoria (issue #50-#53): #50 applica il downsampling prima del rendering di ogni grafico riducendo drasticamente i tempi di disegno; #51 razionalizza le .copy() per evitare copie inutili mantenendo la protezione dei dati in cache; #52 centralizza il parsing delle colonne temporali così da eseguirlo una sola volta per sessione; #53 aggiunge l’ottimizzazione dei dtypes post-caricamento con configurazione da config.json, dimezzando l’impronta RAM sui dataset grandi.
Observability e manutenzione (issue #54-#56): #54 ristruttura il logger principale assicurando context (session_id, file_size) e stacktrace completi; #55 introduce metriche di telemetria sulla cache per monitorare l’hitr ate; #56 sostituisce il file temporaneo fisso con tempfile.mkstemp() e cleanup garantito anche in caso di eccezioni.