Repository navigation
2.2.6: miniature, personaggio, aggiornamenti e prove che fermano la release - #10
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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..docx. Disegnando la pagina (e le diapositive) si mettevaMaxLineCount = 0. WPF accetta solo un numero maggiore di zero e lanciaArgumentOutOfRangeException. 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.Deactivated, che richiamavaClose()mentre la finestra era già in chiusura:InvalidOperationException. Ora la chiusura si segna e il secondoClosenon parte..velopack_lock. Il ciclo in background e il tasto «Cerca aggiornamenti» (o l'installazione) creavano dueUpdateManagerinsieme. 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.GithubSourcesenza token interrogaapi.github.com(60 richieste l'ora). Ora si leggereleases.win.jsonallegato 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.stimaImmagineannullata. 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.lasciati. InRicevi(async void) il ramo dei file trascinati stava fuori daltry: 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 maiMaxLineCounta 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: toltocontinue-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
.docxcon tanto testo (come «Hyperrealistic cinematic view.docx») in Esplora file, e nel registro nienteArgumentOutOfRangeExceptionTaskCanceledExceptionnel registro