I have a topic at my site that someone (let’s call them X) posted and then deleted because of some erroneous information. I undeleted it and asked X posted a correction underneath their original post.
Since that time the topic keeps getting deleted. I’ve undeleted it twice and it looks okay but after a little while it appears as deleted again.
Is it possible that the user in question keeps deleting it? I’ve had users who would rather delete posts than endure the “embarrassment” of correcting themselves.
Check your log (admin/logs/staff_action_logs) to see if the user is deleting them. The log will show those posts that were both edited and deleted… and by whomever deleted them. You can click on the information icon for more info as well.
Some users have changed their minds about keeping a post for that and many other reasons. Sometimes it’s just one of those situations where one feels it’s just better to forget what they were going to say. Sometimes you just have to accept their reason, even if one isn’t given.
Users can’t insta-delete topics or posts, though. All they can do is trigger a 24 hour pending delete, which will be a public intent stated in the topic or post, like so:
(post withdrawn by author, will be deleted in 24 hours unless flagged)
Additionally, you can only do this for topics if they have no replies, and the topic is 1 day old or less.
this happens for us as well when a topic gets deleted by the system, that is 24 hours after a post is deleted by the author, there is no way to bring it back; even if we recover it, it gets deleted automatically again after 30 min.
I’ve talked with the user and, as far as I can understand, they’re not constantly deleting it. They were actually surprised about it, as they alerted me to the issue in the first place.
Hmm. I’m not sure I fully understand what’s going on in step 1, but assuming the bottom line is that a user created a topic, step 2 appears to be impossible. If I create a topic as a normal user, make a reply to it, then try to delete my first (topic) post, the first post will not be marked for deletion which is by design.
So from what I can tell, staff do not have an “undelete” button available on the normal user’s topic when it has been scheduled for deletion. Only the original poster can undelete the post during the wait period. When you say you undelete it, do you mean after the auto-deletion occurred?
User deletes topic post, scheduling deletion (I changed the delete_removed_posts_after site setting to 1)
Topic is deleted after specified time
Staff undeletes topic and reverts to the original version of the post (only restoring will bring the post back with the “topic withdrawn by author, will be automatically deleted in 1 hour unless flagged” message)
Topic will re-delete after some time
What’s happening: When a user deletes there own topic post, there is a property called user_deleted that gets set to true. There is a background job called DestroyOldDeletionStubs that runs every 30 minutes. This job runs the PostDestroyer.destroy_stubs function which will search the database and delete any posts that have user_deleted set to true along with an expired “deletion timer.”
The problem: When staff restores the post, user_deleted never gets set to false, so the next time DestroyOldDeletionStubs runs, the post will be re-deleted.