A softer slow mode: slow bumps?

I think it can be useful in some scenarios to prevent a topic from getting too much heat in the first place if caught early by moderation. Specially in instances with a lot of users.

If the topic is already heated and the discussion self-sustaining, slow mode will probably do a better job since the notifications the users receive from interactions in the topic will (probably) keep it going.

I was checking the source code and aside from changing the models, would change bypass_bump? be enough to prevent them from being bumped?

Maybe add a field in Topic, something like min_seconds_between_bumps for example and another condition in `bypass_bump?:

def bypass_bump?
  !@post_successfully_saved ||
    @topic_changes.errored? ||
    @opts[:bypass_bump] == true ||
    @post.whisper? ||
    only_hidden_tags_changed? ||
    @topic.min_seconds_between_bumps == 0 ||
    (@topic.min_seconds_between_bumps > 0 && 
      (Time.now - @topic.bumped_at) / 60 < @topic.min_seconds_between_bumps) 
end

Not sure about the 0 value indicating that the topic should not be bumped at all. It can confuse some users. If done this way, I think if it would be better UX if the webapp does not expose the zero directly to the user.

3 Likes