Aggiornamenti automatici
Come Prompt a Porter mantiene il software aggiornato e che controllo hai tu sul processo.
Disponibile da: v1.0.
In breve
- Prompt a Porter non si aggiorna da solo all'avvio. Il controllo aggiornamenti parte solo quando lo chiedi esplicitamente.
- I file di update arrivano direttamente da GitHub Releases (mai da server di terze parti).
- Ogni aggiornamento è firmato digitalmente: l'app verifica la firma prima di applicarlo. Se la firma non corrisponde, l'update viene rifiutato.
- Niente telemetria. Niente identificativi utente. Niente tracking degli aggiornamenti.
Come funziona
Quando vuoi sapere se c'è una versione nuova, vai in Impostazioni → Sviluppo → Aggiornamenti e clicca "Verifica aggiornamenti".
L'app contatta GitHub Releases, scarica un piccolo file di metadati (latest.json), verifica che sia firmato con la chiave del progetto, e ti dice:
- Sei aggiornato. Niente di nuovo, nessun bottone, nessun pop-up.
- C'è una versione più recente. L'app ti mostra la versione disponibile, la data di rilascio e le note di rilascio. Decidi tu se installare o no.
Se confermi, l'app scarica il nuovo binario, verifica anche quella firma, e applica l'update. A processo finito, l'app si chiude e si riavvia con la nuova versione.
Cosa NON fa l'app
- Non controlla aggiornamenti all'avvio. L'app parte, ti apre la libreria, non parla con internet senza un tuo gesto esplicito.
- Non scarica nulla in background. Niente download pre-emptivi, niente "applica al prossimo riavvio" silenzioso.
- Non invia analytics sul controllo update. L'unica chiamata web è il download del file
latest.jsonda GitHub Releases. - Non installa downgrade. Se per qualche motivo
latest.jsonindicasse una versione inferiore alla tua, l'app la ignora.
Come disabilitare il check
In Impostazioni → Sviluppo → Aggiornamenti c'è un toggle "Abilita verifica aggiornamenti". Se lo disattivi:
- Il bottone "Verifica aggiornamenti" sparisce.
- L'app non contatta mai GitHub Releases per i meta updates.
- Resti sulla versione installata fino a quando non aggiorni manualmente (vedi sotto).
Aggiornamento manuale
In qualsiasi momento puoi scaricare la versione più recente direttamente da:
https://github.com/robertomarchioro/prompt-a-porter/releases/latest
Asset disponibili (Windows):
- NSIS installer (
Prompt.a.Porter_X.Y.Z_x64-setup.exe) — installazione standard per-user senza UAC. Sostituisce la versione precedente preservando i dati. - MSI installer (
Prompt.a.Porter_X.Y.Z_x64_en-US.msi) — installazione system-wide (richiede privilegi admin). - Portable .zip — estrazione e uso senza installer. Manuale.
Per gli installer, fai doppio click e segui la procedura. I tuoi dati (vault, preferenze, log) restano intatti durante l'aggiornamento.
Privacy
Sull'aggiornamento automatico vale la regola del prodotto: i dati restano sul tuo computer.
- L'app non invia user-agent identificabili oltre lo standard del runtime HTTPS.
- Non c'è fingerprinting del sistema.
- GitHub registra normalmente gli accessi al repo (è un loro log standard, vale per qualunque visitatore della pagina release).
- Se questo livello di privacy non ti basta, disabilita il check (vedi sopra) e fai update manuali quando vuoi.
Sicurezza
Ogni file scaricato dall'updater è verificato in due passaggi:
- Firma Ed25519 del manifesto
latest.jsonconfrontata con la chiave pubblica del progetto, embedded nel binario installato. - Firma Ed25519 del binario stesso indicato nel manifesto.
Se una delle due verifiche fallisce, l'update viene rifiutato con errore. Niente "applica comunque" — niente bypass.
Inoltre il binario Windows è firmato Authenticode dalla CA Certum: Windows lo riconosce come pubblisher fidato e la prima esecuzione non mostra avvisi SmartScreen aggressivi.
Troubleshooting
"Errore di rete durante il controllo aggiornamenti"
Probabili cause:
- Connessione internet assente o intermittente.
- Firewall aziendale che blocca
github.comoobjects.githubusercontent.com. - DNS pubblico in fallimento.
Cosa fare: verifica la connessione, riprova. Se persiste, fai update manuale da github.com/robertomarchioro/prompt-a-porter/releases/latest.
"Firma non valida"
L'app ha scaricato latest.json o il binario ma la firma non corrisponde alla chiave attesa.
Cosa fare: non bypassare mai questo errore. Significa che qualcosa è andato storto fra GitHub e te (corruzione download, MITM, etc.). Fai update manuale dalla pagina release ufficiale.
"Update interrotto a metà"
Il download è iniziato ma si è interrotto.
Cosa fare: rilancia il check. L'updater non lascia file parziali installati. Se persiste, update manuale.
"Voglio tornare alla versione precedente"
L'updater non supporta il downgrade automatico (per sicurezza). Per tornare a una versione precedente:
- Disinstalla la versione corrente da Impostazioni Windows → App.
- Scarica la versione che vuoi da github.com/robertomarchioro/prompt-a-porter/releases (tutte le release sono permanenti).
- Installa.
I tuoi dati restano: il vault è in %APPDATA%\com.pap.app\, indipendente dalla versione dell'eseguibile.
"SmartScreen mi dice che l'eseguibile non è riconosciuto"
Capita nei primi giorni dopo il rilascio di una versione nuova (Microsoft "Reputation Building"): il nostro certificato è valido, ma la specifica versione del file non ha ancora abbastanza scaricamenti per essere classificata come "trusted" da SmartScreen.
Cosa fare: clicca "Maggiori informazioni" → verifica che il pubblisher sia "Open Source Developer, Roberto Marchioro" → "Esegui comunque". L'avviso sparisce dopo che il file ha qualche centinaio di download.
FAQ
D: L'app si aggiorna da sola di notte? R: No. Niente check automatici, niente background download. Tutto su tuo comando.
D: Posso usare PaP offline per sempre? R: Sì. Disabilita il check aggiornamenti e non lanciarlo mai manualmente. L'app funziona senza internet (eccetto i provider AI cloud che configuri tu, opzionali).
D: Cosa succede se cambia la chiave di firma del progetto? R: L'updater rifiuta gli aggiornamenti firmati con chiave diversa da quella che hai installato. Dovrai fare un update manuale "ponte" per saltare alla nuova chiave. Sarà comunicato chiaramente nella release.
D: Posso bloccare gli aggiornamenti per un mese? R: Sì. Disabilita il check dalle impostazioni. Riattiva quando vuoi controllare.
D: Gli aggiornamenti rompono i miei dati? R: No: il vault è in una cartella separata (%APPDATA%\com.pap.app\). Gli update aggiornano solo l'eseguibile. I dati restano. Eventuali migrazioni di schema database sono retro-compatibili e documentate nel CHANGELOG.
D: Posso aggiornare PaP installato in modalità portable? R: Per la versione portable serve sostituzione manuale: scarica la nuova .zip, sovrascrivi i file della cartella. Il check aggiornamenti dell'updater è disponibile anche in portable, ma il "Applica" richiede privilegi di scrittura nella cartella dove hai estratto il portable.
Riferimenti tecnici
Per dettagli tecnici (firma Ed25519, garanzie di sicurezza, policy applicata):
Manutenzione di questo documento
- Quando l'UI Impostazioni → Sviluppo → Aggiornamenti viene implementata (M1.4b): aggiornare §"Come funziona" con istruzioni precise + screenshot.
- Quando esce v1.0: rimuovere "Disponibile da v1.0" dal preambolo, è il default.
- Quando la chiave di firma viene ruotata: aggiornare §FAQ "cosa succede se cambia la chiave".