Rétrécissent les erreurs transitoires et les clés en panne de surface (ne pas faux pas glisse)

FixTranslateService
Shipped
10 mai 2026 à 04:33 UTC
Author
Kamo
Commit
c0a87b7

Deux modes de défaillance étaient indiscernables dans la réponse, donc le script Je ne pouvais pas les distinguer et continuer à "traduire" les mêmes clés de l'anglais sur chaque course de synchronisation, avec des sous-ensembles aléatoires qui succèdent en raison de laquelle exactement La demande de LibreTranslate est arrivée à la terre lors d'un redémarrage d'un travailleur: 1. Fournisseur d'erreurs (heure de mise en service, 5xx, connexion refusée à mi-redémarrage) 2. Le fournisseur a réussi mais est revenu la source inchangée (legit "non traduction nécessaire" - noms de marque, etc.) Tous deux ont fini par écrire la source comme la traduction. Changements: LibreTranslateProvider / BergamotProvider: 3 tentatives avec 1s/3 Dosage pour les défaillances transitoires (5xx, 429, temporisation, connexion les erreurs); 4xx (non-429) se propage immédiatement parce que le fait de se réessayer Une demande mal formée n'aidera jamais. Délai de demande par appel 30s. Jette l'épuisement à la réessai au lieu de renvoyer le texte source. FournisseurRouter : chaque fournisseur de soutien distingue désormais « tout fournisseur de soutien Erreur" (jets) de "au moins un successeur mais retourné source" (texte de passage légitime et de retour). Non-supports inchangés. - les captures par clé, par exception, les collecte dans une nouvelle liste de clés d'échec sur la réponse, et omet les clés infructueuses des messages. BatchTranslateResponse: ajoute le champ d'échecKeys. translate.ts: lit failedKeys, n'écrit jamais ces clés en arrière, donc la reconduction api Traduit [clés??????????????????????????????????????? Valeur anglaise en place - qui au cours de la prochaine course satisfait cur-enVal et re-veugle exactement ces clés pour réessayer. Essais: ajout d'essais de régression pour "tous les fournisseurs erronés", "à au moins un seul a réussi avec un texte de retour de texte inchangé, "routeur" face à l'erreur primaire transitoire", et TranslationService un cloisonnement correct en messages vs failedKeys.

All changes

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation