New / Unread counts missing when "too many tracked topics"

I think I am ready to put this to rest post this commit: FEATURE: implement capping of new/unread · discourse/discourse@335be27 · GitHub

Copied from commit message:

We cap new and unread at 2/5th of SiteSetting.max_tracked_new_unread

This dynamic capping is applied under 2 conditions:

  1. New capping is applied once every 15 minutes in the periodical job, this effectively ensures that usually even super active sites are capped at 200 new items (+ number of new topics created in 15 minutes)

  2. Unread capping is applied if a user hits max_tracked_new_unread,
    meaning if new + unread == 500, we defer a job that runs within 15 minutes that will cap user at 200 unread

This logic ensures that at worst case a user gets “bad” numbers for 15 minutes and then the system goes ahead and fixes itself up

This resolves the issue completely even for super active sites like @charleswalter heloforos, with ZERO config needed by users or admins, and no confusing message to end users.

7 Likes