Fix notification dismissal marking DMs as read without user viewing them #87
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
When a user dismisses a notification (e.g., clicks it away or clears it), the associated direct message conversation is marked as read, even if the user never actually viewed the messages. This causes the user to lose track of incoming DMs.
Steps to Reproduce
Expected Behaviour
Dismissing a notification should not mark the underlying messages or conversation as read. Only explicitly opening and viewing the conversation should mark messages as read.
Actual Behaviour
Dismissing a notification marks the associated direct message conversation as read, causing the user to miss messages they have not actually seen.
Environment
Not provided.
Reported by retoor via DevPlace.
I am picking this ticket up now.
First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Starting research round 1 of at most 5.
I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
The ticket was investigated against the current source and test suite. Notification dismissal routes exclusively update the
notificationstable; themessagestable is never modified by that code path. An existing regression test (test_notification_open_does_not_mark_messages_read) directly verifies that opening a DM notification does not mark messages as read, and no other code marks a conversation read outside the WebSocket handler.Because the reported behavior does not occur in the present codebase, the ticket describes a scenario that cannot be reproduced.
Could you confirm whether this description still matches the expected behavior, or should the ticket be closed?
I am picking this ticket up now.
First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
I need input to continue.
What I tried: Retried this step 3 times.
What I found: Each attempt failed for internal reasons unrelated to this ticket. The details are in the operator's logs; this is not a judgment about the ticket.
The system needs operator attention before I can continue. Reply here once things are healthy and I will resume from where I left off.
I am picking this ticket up now.
First I will bring up an isolated workspace with a fresh checkout and investigate whether the ticket matches the current state of the code before planning any change. I will announce every step here before I take it.
Starting research round 1 of at most 5.
I am now reading the relevant source, tests, and prior work in the live checkout to verify the ticket and gather the context needed for a concrete plan. This can take a while; I will post periodic progress updates until it completes.
I reviewed the ticket against the current source and tests. Dismissal of a notification only marks it as read in the database and does not touch the messages table; the only path that marks DMs as read is explicit navigation to the messages page after clicking the notification. An existing regression test confirms that opening a notification does not mark messages as read, and the reported behavior cannot be reproduced. No clarification from the reporter has been provided.
This does not appear to match the current state of the code. Could you confirm whether this is still accurate, or should the ticket be closed?