Les résultats de recherche ne sont pas mis en évidence dans certaines langues

Bonjour ! Dans mon installation de Discourse 2.5.0.beta1, la mise en surbrillance des mots-clés recherchés dans les résultats de recherche ne fonctionne pas lorsque la recherche est effectuée dans une langue autre que l’anglais.
Est-ce un bug ou une fonctionnalité ?)
Merci

Que attend-on ici, @sam ?

Nous ne mettons en évidence que les mots complets. Cela ressemble à un mot incomplet.

Bonjour ! En attendant que le mot-clé trouvé soit mis en évidence comme ceci :

Désolé, pas dans ce cas :

@vinothkannans, peux-tu jeter un coup d’œil rapide à :

@smith, peux-tu publier ici le mot grec exact ? (Je pense que c’est du grec). Cela pourrait être un bug dans notre bibliothèque JavaScript de surlignage.

Ceci est du cyrillique, bien qu’il soit basé sur le grec. Voici un exemple :

Car il a plu au Saint-Esprit et à nous de ne vous imposer aucun fardeau de plus que ces choses nécessaires :
vous abstenir des viandes sacrifiées aux idoles, du sang, de la chair étouffée et de la fornication. Vous ferez bien de vous en garder. Soyez en bonne santé.

Le problème vient du plugin jQuery Highlight. Pour mettre en surbrillance les mots, il utilise l’expression régulière de limite de mot \b, qui n’est pas prise en charge pour les caractères Unicode.

https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed

(?<=[\s,.:;"']|^)MOT_UNICODE(?=[\s,.:;"']|$)

Il semble qu’il s’agisse d’une solution possible :thinking:

Je pense que @gerhard a déjà traité ce problème spécifique lié aux noms d’utilisateurs Unicode (du moins, je m’en souviens vaguement).

Je suis ravi de voir une correction ici, mais nous devons être extrêmement prudents pour s’assurer que l’expression rationnelle choisie ne présente pas des performances pathologiquement mauvaises dans certains cas où le texte est long ou particulièrement problématique. De plus, je pense qu’en chinois, nous ne nous soucions même pas des limites de mots ?

Création d’une nouvelle PR avec la correction