News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

New post icons on board index when unread replies span more than one page

Started by iwords, April 08, 2012, 11:59:10 AM

Previous topic - Next topic

iwords

I've noticed a problem with the new post indicators displayed on the board index.

If there are sufficient new posts to a thread since a user's last visit to cause it to spill across onto another page, the new post indicators on the board index are not being reset correctly.

I've noticed this on two forums I run, and in testing locally I can reproduce it on a fresh install of SMF with the default theme and no plug-ins installed.

To re-create the problem:-

  • Start a new thread and make a few posts.
  • Log-in as another user, and click 'Show unread posts since last visit.'
  • Click the 'new' icon on the new thread to read the posts made so far.
  • If you return to the board index, you'll see that the new post indicator has been turned off for that section, just as it should be.
  • Now log-in as the original user, return to the thread, and make several more replies so that the thread now spills across to two pages.
  • Log-in as the second user, and click 'Show unread posts since last visit' again.
  • Click the 'new' icon on the updated thread, and you'll be taken to your first unread post on page 1.
  • Click on the link for page 2, and continue to read the rest of the posts in the thread.
  • If you return to the board index, you'll see that the new post indicator is still lit for that section, despite having read all new posts.  If you click 'Show unread posts since last visit' again, it will confirm that there are no unread posts.
To reset the board indicator, you have to click on that board's name, or use 'Mark all messages as read'.

Just to clarify, the problem only arises when the unread posts span more than one page.  I would guess that either the links for the page numbers need to be amended when viewing unread posts to include ?topicseen or something similar or, less preferrably, SMF should mark the thread as read when viewing the first page of unread replies.

iwords

Out of interest, has anyone else been able to replicate this?

I've just tried again on a different platform (Windows, this time, different version of MySQL) and the issue still arises.

emanuele

Hello iwords and thank you for the report! :)

I can indeed replicate this behaviour.

Due to the way SMF handles the board indicator I'm not sure if this is a bug or not, for sure is an inconsistency.

* emanuele goes check how this is working and see if he can do anything.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

iwords

Quote from: emanuele on April 12, 2012, 07:59:44 AM
* emanuele goes check how this is working and see if he can do anything.

Hi emanuele,

Did you manage to find out anything further about this one?

MrPhil

Are you simply returning to the index page (via Back button), or are you actually reloading it? If you just return to it, your browser may use a cached copy which still shows "New". If you reload the page (refresh it) does it still show "New"?

iwords

Not using back button, no.  If you refresh the page, the new indicators are still 'lit.'

Storman™

Think this needs to be tried by two users on seperate machines to get a true confirmation.

iwords

By the way, I wrote the steps to re-create based on using one machine just so that it would be easy for someone to reproduce it.  If I use two users on two separate machines, the issue still arises.

Arantor

This is actually part of how SMF is designed. You can read all the posts in a board by way of unread/unreadreplies but until you actually enter the board or force it to be marked read, it's still considered unread.

But without redesigning how we handle storage of this (and there aren't many options if we want to keep it fast), we can't really do a lot about it.

To sum up: SMF stores the read status of individual topics and also of a board as a whole. The point of the latter is that you can drop the per-topic values if the per-topic value is lower than the board's value, to a point. It's about saving database space and performance (by having fewer rows flying around everywhere)

But you can get it into a tight spot this way, especially if you have 'return to topic after posting' whereupon you never go back to the board index...

I'm going to move this to closed because I don't see how we *can* fix it without pulling apart some of the oldest code in SMF and redesigning it, and it's far too late to be doing that for 2.1. Though I'm not even sure we can realistically change it anyway :(

Advertisement: