Ciao team di Discourse e community,
Ho notato un comportamento interessante riguardo alla gestione delle immagini nelle Revisioni dei post sulla mia istanza di Discourse self-hosted e vorrei capire il meccanismo sottostante.
Contesto:
-
Le caricamenti di immagini sul mio sito sono indirizzati a Cloudflare R2 (storage compatibile con S3).
-
Negli ultimi mesi ho apportato diverse modifiche a post che coinvolgevano la sostituzione o la rimozione di vecchie immagini con nuove.
-
Tutti i caricamenti originali delle immagini risiedono su R2.
L’Osservazione: Quando controllo la cronologia delle Revisioni dei post per questi post più vecchi:
-
Per la maggior parte delle revisioni in cui un’immagine è stata sostituita o eliminata mesi fa, il link all’immagine nella revisione rimane completamente accessibile e viene caricato correttamente.
-
Per alcune revisioni specifiche, l’immagine è completamente rotta o priva del file fisico sottostante, lasciando solo un segnaposto.
La mia domanda:
-
Come differenziano tra queste revisioni i job in background di
CleanUpUploadse di rimozione degli upload orfani di Discourse? -
Perché alcune immagini delle revisioni storiche persistono indefinitamente su R2 (o nella cache) anche dopo essere state rimosse dal corpo dell’ultimo post, mentre altre vengono completamente eliminate o perdono le loro varianti ottimizzate?
Qualsiasi chiarimento sul codebase o sulla logica del database (upload_references / OptimizedImage) relativo alle revisioni sarebbe molto apprezzato!
Leo