Firepup650
(Firepup Sixfifty)
Mai 17, 2024, 3:09
1
Exemples, avec des données de canal fictives :
Cette citation fonctionne bien
Cette citation ne fonctionne pas bien
2 « J'aime »
Merci pour le rapport @Firepup650
Je suppose qu’il était temps que nous le fassions enfin
closed = true;
break;
}
}
if (closed) {
length = i - start + 1;
let raw = src.slice(start + tag.length + 1, i);
// trivial parser that is going to have to be rewritten at some point
if (raw) {
let match, key, val;
while ((match = ATTR_REGEX.exec(raw))) {
if (match[1]) {
key = "_default";
} else {
key = match[4];
}
Cela sera corrigé une fois que cette PR aura été examinée et fusionnée
main ← fix-bbcode-parser
opened 08:48AM - 24 May 24 UTC
Wasn't quite handling the cases where a closing bracket `]` was used in the valu… e of one of the attributes.
```markdown
[chat quote=user channel="[broken]"]
```
Would not be correctly parsed because we would _greedily_ use the first `]` as the end of the tag even though it might be a valid character when inside proper quotes.
https://github.com/discourse/discourse/blob/c39a4de139ed9bba4696d44b15cb7569038b5fde/app/assets/javascripts/discourse-markdown-it/src/features/bbcode-block.js#L62
Re-wrote the `parseBBCodeTag` to properly handle the following cases
- A closing tag (aka `[/name]`) which are easy since they don't have any attributes
- An old `[quote=...]` format we used that doesn't uses quotes but still has various attributes of the form `key:value`
- All three valid BBCode opening tag formats we support
- `[name]` without any attributes
- `[name=foo]` with a default value
- `[name foo=bar]` with some attributes
Ended up having to fix/rewrite the few bbcode rules that were using the `parseBBCodeTag` function, namely `d-wrap` and `discourse-local-dates`.
While working on this, I think I also found a way to get rid the of shims we had in place so that plugins could use the `parseBBCodeTag` function.
Reference - https://meta.discourse.org/t/having-a-right-bracket-in-a-channel-name-breaks-all-quotes-from-that-channel/308439
1 « J'aime »
J’ai rencontré ce problème/cette solution après avoir trouvé un bug lié aux téléchargements de fichiers. Si un nom de fichier contient le caractère ‘]’ sans ‘[’ précédent, cela casse le formatage et ne génère pas le lien. Je soupçonne que la correction de l’analyseur BBCode ici résoudra également ce problème, mais je le mentionne au cas où ceux-ci seraient analysés ailleurs.
PR a été fusionné, déployé ici, et OP a été regénéré
3 « J'aime »
JammyDodger
A fermé ce sujet ()
Juin 21, 2024, 10:43
18
Ce sujet a été automatiquement fermé après 3 jours. Les nouvelles réponses ne sont plus autorisées.