Limits on personal messages vs topics

I believe I have hit a bug, but someone in the know will need to confirm this.

In our community our members need to send many personal messages around some periods of the month. To accommodate for this, we have increased max personal messages per day from the default of 20 to 50 which is a level we determined was enough for their needs (we are awareness of the issues with potential spam — we handle that through other means).

However, our members are getting blocked after sending just 20 messages, due to a different limit:

Now, I know that technically messages are pretty much a topic, but I still didn’t expect that after changing the setting for personal messages since there’s a separate one for creating topics per day:

image

Our understanding from our tests is that the max personal messages per day limit doesn’t apply to the number of replies, so effectively, it is a limit on new “message topics” per day. With that, these two settings seem to be at odds here.

Should max topics per day apply also to message “topics”? If so, then what does max personal messages per day do? If not… bug?

3 Likes

It does sound like a bug. Can we reproduce this next week @tshenry ?

2 Likes

I think I can see the problem in the code itself:

https://github.com/discourse/discourse/blob/2bb7676ba4f53e0792890224ac9ba580cfe0af79/app/models/topic.rb#L442-L454

limit_private_messages_per_day is checking that the topic is a PM, whereas limit_topics_per_day doesn’t check to see if it’s a regular (non-PM) topic.

I think it’s just a matter of adding return unless regular? to the top of limit_topics_per_day.

I’ll see if I can prove this out and get a PR in place by the end of the week!

4 Likes

This should be fixed with the following:

https://github.com/discourse/discourse/pull/11127

5 Likes

Thank you for the fix! :+1:

1 Like

I agree with all this, but I think we should also add a

max personal message topics per day

site setting… @sam can you assign that next week? Presumably easy. I don’t like the idea of the number of PM topics a user can create per day now being effectively unlimited.

1 Like

This should be limited through max_personal_messages_per_day. It’s possible the setting may need a rename for extra clarity, but as far as I understand, it’s limiting new PM topics, not replies. That’s definitely what I intended to check when I created the test that went with the PR.

I don’t believe we have an global max replies per day setting for topics or PMs.

1 Like

Aha! Can you check that, and if that’s the case, make sure the description for the site setting copy makes that clear?

1 Like

Confirmed! The user I was testing with was rate limited on creating new PMs, but not on replying to existing PMs.

Regarding the description copy, the current description of the max personal messages per day setting is:

Maximum number of messages users can create per day.

What do you think about:

Maximum number of new personal messages users can create per day.

or

Maximum number of personal messages users can create start per day.

1 Like

One tweak

Maximum number of new personal message topics a user can create per day.

1 Like

Description tweaked!

https://github.com/discourse/discourse/pull/11155

3 Likes