Unread messages blue numbers appearing in Latest lately (when they shouldn't)?

It is tricky to debug this without knowing the topic that was causing the issue. If you notice the issue again, can you try to make a note of which topics it’s happening on?

Based on your settings on Discourse, you should see a blue dot after the title on the Latest list for topics that were created in the past couple of days. These topics should also be listed in your New topics list. If you see a blue icon with a number in it in the Latest topics list, this is supposed to indicate that there are new posts in a topic that you are watching or tracking. These topics should also appear in your Unread list. You will be automatically set to watch a topic if you’ve spent 4 minutes reading the topic, so possibly this is what happened.

2 Likes

This one: Could Discourse offer a StackExchange-like SSO/Federated login service? and this one: WordPress comments are showing were showing “1 unread” message. This was just before I created this topic we’re in.

Not sure what was happening on the “blue dot” front, as I didn’t pay too much attention to this.
I do understand all you say and it was indeed what I had in mind. I am (pretty) sure the blue icon wasn’t supposed to be there. They weren’t watched automatically because of time spent in it. As said, I believe I never opened them, and I checked afterwards, they were on “normal” for both of them.

On my previous visit of meta today, I believe there was one topic with this “problem”. I didn’t bother looking too much, so I don’t remember which one, and I’m not totally sure. But what’s described in the beginning of this message, I’m quite confident it happened and shouldn’t have. I think I never saw that before today. Hope it may help.

2 Likes

I just got another topic showing 1 unread message (blue number) when that shouldn’t have happened (or I don’t understand why). This one: Email for specific category It’s really not happening frequently. Just once in a while. It seems it always only shows 1 unread message (I’m not sure yet about that. I’ll try to keep track). I tried to compare the 3 topics it happened until now, I don’t see any noticeable pattern.

Nobody else does notice this ?

(Or it’s a date/time thing ? It seems maybe it happened again exactly 1 week after the last time ?)

After giving some thought to this thing, it could be that it appears when leaving the browser open on latest and I return and click the blue bar “See x new or updated topics”. It would only happen in that situation to messages posted during a short timeframe early Sunday morning !?

Not sure at all (I’ll check the theory going forward), but it would seem to make sense according to what I witnessed. There is maybe not many people leaving their browser open on latest for extended periods of time (which I happen to do), so that could explain it hasn’t been seen very much.

If you want to try to reproduce @simon , you can give it a shot: Let your browser open on latest during next week-ends and hit the blue bar to see new messages after a while. If I guessed correctly, maybe it will happen.

I just continue on this: Where I’m at now is that it seems to be linked to keeping meta open in a browser on latest and clicking over time on the blue bar to see the new messages. Interesting point: It just happened for one topic, I entered into it, got out with the back button, and there were more of them after that (indeed only a “1” blue number for each topic every time), but just hitting the “reload page” in the browser made them disappear.

So it may happen when not reloading the page for several days, and using it “continuously” (unless the problem is on my side !?)

2 Likes

I occasionally get this. I found this topic after it happened again (blue disc number on “normal” and I think previously-unseen topic) and searching to find out what the numbers are really meant to represent.

1 Like

It seems to be a bug (it represents “unread” messages, but you’re not even tracking or watching these topics ! You often didn’t even ever enter them). Now, it’s the same for me: It’s quite “occasional”. It would be good to find one day where it comes from and to solve it.

2 Likes

Here is a post I bookmarked yesterday. The blue circle is “new” and the grey one is “unread”:

2 Likes

But here’s something from meta which calls the blue disc numbers “unread” (the number 1 is in a blue disc):

Your unread topics appear here.

By default, topics are considered unread and will show unread counts 1 if you:

  • Created the topic
  • Replied to the topic
  • Read the topic for more than 4 minutes

Or if you have explicitly set the topic to Tracked or Watched via the notification control at the bottom of each topic.

Visit your preferences to change this.

I guess I am straying off topic here…

There is something else, which seems totally unrelated, but somehow close: I see these past few days a big number of unread messages on some topics I am following (watching). These blue circles are on topics I am indeed following, not like the bug described above.

The number of “unread posts” is far higher than the number of actual messages in the topic. I suspect there was maybe this number of messages DELETED in the topic !? And the deleted messages appear as “unread” when they aren’t in fact there anymore ? Latest occurrence for me was this topic: Discourse Signatures (I am shown 92 unread messages when there are 4 replies in it)

This would be another bug related to “blue circles”/“unread messages”, I guess.

1 Like

Yes, the count will be off when there are deletions.

2 Likes

Wouldn’t it be worth to fix this one day ? Taking care of the “unread” count when deletions happen. Your answer seems to imply that no :confused:

The current functioning makes it very obvious there was a massive deletion, and is a little weird (you get notified you have x posts to read, when you’ve already read them and they aren’t even there anymore)

It is a very complicated change and we can not fix this count without extreme performance costs.

The front page would have to look at every single post on every single topic it is showing to get 100% accurate counts. This is too expensive and would lead to a very slow front page.

5 Likes

Fair enough.
I don’t know how it works, so forgive me if my thinking is off. In my mind, I was imagining you could do something server-side when deletions occurs: Correct somehow the counts for all users to account for the deletions. I get that it doesn’t make sense to check each time if there was maybe deleted posts on the “front page”, especially as deletions are rather the exception (new posts are the rule).

1 Like

The counts are all dynamic.

  1. We know what post_number you read up to
  2. We know know the highest post_number for the topic
  3. Critical info we prefer not to break existing hyperlinks to a topic, so we never re-number posts. If you make a post after 1000 deletions it is post_number 1001.

We do not store a cache on the server for every user about the actual counts. If we did that we would have a potentially very expensive recalculation every time a post is made or deleted. For example:

  • post 1
  • post 2 deleted
  • post 3
  • post 4 deleted
  • post 5

You need to count everything for every user on deletion and keep this cache in sync with such an implementation. The cost of all this accounting is very very high.

3 Likes

Thanks for these explanations @sam !

This doesn’t seem “that bad” (I guess everybody can understand that the count includes deleted posts). Now, I have some troubles understanding how this lead to what I witnessed. For example with the last “92 unread posts” I got. I don’t think there were 92 new posts created AND deleted between two of my visits.

The big question is: What happens when the difference between (highest post number - last post number read) is NEGATIVE ? Isn’t the system currently showing the absolute number of that negative amount as unread posts ? If yes, this is just what would really need to be corrected: Do NOT show any negative number as unread messages.

The problem would be when “highest post_number” gets actually smaller than “what post_number you read up to”, because the last or several of the last posts were deleted. As long as the last post of the topic isn’t deleted, there shouldn’t be any problem according to my understanding of your explanations. In my above example, I believe we may have gotten to “highest post_number” = OP, because everything was deleted except the very first post of the topic.

2 Likes

We guard against that. You get no blue bubble … we don’t display (-55)

Eg:

  • post 1
  • post 2
  • post 3   ← you read till here
  • post 4
  • post 5

Then:

  • post 1
  • post 2
  • post 3   ← you read till here
  • post 4
  • post 5

Nothing is unread for you, no blue bubble.

Then:

  • post 1
  • post 2
  • post 3   ← you read till here
  • post 4
  • post 5
  • post 6

You have 3 unread… you actually only have 1, but that is the cost of the current implementation which can not be improved in any trivial way.

4 Likes

@sam, I do understand what you’re saying and how you’re explaining it (which makes sense and is very clear), BUT this doesn’t seem to match what I see happening here on Discourse :confused:

Very last example: Just now, I have been shown 29 unread posts in this topic: Discourse BBCode . I’m pretty sure there wasn’t ANY unread messages last time I was here (not that long ago), and now I see OP + only 2 posts from 2 hours ago (total messages in the topic = 3). I don’t think there were 27 new posts created and deleted since my last visit, or was there ? (that would be a simple explanation !). Could you please have a look ? (If not, why did a “29 unread” blue bubble appear ?)

Maybe this is linked to these kind of topics: “Replies on this topic are automatically deleted after a month”. Or maybe it is linked to when the user started to follow the topic ?

I’m a little lost here :wink:

@sam Just FYI, I now had a 146 unread posts blue bubble about this topic: Discourse Calendar without being able to understand how it’s possible according to your above explanations. The only thing I can think of is that the mark of till where you’ve read goes down when the actual post is deleted (I know you said it wasn’t the case. Then I don’t know. But I know that big deletions lead to big unread messages bue bubbles)

There are 139 deleted replies on that topic, this is certainly the reason.

I think we have some normalising code that resets highest read number when your last read post does not exist, we may consider adjusting this

4 Likes

Great. That indeed is what it was all about.

Just another quick question as I saw another topic with approx 200 posts deletion: Why not have an “archive” category and move these posts into “archived topics” there, rather than outright delete ? This category could be excluded from searches by default, but with the possibility to do a search in it. This way, you’re keeping past “knowledge” and discussions with the ability for everyone to access, search and view it (and the “cleaning” or “pruning” effect you’re after is also achieved).

Would the “cost” of keeping these messages accessible for everyone be really too high ? (Side question: Are you totally deleting, or can you still access these messages internally ? Meaning they are only “publicly” deleted).

Thanks.

The way I see it, if people insist on ignoring road signs then don’t be surprised when you drive into a truck.

Also see:

2 Likes