Firepup650
(Firepup Sixfifty)
17. Mai 2024 um 15:09
1
Beispiele mit gefälschten Kanal-Daten:
Dieses Zitat funktioniert einwandfrei
Dieses Zitat funktioniert nicht einwandfrei
2 „Gefällt mir“
Vielen Dank für den Bericht @Firepup650
Ich schätze, es war an der Zeit, dass wir es endlich getan haben
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];
}
Dies wird behoben sein, sobald dieser PR überprüft und zusammengeführt wurde
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 „Gefällt mir“
Beim Beheben eines verwandten Fehlers bei Datei-Uploads bin ich auf dieses Problem/diese Lösung gestoßen. Wenn ein Dateiname das Zeichen ‘]’ ohne ein vorangestelltes ‘[’ enthält, wird die Formatierung unterbrochen und der Link nicht generiert. Ich vermute, dass die Behebung des BBCode-Parsers hier dieses Problem ebenfalls beheben wird, aber ich erwähne es für den Fall, dass diese woanders analysiert werden.
PR wurde zusammengeführt, hier bereitgestellt und OP wurde neu gebacken
3 „Gefällt mir“
Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.