Yes, an early investigation on my end also suggests that it's impossible for this to be a recent breakage.
I have a hunch as to what might be going on, but this is mostly untested and unsubstantiated for now, so take it with a massive grain of salt:
The code that generates these "Recent Posts" tries to keep database queries small in size by only checking the most recent few hundred posts. If the unread post you couldn't see was relatively old (say, there were a few hundred posts made in-between), it would never be found by it. For example: if I mark a recent thread as unread, it starts showing up in the "Recent Posts" for the right category, but if I go a few pages down and mark a thread in there, this won't be reflected in "Recent Posts" at all.
I am not yet sure if the significant factor here is the ID of the
OP, or the ID of the
most recent post in that thread. I suspect it might be the former - when I marked robinofoxley's thread (the one you pointed to) as unread, it did not show up in "Recent Posts", possibly because the thread itself is "old".
As I said before, this is a behemoth of a function, and reading it while sober makes me ache, so I can't confirm this with any confidence just yet, but it seems like a very likely explanation for what's going on.
I had a similar disagreement with SMF's devs back in 2015. The "Status Notices" list in the sidebar of our
homepage wouldn't work, because their code would only check the last ~175 posts on the entire forum, and we usually had more than 175 posts between notices being posted. I suggested removing the restriction, but in short I was told that:
- The problems we're encountering will never happen on a big forum.
- The project leader runs multiple forums and has never had a problem, therefore the problem doesn't exist.
- Lifting these restrictions would KILL YOUR SERVER!!1!! because of VERY LARGE DB QUERIES!!!!!!
- It is rude and presumptuous of me to point out that SMF routinely performs large db queries, and that it's the DBMS's job to handle those correctly
In other words, it is unlikely that SMF will be fixing it soon, but we should either lift or greatly slacken these limits to see if it helps.