Finora la foto si poteva togliere solo prima di salvare la scheda.
- La X compare su tutte le foto (non in sola lettura, non mentre la foto e'
ancora in elaborazione). L'eliminazione avviene al salvataggio: uscendo
senza salvare le foto restano.
- Una foto gia' inviata si toglie prima dal server (nuovo endpoint
steup/removeAttachment), poi dal dispositivo e da Scheda.ImageNames. Senza
rete la X avvisa e non la toglie; se il server non conferma al salvataggio
la foto resta ovunque e compare un avviso.
- Una foto salvata ma non ancora inviata si elimina dal dispositivo (con la
rete si prova anche a toglierla dal server, senza bloccare).
- Togliere una foto salvata non la cancellava mai: il flag ToRemove finiva
su un elemento appena rimosso dall'elenco. Ora le foto tolte stanno in una
lista a parte fino al salvataggio; ToRemove e' stato eliminato.
- FileManager.GetInspectionFiles: le foto in /toUpload si filtravano per
nome, ma ImageNames contiene il percorso completo, quindi quelle salvate
senza rete non ricomparivano mai riaprendo la scheda. Ora si accetta sia il
percorso sia il nome, e il DTO porta anche i byte del file per l'invio.
Richiede i Servizi con steup/removeAttachment.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Le foto venivano zippate tutte in un unico allegato: oltre i 100 MB i servizi
rifiutavano l'invio (MaxUploadSizeExceededException) e, costruendo tutto in RAM
sul thread della UI, il dispositivo si bloccava.
- Invio diviso in più email da massimo ~40 MB ciascuna
- Zip scritti su disco una parte alla volta e caricati in streaming
- Preparazione in background, avanzamento "parte X di N"
- Richiesta se includere le foto, con il loro peso (default: solo i log)
- Database inviato insieme al file -wal
- Avviso subito se si è offline
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>