报告链接在帖子中作为带文本的链接时断开

@nathank 的报告集中在他发现 bug 时碰巧在做的具体细微的事情上。然而,这个 bug 与 Data Explorer 毫无关系。我担心报告的焦点过于狭窄,并且使用了不相关的 data-explorer 标签(正确的标签应该是 composer),这可能会导致 Discourse 团队难以理解,或者无法得到应有的关注。

在以下条件下,错误普遍发生:

  • URL 包含 百分比编码 的内容
  • 通过“插入链接”对话框将链接添加到帖子中。

在这种情况下,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 个赞