投稿にテキスト付きリンクとして挿入するとレポートのリンクが壊れる

これは少し奇妙な問題ですが、テキストに関連付けられた投稿内のリンクの問題を浮き彫りにしています。

もし私が以下を行った場合:

  1. 変数を持つデータエクスプローラークエリを作成する
  2. それをグループに割り当てる
  3. グループのレポートタブ経由でURLにアクセスする
  4. 変数を追加してクエリを実行する
  5. URLをコピーして投稿内のテキストに追加する

すると、URLが破損/壊れます。

私が観察したのは次のとおりです。

  1. これは、このように作成されたリンクの例です(プライベートですみません):
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%7B%22topic_id%22%3A%2234521%22%7D
  2. このリンクをここにテキストに追加すると、URLエンコーディングで何かがおかしくなり、次のようになります。
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%257B%2522topic_id%2522%253A%252234521%2522%257D

そして、それはサイトを素晴らしく壊します!

リンクを投稿に単純に貼り付けた場合、これは発生しません。テキストに追加した場合にのみ発生します。そのため、既存のエンコーディングに遭遇したときに何かがおかしくなるのだと思います。

@nathank のレポートは、バグが発生した際に偶然行っていた特定のニッチな作業に焦点を当てていました。しかし、このバグは Data Explorer に固有のものではありません。レポートの焦点が過度に狭く、不適切な data-explorer タグ(適切なタグは composer であるべきです)が使用されているため、Discourse チームが解釈するのが困難になったり、適切な注意が払われなかったりするのではないかと懸念しています。

以下の条件下で、普遍的に障害が発生します。

これらの条件下では、URL は常に破損します。

再現手順:

  1. 以下の URL をウェブブラウザで開きます。
    https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
    (URL には ' 文字のパーセントエンコーディング %27 が含まれていることに注意してください)
    :slightly_smiling_face: 期待されるページが開きます。
  2. ポストコンポーザーの「リンク」アイコンをクリックします。
    リンクを挿入」ダイアログが開きます。
  3. ダイアログの「リンクまたはトピック」フィールドに上記の URL を入力します。
  4. 挿入」ボタンをクリックします。

:bug: 上記の手順で追加されたリンクのターゲットは正しくありません。
https://en.wikipedia.org/wiki/Horncastle_boar%2527s_head

正しい URL の代わりに:
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head

リンクは意図したページにつながりません。

これは、パーセントエンコーディング %27% 文字が冗長にエンコードされ、% がそれ自体のパーセントエンコーディング %25 に置き換えられたため、正しい URL コンテンツ %27%2527 に破損したためです。

プラットフォーム:

オペレーティングシステム

  • Windows 11

ブラウザ

  • Google Chrome 139.0.7258.128

Discourse

12c80d43adeb87cc18604ace0430a75d277d7662

追加コンテキスト:

セーフモード」の「try.discourse.org」で、この障害を再現できます。


どちらのコンポーザーモードでも障害が発生します。

「いいね!」 2

はい、再現できます。ただし、リンクモーダルを使用した場合のみですよね?(問題の範囲を確認するためです)

直接貼り付けた場合:https://en.wikipedia.org/wiki/Horncastle_boar’s_head 、または選択範囲の上にURLを貼り付けた場合は、期待どおりに機能します。

編集:または…ほぼ。直接URLはデコードされます:https://en.wikipedia.org/wiki/Horncastle_boar’s_head 、これも予期しない動作であり、インラインワンボクシングを回避します。

ご報告ありがとうございます!

「いいね!」 3

はい、その通りです。

「いいね!」 1

その通りでした。コンポーザーのリンクモーダルにおける、より広範なリンクエンコーディングの問題であるとは気づきませんでした。

あなたの良い点と調査を反映するように、タイトルとタグを編集しました!

「いいね!」 2

これは以下で修正されたと思います。


結果は次のようになります。
[Horncastle boar's head](https://en.wikipedia.org/wiki/Horncastle_boar's_head)
:white_check_mark:

「いいね!」 3

はい、これをいじったのを覚えています。これで閉じても良いと思います!

「いいね!」 3

このトピックは4日後に自動的に閉じられました。返信はもう許可されていません。