Repository navigation
Corrige l'analyse des traductions contenant trois points (« ... ») - #104
Closed
clementpolito wants to merge 3 commits into
Closed
clementpolito wants to merge 3 commits into
clementpolito wants to merge 3 commits into
Conversation
Depuis la 3.1.0, la fonction de remplacement lisait la position et la chaîne d'origine en deuxième et troisième arguments. Le groupe capturant de rgxPeriod décale ces arguments : isInsideHtmlTag recevait alors un nombre et levait une TypeError, ce qui interrompait l'analyse de la page dès qu'une traduction contenait trois points ou un point mal espacé. Les arguments sont désormais lus à partir de la fin.
Trois points successifs étaient détectés par la règle des points de suspension, dont le message porte sur l'espacement. Ils ont désormais leur propre règle, dont l'infobulle invite à utiliser le caractère points de suspension (…).
Ajoute aux Known pitfalls de ARCHITECTURE.md le décalage des arguments de la fonction de remplacement de String.prototype.replace() lorsqu'une regex contient un groupe capturant, à l'origine de la régression de la 3.1.0 sur les « ... ».
Merged
Member
|
Merge dans la PR #88 qui vient d'être merge dans la release 3.1.1, je ferme ici. Merci Clément :) |
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.
Récap de ce que la PR
Depuis la 3.1.0, une traduction contenant trois points (« ... »), un point précédé d'une espace ou un point suivi d'une espace finale interrompt l'analyse de la page : SPTE lève une
TypeError(e.lastIndexOf is not a function), les traductions suivantes ne sont pas analysées et le bandeau de statistiques ne s'affiche pas.Cause : dans
checkTranslation, la fonction de remplacement passée àreplace()lit la position et la chaîne d'origine en deuxième et troisième arguments. Le groupe capturant dergxPerioddécale ces arguments, etisInsideHtmlTagreçoit un nombre au lieu d'une chaîne. Les trois points déclenchent également la règle du point, car l'infobulle du surlignage des points de suspension contient « ... » précédé d'une espace.Changements
entrypoints/spte.content.js: la position et la chaîne d'origine sont lues à partir de la fin des arguments de la fonction de remplacement, quel que soit le nombre de groupes capturants.utils/rules.js: les trois points successifs ont leur propre règle (asciiEllipsis), dont l'infobulle indique « Trois points au lieu du caractère points de suspension (…) ». Ils étaient jusqu'ici signalés avec le message relatif à l'espacement. La règle reste « à vérifier » et compte toujours dans « Caractères à vérifier ».tests/spte.content.test.js,utils/regex.test.js: tests de non-régression (échouent sans le correctif) et tests de la nouvelle règle..claude/ARCHITECTURE.md: ajout du piège aux « Known pitfalls ».À tester
npm run build:firefox, puis charger.output/firefox-mv3/manifest.jsonviaabout:debugging.Proposition de lignes pour le CHANGELOG (section
Fixed) :Remarques
La PR 3.1.1 #88 (WIP 3.1.1) conserve la lecture des arguments à position fixe et ne corrige donc pas ce problème.
.claude/rules/changelog.mddemande encore de mettre à jour le CHANGELOG à chaque commit, ce qui contredit la nouvelle consigne deCONTRIBUTING.md.npm testetnpm run lintpassentIssue(s) liée(s) : Closes #103