Il oneboxing di immagini di grandi dimensioni fallisce senza alcun indizio visivo

Esecuzione di Discourse 3.1.0.beta3 (7c6a8f1c74)

Stiamo riscontrando un comportamento molto strano con Onebox e immagini PNG / JPG.

Ecco un’immagine che vorrei includere con Onebox: https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png

Dovrebbe incorporarsi bene così:

Ma invece l’immagine viene visualizzata solo come un link nel post.

La console del browser mostra un 404:

Altri esempi:

Piccolo PNG:

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


Grande JPG:

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

Grande PNG:

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

Hmm, funziona qui.

Ma fallisce su try.discourse.org

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

Vedi come quello grande non viene visualizzato?

In realtà, non credo che funzioni, l’immagine grande non è apparsa? :thinking:

Ho pensato inizialmente che questo bug potesse essere dovuto alle dimensioni del file, i nostri membri spesso pubblicano immagini da oltre 40 MB, ma posso replicare questo problema su try.discourse.org usando solo un’immagine png da 5 MB.

L’immagine appare nella finestra di composizione durante la stesura del mio post, ma non appare nel post stesso una volta inviato.

Appare anche nella finestra di composizione se modifico successivamente il post:

Ecco un’immagine da URL onebox da provare:

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

E per testarlo qui su meta, dovrebbe apparire qui:

Questo bug è presente su try e su meta.

L’immagine è apparsa brevemente quando ho inviato quel post, ma poi è scomparsa di nuovo qualche secondo dopo, avrei dovuto fare una registrazione dello schermo. Viene persa/danneggiata nel processo di elaborazione? :thinking:

Ho analizzato ulteriormente questo bug.

Se guardo un post in cui l’immagine non è riuscita a essere “oneboxed” / scaricata in una copia locale, quando modifico il post vedo questo errore 404 Not Found nella console del browser:

L’URL che sta cercando di recuperare è:

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

Non sono sicuro del motivo per cui restituisce un 404, quando l’immagine esiste :thinking:

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

Questo ha funzionato bene negli ultimi cinque anni, si è rotto solo nelle ultime tre o quattro settimane.

1 Mi Piace

Ci ho provato ancora oggi, ma temo di non essere più vicino a capire cosa sta succedendo.

Quando provo ad aggiungere https://dronescene.co.uk/images/uploads/fullsize/20211216142548_DJI_0205_HDR_Pano.png si vede nell’anteprima, e nel post per un secondo, e poi è semplicemente vuoto. :person_shrugging:

Non vedo nessun 404. Pensavo fosse dovuto alle dimensioni, dato che si caricava riga per riga nell’anteprima come negli anni '90 :slight_smile: Ma hai detto che hai provato con una più piccola e hai ottenuto lo stesso risultato. Quale era, e proverò anche quella. :+1:

1 Mi Piace

Grazie @JammyDodger

Ecco solo una piccola immagine da 5 MB che presenta lo stesso problema: https://dronescene.co.uk/images/uploads/fullsize/20230329003455_Screenshot_2023_03_29_at_00.23.31.png

E dovrebbe apparire qui:

Cosa che, come dici tu, appare per un secondo, poi svanisce di nuovo.

Eppure è visibile nell’editor se modifico il post :thinking: :exploding_head:

Credo che sia stata rimossa perché il file è troppo grande. Per impostazione predefinita, la dimensione massima dell'immagine in kb è 4096kb e questo file specifico è > 5000 kb.

Per quanto ne so, se carichi un’immagine, questa viene automaticamente ridimensionata/compressa prima dell’invio. Puoi caricare foto di grandi dimensioni grazie all’ottimizzazione lato client del browser.

Con l’impostazione scarica immagini remote in locale, Discourse tenterà di scaricare l’immagine così com’è e, se è troppo grande, verrà rimossa dal contenuto del post.

3 Mi Piace

Ciao @Arkshine

Questo valore predefinito è stato modificato negli ultimi mesi?

Abbiamo oltre 1.000 immagini da 30-40 MB, o superiori, che sono state scaricate da remoto per molti anni senza problemi :thinking:

Mi dispiace @Arkshine, ho riesaminato la questione stamattina poiché potrei aver frainteso il tuo messaggio in precedenza.

Abbiamo modificato le nostre impostazioni alcuni anni fa per consentire immagini fino a 100 MB.

Ho cercato di tracciare esattamente quando questo problema si è verificato e posso circoscriverlo a un punto approssimativo dopo il 3 marzo 2023.

Ecco un’immagine da 35 MB che funzionava il 3 marzo 2023:

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

E un esempio da 27,3 MB della stessa data di marzo:
https://dronescene.co.uk/images/uploads/fullsize/20230303120713_DJI_0055.jpg

E un esempio da 11 MB del 27 febbraio:

Potrei dover dare un’occhiata ai commit effettuati nelle ultime sei settimane circa e vedere se qualche messaggio di commit salta all’occhio :slight_smile:

1 Mi Piace

Il contenuto effettivo di questo specifico post (e di quello sottostante) sul tuo forum mostra che si tratta di un’immagine caricata, non di un link esterno. A causa di Client side image optimization enabled by default, sarai in grado di caricare immagini di grandi dimensioni.

Il tuo problema iniziale riguarda l’inserimento di un link a un’immagine esterna.
Detto questo, non sono sicuro se il comportamento di Discourse sia quello previsto nel non controllare la dimensione dell’immagine quando si incolla un link a un’immagine. :thinking:

Puoi condividere il valore di upload_size nel tuo app.yml?

Ehi Richie!

Non so se Discourse sia in grado di scaricare immagini remote molto grandi.

Tuttavia, ricordo che in precedenza, quando collegavi un’immagine grande, veniva visualizzato un messaggio come “Questa immagine è troppo grande per essere visualizzata nel forum”, con un link all’immagine esterna.

Sembra che non succeda più.

Incollando un link a un’immagine esterna e grande (https://upload.wikimedia.org/wikipedia/commons/0/0b/New_cyclic_large.gif - GIF da 11 MB), posso riprodurre il tuo problema:

Sembra proprio un bug e possibilmente una regressione.

1 Mi Piace

Penso che tu possa aver frainteso il problema, o forse stai vedendo la causa del bug :thinking:
Non ho caricato quell’immagine su Discourse, ho solo incollato un link, esattamente come nella registrazione dello schermo di @Canapin qui sotto :blush:

Li scarica da anni @Canapin, da molti anni, ha smesso di funzionare solo nelle ultime sei o otto settimane.

Grazie per aver testato :+1:
Posso replicarlo sul nostro forum, su try.discourse.org e su meta.discourse.org

Ho messo una taglia sul problema:

Grazie ancora a tutti coloro che hanno esaminato questo problema finora :bowing_man:

Sono riuscito a riprodurre anche questo problema. Ho anche controllato tutte le mie impostazioni relative alle immagini per assicurarmi che nulla lì stesse causando l’effetto. Ho notato che quando creo per la prima volta il post con un link a un’immagine di grandi dimensioni, questa lampeggia per un minuto come se stesse per caricarsi dall’alto della foto, poi scompare (nonostante l’immagine sia molto visibile nella finestra di anteprima del post).

2 Mi Piace

Grazie @Lilly, è esattamente il problema che stiamo riscontrando anche noi.

1 Mi Piace

Ho appena testato nei messaggi privati e l’immagine viene visualizzata correttamente come previsto e rimanda all’originale. quindi il problema sembra essere strettamente nelle visualizzazioni dei post dell’argomento.

@Richie belle foto comunque :slightly_smiling_face:

2 Mi Piace

Per quanto mi riguarda, ho appena fatto un test, ma anche il mio è scomparso nel pomeriggio.

2 Mi Piace

strano

ecco la mia visualizzazione pm:

sto riscontrando lo stesso problema sia nella visualizzazione desktop che mobile.