Recuperare gli errori transitori e le chiavi di superficie guasto (non falsi passanti)

FixTranslateService
Spegnimento
10 maggio 2026 alle ore 04:33 UTC
Autore
Kamo
Impegno
c0a87b7

Due modalità di guasto sono stati indistinguibili nella risposta, quindi lo script non poteva dir loro a parte e tenuto "tradurre" le stesse chiavi di inglese su ogni corsa di sincronizzazione, con sottoinsiemi casuali che riescono a causa di cui esatto La richiesta di LibreTranslate è avvenuta durante un riavvio del lavoratore: 1. Provider errored (timeout, 5xx, connessione rifiutata mid-restart) 2. Il Fornitore è riuscito ma ha restituito la fonte invariata (legit "no traduzione necessaria" — nomi propri, marchi, ecc.) Entrambi hanno finito per scrivere la fonte come la traduzione. Modifiche: * LibreTranslateProvider / BergamotProvider: 3 tentativi con 1s/3s backoff per guasti transitori (5xx, 429, timeout, connessione errori); 4xxx (non-429) si propaga immediatamente perché riprogettare la richiesta malformata non aiuterà mai. Per-call richiesta timeout = 30s. Lancia l'esaurimento di riprovazione invece di restituire il testo sorgente. * ProviderRouter: ora distingue "ogni fornitore di supporto errored" (tenute) da "almeno una fonte di successo ma restituita" (passando legittimo — restituisce il testo). Nessun supporto invariato. E' una cosa che non va. cattura per-chiave eccezioni, li raccoglie in un nuovo elenco fallitoKeys sulla risposta, e omits chiavi fallite dai messaggi. * BatchTranslateResponse: aggiunge campo di Keeys fallito. * translate.ts: reads failKeys, never writes those keys back, so l'apiTradotto [chiave]? esistente[chiave] fallo lascia il priore Valore inglese in vigore — che sulla prossima corsa soddisfa cur==enVal e ri-queues esattamente quelle chiavi per riprovazione. Test: aggiunti test di regressione per "tutti i provider errorid gets", "at almeno uno è riuscito con testo invariato restituisce il testo, "router fallthrough su errore primario transitorio", e TranslationService correttamente partizionamento in messaggi vs failKeys.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo