Eliminare completamente le versioni precedenti di un post o messaggio

Immagina di dover inviare a qualcuno un log di debug per Android. Questi log contengono informazioni private. Non dovresti pubblicare quell’URL in pubblico e, se lo invii tramite messaggio, l’URL o l’allegato dovrebbero essere cancellati poco dopo.

Persino gli amministratori o i moderatori non dovrebbero poter recuperare quell’URL o allegato.
Se non possiamo cancellarlo, rimarrà visibile per sempre al mittente e a tutti gli amministratori e moderatori. Questi log si accumulano nel tempo e rappresentano una grande quantità di informazioni sensibili che restano lì per sempre.

Come possiamo non solo nascondere quell’URL o allegato, ma effettivamente cancellarlo?

Con questa PR, sembra possibile. Mi piace :slight_smile:

Sembra proprio qualcosa di cui abbiamo bisogno. E dovrebbe applicarsi anche ai messaggi.
Wow, è stato commesso solo 3 ore fa? Ottimo!

Ciao, sembra che la funzionalità unita non sia simile a quella contenuta nel titolo. Con il data explorer ho scoperto che alcune versioni di un certo argomento wiki avevano un allegato di grandi dimensioni che vorrei eliminare.

Voglio solo dire come eliminare un allegato da una versione del post su istanze self-hosted. Sfortunatamente il metodo da Search attachments by storage name non può essere applicato in questo caso (impossibile ottenere sha1 dal nome del file).

Prima trova sha1 usando SQL:

sudo /var/discourse/launcher enter app
su - discourse
psql
SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc;

quindi ottieni sha1. Successivamente, chiudi la connessione al database, esci dall’utente a root e apri la riga di comando di rails:

ctrl+d
ctrl+d
rails c
pry(main)> Upload.find_by(sha1: '<sha1>')

Infine ottieni l’URL dell’allegato che punta alla posizione del filesystem. La domanda dell’argomento è ancora aperta.