Puoi ancora accedere ai post eliminati dall’argomento/messaggio privato ed eliminarli definitivamente da lì, o non puoi più vedere i tuoi post eliminati?
L’Admin A crea un nuovo argomento, lo “fissa” globalmente (per sempre) e poi lo chiude
L’Admin A elimina quindi l’argomento in modo “soft”
L’Admin B trova questo argomento accedendo all’elenco /deleted-posts dell’Admin A dal suo profilo
L’Admin B tenta di eliminare definitivamente l’argomento - riceve un errore “Non è possibile eliminare definitivamente questo argomento perché ci sono altri post.”
L’Admin B elimina i piccoli post d’azione “fissa” e “chiudi”
L’Admin B riprova l’eliminazione definitiva - l’eliminazione ha successo
Tuttavia, l’Admin B non può più accedere a /deleted-posts dell’Admin A, con un errore GET https://greedy.jammydodger.monster/posts/jammydodger/deleted?offset=0
Anche se l’Admin A e l’Admin C possono ancora accedere all’elenco /deleted-posts dell’Admin A. Nel breve termine, @VincentAlse, potresti utilizzare l’account admin secondario per accedere all’elenco /deleted-posts per trovare gli altri post che desideri eliminare? In alternativa, potresti utilizzare una query data-explorer per identificarli?
Grazie per la conferma. Ho appena provato Admin C (sia con il vecchio account che con un account appena creato). Non funziona per me. Penso che il motivo sia che ho eliminato post per molti account diversi e ho corrotto l’elenco di eliminazione per la maggior parte di essi.
Diamo un’occhiata a data-explorer. Posso interrogare post eliminati con esso?
Ah, questo è spiacevole. Se hai accesso al plugin esplora dati, penso che qualcosa di simile dovrebbe replicare l’elenco /deleted/posts per un particolare utente (con post_id aggiunto per sicurezza):
-- [params]
-- user_id :user_id
SELECT p.created_at AS reltime$time,
id AS post_id,
id
FROM posts p
WHERE p.user_id = :user_id
AND p.deleted_at IS NOT NULL
ORDER BY p.created_at DESC
Ha funzionato per te @VincentAlse? Penso che dovrebbero esserci più modi per trovare i post che vuoi eliminare se quello non ti ha dato l’elenco di cui avevi bisogno?
Guardando quello screenshot, sembra che tu abbia modificato il parametro in alto, il che in realtà ne impedirà il funzionamento. Se lo lasci come :user_id, ti darà una casella di selezione quando lo esegui dove puoi digitare un nome utente.
In alternativa, potresti eliminare il parametro e aggiungere l’ID utente che hai ottenuto dal JSON alla riga WHERE p.user_id =.
Ho corretto il bug che hai segnalato con questo PR ieri, che è già stato unito e può essere distribuito se aggiorni la tua istanza Discourse:
Tuttavia, abbiamo scoperto che l’eliminazione forzata degli argomenti poteva lasciare post di azioni minori orfani nel database. Questo secondo bug è stato corretto con:
Penso che ora dovrebbe funzionare tutto correttamente. Fateci sapere se avete altri problemi.