Relatórios vinculam quebra ao serem colocados em uma postagem como um link com texto

Este é um caso um tanto estranho, mas destaca um problema com links em postagens que estão associados a texto.

Se eu:

  1. criar uma consulta no explorador de dados com uma variável
  2. e atribuí-la a um grupo
  3. visitar o URL através da aba de relatórios do grupo
  4. adicionar a variável e executar a consulta
  5. copiar o URL e adicioná-lo a algum texto em uma postagem

então o URL é corrompido / quebrado.

O que observo é:

  1. Este é um link de exemplo criado assim (privado, desculpe):
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%7B%22topic_id%22%3A%2234521%22%7D
  2. Quando adiciono este link a algum texto aqui, algo dá errado com a codificação do URL e obtemos isto:
    https://ehealthforum.nz/g/HiNZ-staff/reports/128?params=%257B%2522topic_id%2522%253A%252234521%2522%257D

E isso quebra lindamente o site!

Se eu simplesmente colar o link na postagem, isso não acontece - é apenas quando o adiciono a um texto. Então, algo dá errado quando ele encontra alguma codificação existente, eu acho.

O relatório de @nathank focou na coisa específica de nicho que eles estavam fazendo quando encontraram o bug. No entanto, o bug não é de forma alguma específico do Data Explorer. Temo que o foco excessivamente restrito do relatório e o uso da tag irrelevante data-explorer (a tag apropriada seria composer) possam dificultar a interpretação pela equipe do Discourse ou que ele não receba a atenção apropriada.

A falha ocorre universalmente nas seguintes condições:

  • A URL contém conteúdo codificado em percentual
  • O link é adicionado à postagem através do diálogo “Inserir link”.

A URL é sempre corrompida nessas condições.

Passos reproduzíveis:

  1. Abra a seguinte URL no seu navegador:
    https://en.wikipedia.org/wiki/Horncastle_boar%27s_head
    (observe que a URL contém a codificação em percentual do caractere ', %27)
    :slightly_smiling_face: A página esperada abre.
  2. Clique no ícone “Link” no compositor de postagens.
    O diálogo “Inserir link” será aberto.
  3. Insira a URL acima no campo “Link ou tópico” do diálogo.
  4. Clique no botão “Inserir”.

:bug: O destino do link adicionado através do procedimento acima está incorreto:
https://en.wikipedia.org/wiki/Horncastle_boar%2527s_head

em vez da URL correta:
https://en.wikipedia.org/wiki/Horncastle_boar%27s_head

O link não levará à página pretendida.

Isso aconteceu porque o caractere % da codificação em percentual %27 foi codificado redundante, fazendo com que o % fosse substituído por sua própria codificação em percentual %25, resultando no conteúdo da URL correto %27 sendo corrompido para %2527.

Plataforma:

Sistema Operacional

  • Windows 11

Navegador

  • Google Chrome 139.0.7258.128

Discourse

12c80d43adeb87cc18604ace0430a75d277d7662

Contexto Adicional:

Consigo reproduzir a falha em try.discourse.org no “modo seguro”.


A falha ocorre em qualquer modo de compositor.

2 curtidas

OK, consigo reproduzir, mas exclusivamente ao usar o modal de link, certo? (Apenas para confirmar o escopo do problema)

Se eu colar diretamente: https://en.wikipedia.org/wiki/Horncastle_boar’s_head ; ou colar o URL sobre uma seleção, funciona como esperado.

EDIT: Ou… quase. O URL direto é decodificado: https://en.wikipedia.org/wiki/Horncastle_boar’s_head, o que também é inesperado e evita o oneboxing inline.

Obrigado pelo relatório!

3 curtidas

Sim, está correto.

1 curtida

Sim, focou - eu não percebi que era um problema mais amplo de codificação de links com a janela modal de links do composer.

Editei o título e a tag para refletir seus bons pontos e sua investigação!

2 curtidas

Acho que isso foi corrigido em

O resultado é
[Horncastle boar's head](https://en.wikipedia.org/wiki/Horncastle_boar's_head)
:white_check_mark:

3 curtidas

sim, lembro de ter mexido nisso, acho que está bom para fechar!

3 curtidas

Este tópico foi fechado automaticamente após 4 dias. Novas respostas não são mais permitidas.