URLを貼り付けると、スペースとして正しく使用されている場合に文字が不適切に処理される

Pasted URLs in Rich Text Editor improperly escape tilde characterからの議論を続けます。

再現手順:

上記URLをエディタに貼り付けました。
https://frinklang.org/fsp/solve2.fsp?equations=a+%3D+3+b+%2B+c\u0026solveFor=\u0026f=\u0026ev=on\u0026sel_a=S\u0026val_a=\u0026sel_b=S\u0026val_b=\u0026sel_c=L\u0026val_c=299792458+m+s%5E-1\u0026resultAs=

リンクをクリックした際の正しい応答は次のとおりです。

しかし、DiscourseでレンダリングされたURLは次のとおりです。
https://frinklang.org/fsp/solve2.fsp?equations=a%2B%3D%2B3%2Bb%2B%2B%2Bc\u0026solveFor=\u0026f=\u0026ev=on\u0026sel_a=S\u0026val_a=\u0026sel_b=S\u0026val_b=\u0026sel_c=L\u0026val_c=299792458%2Bm%2Bs%5E-1\u0026resultAs=

+文字が%2Bに置き換えられていることに注意してください。これにより失敗し、次の結果が生成されます。

ハイパーリンクツールをテストします。

Discourse-Made-Hyperlink

DiscourseリンクツールでレンダリングされたURL:
https://frinklang.org/fsp/solve2.fsp?equations=a%2B%3D%2B3%2Bb%2B%2B%2Bc\u0026solveFor=\u0026f=\u0026ev=on\u0026sel_a=S\u0026val_a=\u0026sel_b=S\u0026val_b=\u0026sel_c=L\u0026val_c=299792458%2Bm%2Bs%5E-1\u0026resultAs=

これも失敗し、次のように表示されます。

何が問題なのか100%確信はありませんが、+文字が誤ってリテラルの+として処理されていることが原因だと思います。これはスペースであるべきです。

URLでスペースの代わりに+を使用することは標準に準拠しているため、この問題は同様に+文字を使用する他のサイトやシステムにも影響を与えている可能性があります。

その他、関連していると思ったが、今はそうではないと思う問題:

https://meta.discourse.org/t/links-produced-by-the-composer-link-modal-break-when-they-contain-a-27/376782/6