Skip to content

2.2.6: miniature, personaggio, aggiornamenti e prove che fermano la release - #10

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/correzioni-registro-fc02
Nov 3, 2026
Merged

cursor[bot] merged 1 commit into
mainfrom
cursor/correzioni-registro-fc02

Conversation

@cammo22

@cammo22 cammo22 commented Nov 3, 2026

Copy link
Copy Markdown
Owner

Cosa c'era nel registro

Sul PC, in %LocalAppData%\DaProd\Convertitore\registro*.txt, tornavano sempre gli stessi errori. Qui c'è la causa di ognuno e la correzione.

  • Miniature dei .docx. Disegnando la pagina (e le diapositive) si metteva MaxLineCount = 0. WPF accetta solo un numero maggiore di zero e lancia ArgumentOutOfRangeException. Zero voleva dire «quante righe ci stanno in altezza»: ora si usa il valore senza limite (int.MaxValue). Se aprire lo zip fallisce per un motivo che non è «non è uno zip», si scrive una riga nel registro, non un errore rosso.
  • «Scegli il personaggio». Chiudendo la finestrella (X o Esc) arriva anche Deactivated, che richiamava Close() mentre la finestra era già in chiusura: InvalidOperationException. Ora la chiusura si segna e il secondo Close non parte.
  • Lucchetto .velopack_lock. Il ciclo in background e il tasto «Cerca aggiornamenti» (o l'installazione) creavano due UpdateManager insieme. Velopack tiene un lucchetto esclusivo e il secondo fallisce con «Failed to acquire exclusive lock». Ora i controlli passano da una porta: uno alla volta. All'installazione il lucchetto si lascia prima del riavvio, così la chiusura non si blocca ad aspettarlo.
  • 403 «rate limit exceeded». GithubSource senza token interroga api.github.com (60 richieste l'ora). Ora si legge releases.win.json allegato alla release (/releases/latest/download), che non passa da quell'API. Se GitHub chiede comunque di aspettare, o se manca la rete, o se il lucchetto è di un altro processo, non è un errore rosso: si riprova più tardi (dopo un limite, dopo 6 ore, non ogni 20 minuti). L'avviso resta il badge nella barra in alto; dopo l'aggiornamento le novità si aprono da sole, come prima.
  • stimaImmagine annullata. Spostando lo slider la stima vecchia si ferma (TaskCanceledException) e il ponte la scriveva come errore. Una cancellazione non va nel registro; la pagina riceve comunque la risposta, così la richiesta non resta appesa.
  • Ponte lasciati. In Ricevi (async void) il ramo dei file trascinati stava fuori dal try: un'eccezione lì chiudeva l'app. Ora è dentro, anche nel lettore. Un messaggio che non è JSON si ignora, come prima.

Versione 2.2.6.

Prove

ProveRobustezza: zero righe non diventa mai MaxLineCount a 0, il feed non è api.github.com, il 403 e il lucchetto non sono un guasto (il 404 sì), la stima annullata non va nel registro, due controlli non corrono insieme e dopo un errore la porta si riapre.

In questa macchina (Linux) quelle prove passano, e l'app compila con EnableWindowsTargeting. L'app vera, WPF, qui non si apre.

CI

  • .github/workflows/prove.yml: su ogni pull request compila l'interfaccia e l'app ed esegue le prove. Se sono rosse non si unisce.
  • .github/workflows/rilascio.yml: tolto continue-on-error. Una prova rossa non pubblica più la release. LibreOffice e HEIF, se mancano, fanno uscire da sola la prova che li usa (già così nel codice), non la fanno fallire.

Da provare a mano

  • Una miniatura di un .docx con tanto testo (come «Hyperrealistic cinematic view.docx») in Esplora file, e nel registro niente ArgumentOutOfRangeException
  • Tasto destro sull'avatar → Scegli il personaggio: chiudere con la X, con Esc e cliccando fuori, senza errore nel registro
  • Con l'app installata, lasciare aperto il programma e aprire le novità → Cerca aggiornamenti: niente «exclusive lock» e niente 403 rosso
  • Lo slider del peso di una foto, mosso in fretta: niente TaskCanceledException nel registro
  • Trascinare un file nella finestra: entra in coda
  • Se c'è un aggiornamento, il badge sta nella barra in alto (non in un menu) e dopo l'installazione le novità si aprono da sole
Open in Web Open in Cursor 

…ti in fila e prove che fermano la release

I .docx non chiedono più zero righe a WPF, la scelta del personaggio non richiama Close mentre si chiude, i controlli aggiornamento vanno uno alla volta sul file della release (niente API di GitHub e niente errore rosso sul 403), e una stima annullata non finisce nel registro. Le pull request compilano e provano; una prova rossa non pubblica più la release.

Co-authored-by: Cammo <cammo22@users.noreply.github.com>
@cursor
cursor Bot merged commit 975fbdc into main Nov 3, 2026
1 check passed
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.

2 participants