Les rapports de liaison se cassent lorsqu'ils sont placés dans un message sous forme de lien avec du texte

Le rapport de @nathank s’est concentré sur la chose de niche spécifique qu’ils faisaient lorsqu’ils ont rencontré le bug. Cependant, le bug n’est en aucun cas spécifique à Data Explorer. Je crains que l’orientation trop étroite du rapport et l’utilisation de la balise data-explorer non pertinente (la balise appropriée serait composer) ne rendent difficile son interprétation par l’équipe Discourse, ou qu’elle ne reçoive pas l’attention appropriée.

La faute se produit universellement dans les conditions suivantes :

  • L’URL contient du contenu encodé en pourcentage
  • Le lien est ajouté au message via la boîte de dialogue « Insérer un lien ».

L’URL est toujours corrompue dans ces conditions.

Étapes reproductibles :

  1. Ouvrez l’URL suivante dans votre navigateur Web :
    https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
    (notez que l’URL contient l’encodage en pourcentage du caractère ', %27)
    :slightly_smiling_face: La page attendue s’ouvre.
  2. Cliquez sur l’icône « Lien » dans l’éditeur de publication.
    La boîte de dialogue « Insérer un lien » s’ouvrira.
  3. Entrez l’URL ci-dessus dans le champ « Lien ou sujet » de la boîte de dialogue.
  4. Cliquez sur le bouton « Insérer ».

:bug: La cible du lien ajouté par la procédure ci-dessus est incorrecte :
https://en.wikipedia.org/wiki/Horncastle_boar%2527s_head

au lieu de l’URL correcte :
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head

Le lien ne mènera pas à la page prévue.

Cela s’est produit parce que le caractère % de l’encodage en pourcentage %27 a été encodé de manière redondante, provoquant le remplacement du % par son propre encodage en pourcentage %25, ce qui a corrompu le contenu de l’URL correcte %27 en %2527.

Plateforme :

Système d’exploitation

  • Windows 11

Navigateur

  • Google Chrome 139.0.7258.128

Discourse

12c80d43adeb87cc18604ace0430a75d277d7662

Contexte supplémentaire :

Je suis en mesure de reproduire la faute sur try.discourse.org en « mode sans échec ».


La faute se produit dans les deux modes de l’éditeur.

2 « J'aime »