Imagens em um chat ampliado não podem ser abertas após o envio de uma mensagem com a imagem

Passos para reprodução:

1. Ampliar chat:

2.1. Postar uma mensagem com uma imagem de tamanho médio a grande, para que você espere um pop-up com uma imagem maior se clicar nela na mensagem.

OU

2.2. Receber tal mensagem de outras pessoas no chat.

3. Clicar na imagem. Ela não abrirá.

Solução alternativa:

4. Atualizar a página no navegador.

5. Clicar na imagem - agora ela abrirá um pop-up com uma imagem de tamanho maior.

2 curtidas

Isso é uma regressão recente, pelo que sei?

1 curtida

Sim, eu também vi isso hoje. Tenho certeza de que é uma regressão recente.

1 curtida

Eu acho que o problema está aqui:

api.decorateChatMessage(
      (element) =>
        lightbox(element.querySelectorAll("img:not(.emoji, .avatar)")),
      {
        id: "lightbox",
      }
    );

Antes, api.decorateChatMessage estava passando o elemento .chat-message-container:

Depois, ele passa o elemento .chat-cooked:

Com as imagens definidas dentro de chat-message-collapser-body, o lightbox não consegue encontrar as imagens aqui.

Alterações introduzidas aqui: DEV: Refactor chat HTML decorating (#31309) · discourse/discourse@a0f681b · GitHub

4 curtidas

Sim, desculpe por você não ver, é um sussurro, mas eu já chamei o @david sobre isso. Eu também acho que isso está relacionado a essa mudança recente.

Obrigado por verificar, eu ainda não tive tempo de provar minha teoria :+1:

4 curtidas

Obrigado @meglio e @Arkshine!

Limitar o "decorate cooked" normal apenas ao conteúdo da mensagem é intencional. Mas adicionamos uma lógica específica de lightboxing que deveria lidar com as imagens. Parece que isso não estava lidando com o caso em que a imagem original é substituída pela versão otimizada.

Correção aqui:

6 curtidas

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