Fix unread indicator showing for own messages after logout/login #5991
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



🎯 Goal
Problem
After logout/login, reopening a chat where a message was sent offline shows an unread label even when all "unread" messages are from the current user.
🛠 Implementation details
Root Cause
When
lastReadMessageIdis not found in the messages list (can happen after logout/login when read state is out of sync),calculateUnreadLabeltreated all messages as unread without checking if they're from the current user. The user's own messages were incorrectly marked as unread.Solution
Added a check in
UnreadLabelCalculator.calculateUnreadLabel()whenlastReadMessage == null:If all unread messages are from the current user, return null (no unread label)
🎨 UI Changes
Screen_recording_20251104_134835.webm
Screen_recording_20251104_135705.webm
🧪 Testing
Expected: No unread label should be displayed (user has already seen their own messages)
Actual: Unread label is incorrectly displayed