Just wanted to make sure it wasn’t part of some other bug…
… I was noticing odd Unread counts - I assume this was whisper posts at the ends of topics coming and going.
I was aiming for checking there wasn’t bug in the topic / post reading logic.
However this might actually be considered a bug…
I consider “dismiss” a “dangerous” operation from a users reading point of view…
In so far as you can “dismiss” topics you haven’t seen yet.
Topics or posts have been created in the between loading the list of unread topics and confirming the dismiss can be incorrectly dismissed.
Yes, possibly a small window - but with users leaving browser windows open for days now - it might be bigger than you first think.
In the same way as a delete operation takes the exact topic / post ID’s and passes those to the server “dismiss” should so the same…
… only dismissing those topics that were in the view when the user selected “dismiss”.
Currently it just passes:
So no ID’s - meaning - everything is dismissed regardless of if the user was aware of it or not.
However, only Staff have the ability to select topics using the selection tool menu thing on the topic listings. Might be worth opening up that ability to all users? (which may be a feature request)
Here is the two related form datas (using the topic selection tool, then without said topic selection tool).
API level support is great … but to be clear - even “dismiss all” should pass the ID’s.
And really to be absolutely sure you are dismissing the right state, both the topic ID and post ID of a topic should be passed.
Your view of the last known poster may impact your decision to dismiss.
If you have an old system where you had “experimental whispers” enabled and were using them make sure you run:
./launcher enter app
rails c
Topic.reset_all_highest!
There is an edge case I will work on fixing where unread counts are higher than what they really are. In particular, if there is a whisper (or deleted post) between your old highest read post number and last visible post number on topic. I have an idea on how to fix but it is not a show stopper.