Senzoukria · Documentazione

Rapporti di arresto anomalo e ripristino: il consenso e la schermata di ripiego

Quando una schermata di Senzoukria Desktop va in errore durante il rendering, un error boundary sostituisce solo quella zona con una scheda «Questa schermata si è fermata» che offre Ricarica e Copia i dettagli. Un rapporto di arresto viene inviato solo se hai attivato i Rapporti di arresto nella pagina Account, e non contiene mai credenziali, posizioni o P&L.

Aggiornato a settembre 2026Pubblicato il 19 settembre 2026

In questa pagina
  1. Dove trovarlo
  2. Che cosa fa
  3. Impostazioni
  4. Che cosa contiene il rapporto
  5. Come si usa
  6. Limiti e trappole
  7. Pagine correlate
  8. Nella stessa sezione
  9. Questa pagina in altre lingue
  10. Domande frequenti

Dove trovarlo

Dove
Pagina Account → Preferenze → Rapporti di arresto anomalo (casella On / Off)
Predefinito
Off. Nulla viene inviato finché non lo attivi
Endpoint
POST https://senzoukria.com/api/crash, timeout 5 s, silenzioso in caso di errore
Payload
kind, message (max 1.000 caratteri), stack (max 4.000 caratteri), appVersion, platform, timestamp

Che cosa fa

Due meccanismi lavorano insieme. Il primo è un error boundary React posto attorno a ogni zona protetta dell'applicazione. Se un componente di quella zona va in errore durante il rendering, React smonterebbe l'intero albero lasciando una finestra nera; il boundary lo intercetta, registra l'errore nella console con lo stack dei componenti e disegna una scheda al posto della zona. Il resto dell'applicazione continua a funzionare: il feed dati e la connessione broker restano intatti.

Il secondo è il reporter di arresti. Quando il boundary intercetta un errore di rendering, o quando un gestore globale vede una promise rifiutata o un errore non intercettato fuori da React, viene assemblato e inviato un rapporto, ma solo se hai dato il consenso. L'impostazione è salvata in locale sotto un'unica chiave; assente significa nessun consenso. L'invio è fire-and-forget: la schermata di errore non viene mai ritardata dalla richiesta, e un invio fallito fallisce senza alcun popup.

Impostazioni

La preferenza sui rapporti di arresto e i pulsanti della scheda di ripiego
ComandoPredefinitoChe cosa cambia
Rapporti di arresto anomalo (pagina Account)OffCon On, un arresto invia a senzoukria.com la versione, la piattaforma e la traccia dell'errore. Con Off nulla lascia la macchina; la console e il pulsante di copia funzionano comunque
Ricarica—Ricarica la finestra (window.location.reload). Gli store salvati si reidratano dall'archiviazione locale; la connessione broker vive nel backend e non viene azzerata
Copia i dettagli—Copia negli appunti il messaggio di errore, il suo stack e lo stack dei componenti React; l'etichetta passa a Copiato. Un errore degli appunti viene ignorato invece che mostrato

Che cosa contiene il rapporto

Il payload ha sei campi: kind (panic per il lato Rust, render per un errore di rendering React, unhandled per una promise rifiutata o un errore non intercettato), message, stack, appVersion, platform e il timestamp. Il messaggio è tagliato a 1.000 caratteri e lo stack a 4.000, conservando i frame più alti, quelli che portano l'informazione.

Prima di entrare nel payload, message e stack passano da un filtro che maschera le chiavi API delle IA, i token Bearer e Basic, i percorsi utente Windows e Unix (delimitati al separatore di percorso, così un nome account Windows di due parole non lascia trapelare la seconda metà), gli indirizzi email e le coppie chiave/valore sensibili come password, token, api_key, user_id, unique_user_id, login o account. Un test fissa questi pattern con le forme reali che assumono nei messaggi di errore dell'applicazione. Credenziali del broker, nome del conto, posizioni, P&L, simboli negoziati e chiave IA non fanno mai parte del rapporto.

Un freno conserva un solo rapporto per firma distinta (kind più i primi 200 caratteri del messaggio ripulito) e al massimo cinque firme distinte per sessione, così un ciclo di rendering che va in errore a ogni frame non produce centinaia di richieste.

Come si usa

  • Se una schermata mostra «Questa schermata si è fermata», clicca prima Ricarica. Se si ripete, clicca Copia i dettagli e incolla il testo in una segnalazione dalla schermata Segnala un problema, che allega automaticamente anche le ultime righe di errore.
  • Attiva i Rapporti di arresto nella pagina Account se vuoi che gli errori di rendering e quelli non intercettati arrivino agli sviluppatori senza alcuna azione da parte tua. L'etichetta accanto alla casella dice esattamente che cosa viene inviato e che cosa no.
  • La schermata Segnala un problema è un canale separato e volontario, con messaggi di errore visibili; il reporter di arresti è automatico e silenzioso per scelta.

Limiti e trappole

  • Il boundary copre gli errori di rendering della sua zona. Gli errori nei callback degli eventi, nei timer e negli import dinamici sono intercettati dai gestori globali, che li riportano ma non mostrano la scheda.
  • Il consenso è una singola chiave di archiviazione locale su questa macchina; un profilo nuovo, un'archiviazione svuotata o un'archiviazione che l'app non riesce a leggere significano tutti nessun consenso, quindi non viene inviato nulla.
  • Il rapporto è inviato al dominio canonico con un timeout di 5 secondi; se la macchina è offline il rapporto viene scartato, non messo in coda.

Nella stessa sezione

Questa pagina in altre lingue

Domande frequenti

Un arresto di un pannello fa cadere la mia connessione broker?
No. La connessione è tenuta dal processo di backend. La scheda sostituisce solo la zona andata in errore, e Ricarica ricarica la finestra mentre la connessione resta com'era.
I rapporti di arresto vengono inviati automaticamente?
Solo dopo che hai attivato i Rapporti di arresto nella pagina Account. Il valore predefinito è Off e resta Off finché non lo cambi. Anche con On, credenziali, posizioni, P&L e chiavi vengono rimossi prima dell'invio.
Qual è la differenza fra un rapporto di arresto e una segnalazione di problema?
Un rapporto di arresto è automatico, minimale e silenzioso in caso di errore. Una segnalazione di problema la scrivi tu nella schermata Segnala un problema, mostra che cosa allega e ti dice se l'invio è fallito.
NEXT

Continua a leggere