nathank
(Nathan Kershaw)
1
这是一个有点奇怪的小问题,但它突显了与文本关联的帖子中的链接存在问题。
如果我:
- 创建一个带有变量的数据浏览器查询
- 并将其分配给一个组
- 通过组的报告选项卡访问 URL
- 添加变量并运行查询
- 复制 URL 并将其添加到帖子中的文本中
那么 URL 将会损坏/失效。
我观察到的是:
- 这是创建的一个示例链接(抱歉是私有的):
https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%7B%22topic_id%22%3A%2234521%22%7D
- 当我将此链接添加到 some text here 时,URL 编码会出问题,我们得到这个:
https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%257B%2522topic_id%2522%253A%252234521%2522%257D
这就会导致网站无法正常运行!
如果我只是将链接粘贴到帖子中,就不会发生这种情况——只有当我将其添加到文本中时才会发生。所以我认为当它遇到一些现有的编码时,就会出现问题。
@nathank 的报告集中在他发现 bug 时碰巧在做的具体细微的事情上。然而,这个 bug 与 Data Explorer 毫无关系。我担心报告的焦点过于狭窄,并且使用了不相关的 data-explorer 标签(正确的标签应该是 composer),这可能会导致 Discourse 团队难以理解,或者无法得到应有的关注。
在以下条件下,错误普遍发生:
- URL 包含 百分比编码 的内容
- 通过“插入链接”对话框将链接添加到帖子中。
在这种情况下,URL 总是会被损坏。
可复现的步骤:
- 在您的网络浏览器中打开以下 URL:
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
(请注意,URL 包含 ' 字符的百分比编码 %27)
预期的页面已打开。
- 点击帖子撰写器上的“链接”图标。
将打开“插入链接”对话框。
- 在对话框的“链接或主题”字段中输入上述 URL。
- 点击“插入”按钮。
通过上述过程添加的链接目标不正确:
https://en.wikipedia.org/wiki/Horncastle_boar%2527s_head
而不是正确的 URL:
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
链接将无法导向预期的页面。
这是因为百分比编码 %27 的 % 字符被多余地编码了,导致 % 被其自身的百分比编码 %25 替换,从而将正确的 URL 内容 %27 损坏为 %2527。
平台:
操作系统
浏览器
- Google Chrome 139.0.7258.128
Discourse
12c80d43adeb87cc18604ace0430a75d277d7662
其他上下文:
我可以在 try.discourse.org 的“安全模式”下复现此错误。
在任一撰写器模式下都会发生此错误。
2 个赞
renato
(Renato Atilio)
3
3 个赞
nathank
(Nathan Kershaw)
5
是的,确实如此——我没有意识到这是作曲家链接模态的更广泛的链接编码问题。
我已经编辑了标题和标签,以反映你的好观点和挖掘!
2 个赞
sam
(Sam Saffron)
7
是的,我记得我曾处理过这个问题,我认为可以关闭了!
3 个赞