優先度/重大度:
中
プラットフォーム
| OS |
ブラウザ |
| Windows 11 |
Google Chrome 112.0.5615.138 |
| Ubuntu 22.04 |
Google Chrome 112.0.5615.49 |
| macOS Ventura |
Google Chrome 112.0.5615.137 |
(すべてデスクトップ)
説明:
以下の条件下で、投稿内のBBCode url タグが正しくレンダリングされません。
- タグで囲まれたテキストがURLで終わる
- そのURLがホストコンポーネントの後にコンポーネントを持つ(つまり、パス、クエリ、および/またはフラグメント)
再現手順:
以下のマークアップを含む投稿を作成します。
[url]http://example.com/[/url]
マークアップが期待どおりにレンダリングされません。

期待される動作:
マークアップは次のようにレンダリングされるべきです。

追加コンテキスト
try.discourse.org の “セーフモード” でこの問題を再現できました。
パスで終わるURLのテキストの誤処理の追加例:
マークアップ:
[url]http://example.com/foo[/url]
[url]http://example.com/foo/[/url]
[url=http://example.com/]http://example.com/[/url]
[url=http://example.com/]foo http://example.com/[/url]
レンダリング:
Old url markup not migrated to new forum - Website and Forum - Arduino Forum で最初に報告されました。
このマークアップが正しくレンダリングされていた時期(SMF フレームワークから Discourse への移行前)に作成された投稿が多数あります。
「いいね!」 3
sam
(Sam Saffron)
2
これはコアバグとして確認されており、今後数週間で修正する予定です。
具体的には、
[url]http://example.com[/url] は機能しますが、[url]http://example.com/example[/url] は末尾にスペースを追加しない限り機能しません [url]http://example.com/example [/url] 。
デバッグを開始したところ、エスケープルールが原因でパーサーがトリップしているようです。修正いたしますので、ご報告ありがとうございました。
「いいね!」 5
david
(David Taylor)
7
このコードにはあまり詳しくありませんが、ざっと見てみました。自動リンクシステムに関係していると思います。パーサーが終了URLタグ [/url] を探す頃には、それはすでに自動リンクに組み込まれています。
例:ここの自動リンクが http://example.com/foo%5B/url%5D になっていることに注意してください。
http://example.com/foo
だから、スペースを追加すると役立つのは、自動リンクに [/url] が含まれるのを防ぐためです。

「いいね!」 6
sam
(Sam Saffron)
9
以下のように修正しました。
レビュー/マージをどうぞ。これは非常に複雑な修正です @per1234 なぜなら、以下のようなクレイジーなものもサポートしているからです。
[url][b]www.site.com[/b][/url]
「いいね!」 5
sam
(Sam Saffron)
13
これで全て修正されました 
[url]http://example.com/foo[/url]
[url]http://example.com/foo/[/url]
[url=http://example.com/]http://example.com/[/url]
[url=http://example.com/]foo http://example.com/[/url]
http://example.com/foo
http://example.com/foo/
http://example.com/
foo http://example.com/
@per1234
修正は既にデプロイされているはずです。問題なく動作しているか教えてください!
ご報告ありがとうございました!
「いいね!」 1
sam
(Sam Saffron)
クローズされました:
15
このトピックは5日後に自動的に閉じられました。返信はもう許可されていません。