Why are posts withdrawn instead of being deleted immediately?

Why are posts that users try to delete considered as “withdrawn” for a period of time as opposed to being immediately deleted. I know that you can change this period of time to zero but was just wondering about the reasoning here. I see that it says “unless flagged” so I am guessing that has something to do with it, but don’t fully understand.

I think it’s mostly there to prevent gaslighting. If you claim to have “not said that,” and there’s a withdrawn post in the timeline, then you just might be lying.

As described in this old announcement:

Thanks Michael. Can you see withdrawn posts anywhere before they are deleted? Can users see them or do they just need to flag a post based on what they remember seeing?

That must depend on some site settings.

There are several Discourse instances out there where I can see withdrawn posts if I click on them, and I’m certainly not staff. One of them I’m not even a member…

There’s nothing special about the visibility of withdrawn posts as far as I know, withdrawing is a normal edit.

Whether edits are publicly visible can be configured via the site setting edit history visible to public :slight_smile:

For what it’s worth, IMHO, this could likely be a Staff and OP only feature few non-Staff would even notice missing. Anybody think of a reason for other than those two?

I can’t find detailed discussion about this now, but IIRC, the main rationale for this is to leverage the community for front line moderation support. In particular, the team was concerned about two types of destructive behaviors, mentioned in the linked posts:

https://meta.discourse.org/t/improvements-to-self-deleted-posts/8564?u=sailsman63

The first, in particular, can be hard for staff to track in a busy site with many users. Allowing normal users to see withdrawn posts can get extra eyes on potential trolls and bullies, and a few flags on “NOT OK” content can alert staff much more quickly than if they try to review all withdrawn posts and other activity.

A member mass deleting their posts is a different issue. In terms of

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

I know of no times any such post has been flagged. And as long as Moderators could see post history a topic could be flagged with a type of “hey, so+so called me a so+so then deleted it!” or whatever.

These timed deletes have gotten flagged for some forums?

A flag or a warning to the mods might be a good idea. Perhaps a setting for “flag posts deleted/day”.

Does not matter, user self-deletes are rate limited per day.

비직원 멤버의 경우 "24시간 내에 삭제되지 않으면"이라는 메시지를 완전히 숨길 수 있으면 좋겠습니다. 이 기능의 취지는 실제로 매우 마음에 듭니다(이 토픽의 이전 메시지에서 잘 설명되어 있습니다) 하지만 현재 제 커뮤니티에는 적합하지 않습니다.

이를 위한 방법이 있을까요? 만약 없다면, 삭제된 게시물에 클래스를 추가하는 것이 얼마나 어려운 작업일까요?

image

이전에 작성했던 코드를 찾았는데, 지금도 동작하는지 확실하지 않습니다(확인 안 해봄).

import { withPluginApi } from 'discourse/lib/plugin-api';
import RawHtml from 'discourse/widgets/raw-html'; 
 
function attachComm(api) {
  
   api.addPostClassesCallback((attrs) => {
       return attrs.user_deleted ? ["remote"] : ["rated"]; 
   });  

}
  
export default {
  name: 'alert',
  initialize(container) {
      withPluginApi('0.1', attachComm);
             }
};

이것은 플러그인의 일부였습니다. 아마 컴포넌트를 통해 비슷한 작업을 수행할 수 있을 것입니다.

에브게니, 정말 감사합니다! 한번 써볼게요… 딱 제가 필요한 것 같습니다. 정말 감사합니다.

업데이트 정말 잘 작동합니다. 제 Discourse 설치에 이미 제가 개발한 커스텀 플러그인이 있어서, 기존 코드에 필요한 스니펫을 추가하는 것이 쉬웠습니다. 빠르고 간편한 작업, 제가 가장 좋아하는 종류의 코딩 과제입니다 :+1:t2: