"You Have 166 Unread Posts in this Thread", But There Are Only 152 Replies

I am seeing the above concerning the thread:

Explanation?

Most likely, 14 posts were detected to have come from a spammer, and were deleted.

When I look it says there are only 147 posts including the OP.

There were a lot of posts created by a sock that were removed, along with replies to those posts.

Currently there are 185 posts, of which 153 are visible.

Aha! I didn’t realize that ignored posters don’t show up in the post counts. That explains the 147/153 difference. Even if I view the posts manually, they are not added to the post total of 147.

The thing is, Discourse is inconsistent about where those missing posts get counted and where they don’t get counted. For example, the post number you see when you click on the date in the upper-right corner of the post (which I think is also the same as the post number in the post’s URL) does not necessarily correspond to the current post number in the scroll-bar at the right.

That is weird. I went back and clicked on the date/time, it counts the ignored posts in order but does not add them to the total posts that I see.

For example, say there is a thread that has 3 posts and the second post is on my ignore list. Clicking the date/time stamp on each post shows them numbered posts 1,2,3. But the total thread posts only shows two. It would seem that is to get an accurate count of posts read, since you would generally not read ignored posters.

Now I’m curious what counts as a post being “read”. I wonder if I go to a mega thread that has a few thousand posts in it and read the first post then skip to the last post, how many posts get added to my totals.

There seems to be one post number that I think is cast in concrete: Every post has its own URL which serves as a perma-link to the post. That URL includes the post number. No matter how many posts have been hidden or deleted or cornfielded in the thread, I don’t think that number in the URL can ever change.

When you click on the date in the upper right corner of the post, the Post Number it shows matches the number in the URL. That number clearly is a count of every post that has ever been in the thread up to that point. In the scroll bar at the right, the current post number and the total post number appear to NOT count the missing posts.

BTW, here’s another quirk about those perma-link URL’s: Note that they seem to have redundant information in them: Every URL includes both the thread title (or some variant thereof) and also the thread number.

What happens if a thread-in-progress gets its title changed? It appears that all the URL’s will now have the new thread title in their URL’s. But if you have a link somewhere to a post by its older URL, that will still take you to the post.

It turns out that the Discourse server totally ignores the thread-title part of the URL. For example, a post in this thread has the URL:

  https: //boards .straightdope .com/t/you-have-166-unread-posts-in-this-thread-but-there-are-only-152-replies/954594/6

(ETA: I added a bunch of blank spaces to the above to break the link, otherwise, Discobot simply will NOT display the link as it is.)

If you replace the part “you-have-166-unread-posts-in-this-thread-but-there-are-only-152-replies” with anything else, that URL still works. The important part of the URL is the 954594 that identifies the thread and the 6 that identifies the post.

This seems to be correct and I guess it would have to be that way or it could really mess up links to individual posts or searches by user name.