Ciao,
Dall’ultima versione di Discourse 2.5.0, ho problemi con la generazione delle miniature.
Sembra che ora le miniature vengano generate dal core, il che ha causato la cancellazione di tutte le miniature esistenti.
Ho provato varie operazioni per ripristinarle e spiegherò le situazioni in cui non funzionano.
Nota: probabilmente c’è un buon motivo per questo cambiamento, ma sarebbe davvero gradito non introdurre cambiamenti improvvisi di comportamento che rompono funzionalità senza offrire la possibilità di prepararsi, tramite una guida all’aggiornamento e/o un modo per aderire a questo cambiamento, per favore. ![]()
Contesto
- Discourse 2.5.0 beta4 (faeb5793ba)
- Plugin Topic List Preview versione 4.4.0
- Post di WP-Discourse pubblicati così come sono (HTML completo) nei topic di Discourse (primo messaggio).
Per quanto riguarda il contenuto di un post, ecco un esempio (formattato per te):
Contenuto
Codice HTML dell’immagine per comodità:
<img
width="150"
height="84"
src="https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg"
class="attachment-thumbnail size-thumbnail"
alt=""
srcset="
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg 150w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-300x169.jpg 300w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-1200x675.jpg 1200w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-1536x864.jpg 1536w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-2048x1152.jpg 2048w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-788x443.jpg 788w,
https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית.jpg 1280w
"
sizes="(max-width: 150px) 100vw, 150px"
/>
<div data-wp>
<a
href="https://www.banggood.com/Xiaomi-Redmi-Router-AC2100-2033Mbps-2_4G-5G-Dual-Band-Wireless-Router-6High-Gain-Antennas-128MB-OpenWRT-WiFi-Router-p-1614038.html"
target="_blank"
><img src="https://zuzu.deals/wp-content/uploads/2020/01/5e3128b4e5da7-150x150.jpg"/>
</a>
<div>
<div data-buy>
<a
href="https://www.banggood.com/Xiaomi-Redmi-Router-AC2100-2033Mbps-2_4G-5G-Dual-Band-Wireless-Router-6High-Gain-Antennas-128MB-OpenWRT-WiFi-Router-p-1614038.html"
target="_blank">קנייה
</a>
<span data-clipboard-text="BG38b2ac" data-coupon>BG38b2ac</span><i></i>
</div>
<div data-price>$43.99</div>
</div>
</div>
<hr />
<p>
<small>
פורסם ב: <a href="https://zuzu.deals/%d7%a7%d7%95%d7%a4%d7%95%d7%9f-%d7%91%d7%9c%d7%a2%d7%93%d7%99-%d7%a8%d7%90%d7%95%d7%98%d7%a8-%d7%97%d7%96%d7%a7-%d7%95%d7%97%d7%93%d7%a9-%d7%a9%d7%9c-%d7%a9%d7%99%d7%90%d7%95%d7%9e%d7%99-xiaomi-re-2/"></a>
</small>
</p>
<br />
<p>נעים להכיר!</p>
Prima dell’aggiornamento di Discourse
TLP funzionava sempre bene con le nostre immagini esterne, sia durante la creazione che la modifica dei topic.
Tuttavia, avevamo disabilitata l’opzione download remote images to local a causa di problemi con il markdown.
Problema di rendering del markdown
Questo non è il problema principale e si verifica ancora dopo l’aggiornamento di Discourse; ecco alcune spiegazioni.
Quando Discourse scarica e sostituisce un tag HTML di un’immagine con la sua sintassi markdown – nel nostro contesto, questo risulta come:
[...]<a href="<link_here>" target="_blank"></a>[...]
Discourse non riesce a visualizzare l’immagine
Immagine

