Does discourse automatically remove inactive members?

AI-generated summary

Discourse’s Inactive Member Deletion Feature

Discourse has a feature that automatically deletes inactive member accounts. According to jomaxro, this feature was introduced in Discourse 2.3.0 beta6, which deletes accounts that:

  • Have never posted anything
  • Have not been seen in 2 years (730 days)
  • Are trust level 0

This feature can be disabled by setting clean up inactive users after days to a high number. Deleted users are logged in staff logs, as mentioned by jomaxro.

However, users who created posts before the feature was implemented, but still meet the deletion criteria, are exempt from deletion, as noted by hross and riking. Having any posts exempts a user from deletion, regardless of their trust level.

There is currently no built-in way to query who will be deleted before enabling this feature, as discussed by th21.

I have a question regarding the membership controls? Recently the numbers for our site have gone down and I wondered if it was actually people leaving or whether inactive member accounts are deactivated?

The latter was included in an update recently.

See the Discourse 2.3.0.beta6 Release Notes

is there a way to reinstate or know who has been deleted? for our setup, the record of members was important for our mapping activities.

Deleted users should be logged, check staff logs.

Follow up question. I’ve been doing some querying of our users. I am seeing users in our system that have not been seen in more than 2 years (730 days) and are at Trust Level 0, but were created before this upgrade. Am I correct in assuming that they are not part of of this feature because they existed before it was implemented?

is it possible to query who is in the query to be cleaned up before enabling this function?

If a user created a post and is still at TL0, they still won’t be deleted. Having any posts exempts you from this deletion.