Using private / personal messages as long term chat

One thing we’ve noticed come up on a few sites is a pattern of behavior where

users make almost no public posts, but spend most of their time in very, very long PM topics that can be tens of thousands of replies long

There are a few problems with this:

  • We currently have a massive perf problem with longer topics as we send down a list of all IDs of all replies in the topic, which can be enormous – if the topic is 50k replies long, it includes 50k ids in a list in every request. Longer term we do plan to fix this, but restricting very long topics is something we need to do in the short term, unless there is a very good reason for a topic to have 50k replies, it should be avoided.

  • Private reply activity is fine, in context with other public activity, but when almost all your activity is private, it feels a bit counter to the goals of the overall community and is certainly not something we want to encourage.

  • We totally get that some communities want a chat feature very badly, and this is something that is solidly on our medium term roadmap. We hear you loud and clear and we largely agree; there’s a legitimate need for a more real time “lane” on the highway. But abusing Discourse personal messages to force it into a private chat system is not the right way to support that feature.

  • It skews activity data on the site, so the public side of the site which is what most see will be unusually slow despite “good post volume”, while there is this giant burgeoning secret clique-ish underground that few have visibility into.

Thus, we’ve decided to add a new site setting for maximum allowed replies in a PM topic and it will default to 200. After that limit is hit, the PM will be auto-closed by the system user with a brief explanation and reminder something like

This personal message was automatically closed after reaching the maximum of 200 replies. Consider adopting a chat system if you need long term, persistent personal messaging.

This should introduce some desired friction into this behavior, making it harder to abuse, without unreasonably limiting “real” personal message topics.


Can staff re-open the PM? While I cannot imagine a good reason for a PM going on for more than 200 posts, there could very well be a good reason for it…

I have a very few long running (3 years now) messages that are longer than 200 replies.
They are being used as a type of private topic where sometimes more sensitive issues are discussed.

But they are well under 50K (under 1k in fact)
50K is not a sane amount by any means.

It’s possible staff would be immune to this setting.


It may be wise to ‘cycle’ the thread, then - create a new PM with a link back to the last post of the old PM, and edit the old PM’s close message to point to the new PM.


Nope, that would add complexity, admins can set the default though to whatever number they want


OK. 2 points then.

  1. You should use a different name than “close” if it is going to function differently than close everywhere else.
  2. I’ve brought this up before, but am going to reiterate it here. Staff users (and if not staff users than admins only) should not be constrained by site settings such that they need to edit settings for the whole site to get things done. I last brought this concern up regarding the inability for staff user to move a new user’s post to a new topic because they exceeded their first day topic limit. I feel the same applies here. If site staff has a good reason for opening a specific PM back up to discussion, that’s their perogative. They should not be restricted by the software from doing so, nor should they need to modify site-wide settings to accomplish the task they wish.
    There are obviously limits to this - staff shouldn’t be permitted to break the site, but lowering a PMs performance (or overriding a new user’s rate limits) wouldn’t do that, or come anywhere close.

Just my 2 cents. Take it for what it’s worth.


The flip side is that as soon as a “staff” member is involved in “mega chat” all rules are tossed out of window.

Why should the existence of a “staff” user in a 10,000 post PM suddenly make it ok and not a serious issue performance wise?

  • Post ids are still sent down to clients
  • Everyone is still watching the chat PM and potentially getting an email for every reply

200 post pms is a STRONG indicator that a message is being used for “chat” and in that case the rules and UI around it are far from ideal.

  • Keeping track of count all likes in chat … makes less sense
  • Keeping track of replies per user for every user in the chat does not need to be real time
  • We don’t need to send down post ids for every chat message from the beginning of time
  • Nobody should be “watching” a chat topic, we only want to generate mails on mention

That applies to nearly everything on the site already. While there are some exceptions, if a staff user is involved most things go out the window. Staff in a topic that gets autoclosed due to flags, they just open it back up. Staff disagree with deletion of a post, they restore it.

I understand the goal of this feature, and I think it is great. However, one also has to trust site staff to make a decision they feel is right at the moment, without affecting the entire site.

1 Like

I think a distinction @sam is whether a staff user started the message. It doesn’t matter if they participate or not.

I am still uneasy about lifting the restriction for staff OP, cause this means they will be less aware of the problem and not push for getting “chat” implemented on site which is what we want. (or moving content to private/public categories where it probably belongs)

That said, I don’t feel violently against a bypass for staff OP, on stonehearth there 1 PM out of say 30 that would be shielded ( @jomaxro ask 8bitcrab about it, it feels like this topic actually belongs in a private category to me and it is abusing the pm system and hiding information that should not be hidden)

I also would be fine for the default to be a bit higher at like 1000.

@codinghorror your call. But in stonehearths case the topic at hand really should be in a category, very odd use of PM system.

1 Like

That seems fine, then… if a staff member starts the PM topic, it can be immune from this rule. (I think on another site we saw problems where the enormous endless PM topic was from mods?)

No, the default should be 200 (maybe even lower, really, but I wanted to start generous). Sites can adjust it at their risk / peril to taste.

I see your point on this and I worry that @jomaxro is talking in abstract terms rather than actual real world data. Since we will have a site setting for this, perhaps make sure it’s two site settings, one for staff, one for everyone else?

I don’t use any of mine as a substitute for “chat”

Maybe it would be better to not use “staff” as the discriminator but average “word count” ?

That is, if it is being used as a “chat” (I’m assuming the replies would all be relatively short) then close it.

Yes, I am completly abstracting this idea. I don’t have real world data, and as I mentioned above I cannot think of a good example of a 200+ post PM (8bitcrab is reading this thread now to get context and answer my question, so I might have an example soon), my concern is more to the restriction of staff than this one specific issue.

Let me ask this, what is the difference between a 200+ post group PM to @moderators and a 200+ post topic in a category restricted to the moderators group.

Edit: @sam, is the PM you’re talking about the “hair models” PM?

yes it is that.

The big conceptual difference between private category and PM is around visibility. PMs are more hidden and tucked away, it is harder to get to them or even be aware that they are going on. These days with “group” PM the distinction is blurred some which I agree complicates things a bit.

I am fine to add 2 site settings here for now. (one for staff OP and one for the rest) leave both defaults as 200.


As far as the hair models PM goes, 8bitcrab just told me he didn’t realize how long it got, and will be closing it.

As for the private category vs PM difference, the other distinction is that one requires a group to be previously created by an admin (the category) where the other can be thrown together on the fly by simply listing usernames.
I know this is slightly off topic, but if the idea here is to get long discussions out of PMs, can you make it easier to create private categories by allowing moderators to create groups. In the case of the hair PM, that was 3 or so users discussing a mod, and didn’t need to be public. However, even with a moderator involved in the discussion, the only way to keep it private was with a PM…(without escalating the request to an admin)


I think this is the crucial question. A staff OP shouldn’t really make the PM immune (things can derail even if started by staff) – but staff should be able to manually override this once if needed.


I just discovered a different kind of massive private chat.

Some people are using it to share some holiday photos and stuff like that. Large files and totally irrelevant to the forum topic, eating up disk capacity (or increasing cost if infinite). I never thought about this kind of use case, but sure - this is rather convenient platform to share a file of accepted type.

I can easily see how this kind of activity has potential to escalate, even in a closed/corporate community.


OK! This change is in 1.6 beta 1, with the following default limits:

  • 500 max replies in a PM topic
  • 10000 max replies in a topic

These can be changed (or disabled, by setting to 0) via auto close messages post count and auto close topics post count in Admin, Site Settings.


I chat with private messaging, but I always talk with the community.