Per risolvere il problema, è necessaria almeno una riga vuota sopra:
[...]<a href="<link_here>" target="_blank">
</a>[...]
Sarebbe possibile permettere il rendering di immagini markdown circondate da HTML, per favore?
Dopo l’aggiornamento di Discourse
- Tutte le miniature sono state cancellate.
- Tutte le immagini vengono visualizzate correttamente nel contenuto del topic.
- A causa di questa funzionalità (FEATURE: Include optimized thumbnails for topics (#9215) · discourse/discourse@03818e6 · GitHub, credo), siamo stati costretti ad abilitare l’opzione
download remote images to local, poiché sembra non sia più possibile ottenere una miniature da un link esterno…
download remote images max days oldè impostato al massimo, 10000.
Da qui, mi è stato detto di rifare il baking di tutti i post per scaricare le immagini. Ed è qui che diventa strano.
rake posts:rebakenon ha avuto molto effetto (almeno non sul primo messaggio di un topic, ma ha attivato moltiPullHotlinkedImages)
1.1. Guardando alcuni topic, ho pensato che il codice HTML delle immagini con attributiclassosrcsetfosse la causa, quindi ho provato a normalizzare tutte le immagini con il seguente codice (non conosco Ruby) – Ha aiutato per alcuni topic.
1.2. Tuttavia, a causa del problema del markdown, ho dovuto aggiungere delle nuove righe per risolvere. – Almeno per questi topic, le miniature funzionavano.
Codice
Post.where(post_number: 1)
.where("raw LIKE '%<img%/>%'")
.each
do |post|
post.raw.gsub!(/<img[^>]+(src="[^"]+")[^>]+\/>/, "<img \\1 />")
post.save!(validate: true)
post.rebake!
end
Post
.where(post_number: 1)
.where("raw LIKE '%upload://%'").each
do |post|
post.raw.gsub!(/(!\[.*upload:\/\/.*\))/, "\n\n\\1")
post.save!(validate: false);
post.rebake!
end
- Modificare manualmente (senza cambiare il contenuto, solo salvando) un topic ignorato funziona nella maggior parte dei casi. L’immagine viene scaricata.
2.1. Alcuni topic rimangono ignorati anche dopo una modifica. Posso vedere chePullHotlinkedImagesviene attivato, ma nessuna immagine viene scaricata. (come con questo html<img src="https://zuzu.reviews/wp-content/uploads/2020/05/HiZERO-VS-BISSEL-VS-שואב-אלחוטי-VS-שואב-רובוטי-VS-מגב-ודלי-VS-מטאטא-VS-ספונגה-חשמלית-150x84.jpg" />, link) - Dopo aver normalizzato e visto che una modifica può aiutare a scaricare l’immagine, ho provato a eseguire
rake posts:rebakepiù volte – senza effetti. - Poi ho provato a usare la console rails in modo simile al codice sopra ma con un ID topic specifico e solo con
post.rebake!– senza effetti - Non tutte le immagini di un topic vengono sempre scaricate..
- @Canapin mi ha indicato Download remote images from older posts? - #3 by vinothkannans ; sto provando a rifare il baking di tutti i post ora. – Purtroppo non ha aiutato
È folle che alcune immagini funzionino e altre no. Non credo sia un problema di criteri. Le impostazioni delle immagini sono alte. Non capisco davvero quale sia la logica dietro tutto questo, sembra casuale.
Attualmente, abbiamo ancora molte miniature mancanti. Probabilmente la maggior parte può essere riparata manualmente con la modifica/salvataggio, ma non è fattibile. Lo sto facendo per un cliente e ho già perso molto tempo cercando di risolvere il problema.
Non mi dispiacerebbe avere immagini caricate come miniature, ma:
- Puoi dirmi se ci sono motivi specifici per cui le immagini non vengono scaricate? Ci sono impostazioni che possono aiutare? Abbiamo bisogno di qualcosa? Come fare debug?
- C’è un modo per forzare il download delle immagini simile alla modifica/salvataggio tramite la console?
- Potete permettere il rendering di immagini markdown se circondate da HTML?
Spero di essere stato abbastanza preciso nella descrizione del problema.
Grazie in anticipo per qualsiasi aiuto e soluzione.







(il sistema sostituisce l’immagine con il markdown)