-
-
Notifications
You must be signed in to change notification settings - Fork 7.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Old private messages are marked as read without any user interaction #16986
Comments
Same happened w/me too |
One theory is that this is a side effect of #10886, potentially along with Zulip windows reloading when new messages appear -- we might eat your oldest unread message due to a background reload corner case, and these happen to be PMs. I attempted to test this theory as follows, without luck:
Ideas of further possibly low-frequency workflows would be appreciated. But possibly we may accidentally fix this when we resolved #10886. |
I found a highly reproducible bug using the "Mark as unread" feature, which triggers a rerender via message_list.rerender_view(). The reproducer was as follows: * Navigate to a narrow by going to All messages and using the `S` hotkey. * Mark as unread to mark several messages as unread in that view. * Notice that the message that had been selected in home_message_list is immediately marked as read again. What was happening is that the reselect_selected_id call for message_lists.home (All messages) was incorrectly re-marking the currently selected message as read, even though (1) that view was not visible and (2) this was an internal rendering change that could not be the first time the message was selected. Because only the current message_list has marking messages as read blocked, it's still able to mark the currently selected message as read. All the callers of reselect_selected_id are internal rendering code paths that are not intended to be user-visible; as a result, they should not change the unread state either. The bug fixed here is a potential root cause of zulip#16986, but I haven't had a chacne to confirm it.
I found a highly reproducible bug using the "Mark as unread" feature, which triggers a rerender via message_list.rerender_view(). The reproducer was as follows: * Navigate to a narrow by going to All messages and using the `S` hotkey. * Mark as unread to mark several messages as unread in that view. * Notice that the message that had been selected in home_message_list is immediately marked as read again. What was happening is that the reselect_selected_id call for message_lists.home (All messages) was incorrectly re-marking the currently selected message as read, even though (1) that view was not visible and (2) this was an internal rendering change that could not be the first time the message was selected. Because only the current message_list has marking messages as read blocked, it's still able to mark the currently selected message as read. All the callers of reselect_selected_id are internal rendering code paths that are not intended to be user-visible; as a result, they should not change the unread state either. The bug fixed here is a potential root cause of zulip#16986, but I haven't had a chacne to confirm it.
I found a highly reproducible bug using the "Mark as unread" feature, which triggers a rerender via message_list.rerender_view(). The reproducer was as follows: * Navigate to a narrow by going to All messages and using the `S` hotkey. * Mark as unread to mark several messages as unread in that view. * Notice that the message that had been selected in home_message_list is immediately marked as read again. What was happening is that the reselect_selected_id call for message_lists.home (All messages) was incorrectly re-marking the currently selected message as read, even though (1) that view was not visible and (2) this was an internal rendering change that could not be the first time the message was selected. Because only the current message_list has marking messages as read blocked, it's still able to mark the currently selected message as read. All the callers of reselect_selected_id are internal rendering code paths that are not intended to be user-visible; as a result, they should not change the unread state either. The bug fixed here is a potential root cause of #16986, but I haven't had a chacne to confirm it.
After some amount of time (usually a few weeks or months), private messages are marked as read without any user interaction. This appears in both web and mobile. The messages are subtracted from the unread count, and when I go to the narrow of PMs with that person, the messages are not shown with a blue bar on the left fading away, as I would expect if the messages were being marked as read when I opened the message.
This appears to happen in chronological order (that is, if I have 4 unread PMs from different people, the oldest ones will disappear first).
The text was updated successfully, but these errors were encountered: