Oneboxing de imagens grandes falha sem indicação visual

Executando Discourse 3.1.0.beta3 (7c6a8f1c74)

Estamos vendo um comportamento muito estranho com Onebox e imagens PNG / JPG.

Aqui está uma imagem que eu gostaria de usar o onebox: https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png

Ela deveria ser incorporada perfeitamente assim:

Mas em vez disso, a imagem aparece apenas como um link na postagem.

O console do navegador está mostrando um 404:

Alguns outros exemplos:

PNG pequeno:

https://dronescene.co.uk/images/uploads/fullsize/20211106095005_vlcsnap_2021_05_04_17h10m24s149.png


JPG grande:

https://dronescene.co.uk/images/uploads/fullsize/20230227161106_DJI_0087_1.jpg

PNG grande:

https://dronescene.co.uk/images/uploads/fullsize/20220103215207_IMG_5782.png

Hmm, funciona aqui.

Mas falha em try.discourse.org

https://try.discourse.org/t/lorem-lorem-ipsum-dolor-sit-amet-consectetur-adipiscing-elit/1425/2

Veja como o grande não está sendo exibido?

Na verdade, acho que não funcionou, a imagem grande não apareceu? :thinking:

Inicialmente, pensei que esse bug pudesse ser devido ao tamanho do arquivo, nossos membros costumam postar imagens de mais de 40 MB, mas consigo replicar esse problema em try.discourse.org usando apenas uma imagem PNG de 5 MB.

A imagem aparece na janela do compositor ao redigir minha postagem, mas não aparece na postagem em si quando enviada.

Ela também aparece na janela do compositor se eu editar a postagem:

Aqui está uma imagem de URL onebox para testar:

https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png

E para testar aqui no meta, ela deve aparecer aqui:

Este bug está presente no try e no meta.

A imagem apareceu brevemente quando enviei essa postagem, mas desapareceu novamente alguns segundos depois. Eu deveria ter feito uma gravação de tela. Ela está sendo perdida/quebrada no processo de processamento? :thinking:

Tenho investigado mais este bug.

Se eu olhar para uma postagem onde a imagem falhou em ser “one boxed” / baixada para uma cópia local, quando eu edito a postagem, vejo este erro 404 Not Found no console do navegador:

O URL que ele está tentando buscar é:

https://greyarro.ws/onebox?url=https%3A%2F%2Fdronescene.co.uk%2Fimages%2Fuploads%2Ffullsize%2F20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg\u0026refresh=true\u0026category_id=17\u0026topic_id=61425

Não tenho certeza por que está retornando um 404, quando a imagem existe :thinking:

https://dronescene.co.uk/images/uploads/fullsize/20230411071449_8719D92D_726A_46BF_9437_A06DD0507D77.jpeg

Isso funcionou bem nos últimos cinco anos, só quebrou nas últimas três ou quatro semanas.

1 curtida

Tenho tentado novamente hoje, mas receio que não cheguei mais perto de descobrir o que está acontecendo.

Quando tento adicionar o https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png ele aparece na pré-visualização, e na postagem por um segundo, e depois fica em branco. :person_shrugging:

Não vejo nenhum 404. Pensei que fosse o tamanho, pois estava carregando linha por linha na pré-visualização como nos anos 90 :slight_smile: Mas você disse que tentou com um menor e obteve o mesmo resultado. Qual foi esse, e eu também tentarei com ele. :+1:

1 curtida

Obrigado @JammyDodger

Aqui está apenas uma pequena imagem de 5 MB que tem o mesmo problema: https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png

E deve aparecer aqui:

O que, como você diz, aparece por um segundo, depois desaparece novamente.

No entanto, ele é visível no editor se eu editar a postagem :thinking: :exploding_head:

Acredito que ela foi removida porque o arquivo é muito grande. Por padrão, o tamanho máximo da imagem em kb é 4096kb, e este arquivo específico é > 5000 kb.

Pelo que entendi, se você carrega uma imagem, ela é automaticamente redimensionada/comprimida antes de ser enviada. Você pode carregar fotos grandes por causa da otimização de imagem do lado do cliente.

Com a configuração download remote images to local, o Discourse tentará baixar a imagem como ela é, e se for muito grande, ela será removida do conteúdo da postagem.

3 curtidas

Olá @Arkshine

Esse valor padrão foi alterado nos últimos meses?

Temos mais de 1.000 imagens de 30-40 MB, ou mais, que foram puxadas remotamente por muitos e muitos anos sem problemas :thinking:

Desculpe @Arkshine, analisei isso novamente esta manhã, pois posso ter entendido mal sua mensagem anteriormente.

Alteramos nossa configuração há alguns anos para permitir imagens de até 100 MB de tamanho.

Estive tentando rastrear exatamente quando isso quebrou e posso reduzir a um ponto aproximado após 3 de março de 2023.

Aqui está uma imagem de 35 MB que funcionou em 3 de março de 2023:

https://dronescene.co.uk/images/uploads/fullsize/20230303120013_DJI_0013.jpg

E um exemplo de 27,3 MB da mesma data em março:
https://dronescene.co.uk/images/uploads/fullsize/20230303120713_DJI_0055.jpg

E um exemplo de 11 MB de 27 de fevereiro:

Talvez eu dê uma olhada nos commits feitos nas últimas seis semanas e veja se alguma das mensagens de commit se destaca para mim :slight_smile:

1 curtida

O conteúdo bruto desta postagem específica (e da abaixo) em seu fórum mostra que se trata de uma imagem carregada, não um link externo. Por causa de Client side image optimization enabled by default, você poderá carregar imagens grandes.

Seu problema inicial é sobre inserir um link de imagem externo.
Dito isso, não tenho certeza se o comportamento do Discourse é esperado ao não verificar o tamanho da imagem ao colar um link de imagem. :thinking:

Você pode compartilhar o valor de upload_size em seu app.yml?

Olá Richie!

Não sei se o Discourse consegue baixar imagens remotas muito grandes.

No entanto, lembro-me que anteriormente, quando você linkava uma imagem grande, ela exibia uma mensagem como “Esta imagem é muito grande para ser exibida no fórum”, com um link para a imagem externa.

Parece que isso não acontece mais.

Colando um link de imagem externa e grande (https://upload.wikimedia.org/wikipedia/commons/0/0b/New_cyclic_large.gif - GIF de 11 MB), consigo reproduzir seu problema:

Parece muito com um bug e possivelmente uma regressão.

1 curtida

Acho que você pode ter entendido mal o problema, ou talvez esteja vendo a causa do bug :thinking:

Eu não carreguei essa imagem para o Discourse, apenas colei um link, exatamente como na gravação de tela do @Canapin abaixo :blush:

Ele baixa imagens grandes há anos, @Canapin, muitos anos, só parou de funcionar nas últimas seis ou oito semanas.

Obrigado por testar :+1:

Posso reproduzir isso em nosso fórum, em try.discourse.org e em meta.discourse.org

Coloquei uma recompensa pela correção do problema:

Obrigado novamente a todos que analisaram este problema até agora :bowing_man:

consegui reproduzir este problema também. também revisei todas as minhas configurações relacionadas a imagens para garantir que nada ali estivesse causando o efeito. percebo que, quando faço a postagem com um link de imagem grande, ela pisca por um minuto como se fosse carregar do topo da foto, depois simplesmente desaparece (isso apesar de a imagem ser muito visível na janela de pré-visualização da postagem).

2 curtidas

Obrigado @Lilly, esse é exatamente o problema que estamos vendo também.

1 curtida

acabei de testar em mensagens privadas e a imagem aparece bem como esperado e vincula ao original. então o problema é estritamente nas visualizações de postagem de tópicos, aparentemente.

@Richie fotos legais, aliás :slightly_smiling_face:

2 curtidas

Para constar, acabei de testar isso, mas o meu também desapareceu à tarde.

2 curtidas

estranho

aqui está minha visualização de pm:

estou tendo o mesmo problema nas visualizações de desktop e mobile.