-
Notifications
You must be signed in to change notification settings - Fork 6
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
fix: crash when self user is mentioned multiple times in last message [WPB-15157] 🍒 🍒 #3234
fix: crash when self user is mentioned multiple times in last message [WPB-15157] 🍒 🍒 #3234
Conversation
Bencher Report
Click to view all benchmark results
|
Datadog ReportBranch report: ✅ 0 Failed, 3297 Passed, 108 Skipped, 1m 1.4s Total Time |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #3234 +/- ##
===========================================
- Coverage 54.44% 54.44% -0.01%
===========================================
Files 1271 1271
Lines 37018 37018
Branches 3753 3753
===========================================
- Hits 20156 20154 -2
- Misses 15445 15447 +2
Partials 1417 1417 see 2 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Quality Gate passedIssues Measures |
In order to keep migrations order between RC (4.10) and dev (4.11), migrations that appear only in dev were moved forward so that the one added by this fix for RC (#3238) is in right place and all of them are in correct order:
|
This PR was automatically cherry-picked based on the following PR:
Original PR description:
This PR was manually cherry-picked based on the following PR:
Original PR description:
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
When self user receives a message in which he/she is mentioned more than once, the app crashes as long as this message is the last one for the given conversation:
java.lang.IllegalArgumentException: Key "[email protected]" was already used
Causes (Optional)
When making a query, we left-join
MessageMention
with self_user_id or null if there are no mentions in last message for self user, however, this table has primary key consisting of not onlymessage_id
andconversation_id
which means that there can be more than one mention in a given last message, moreover - self user can be mentioned more than once and that's what happens - self user has two mentions in last conversation message and then left-join creates two rows for the given conversation with both mentions.Solutions
Count self user mentions and group results by
conversation_id
so that we're sure that there will only be a single row for each conversation.When I was analysing and making tests of different approaches to find optimal one back then (#3098) I also noticed that having
group by conversation_id
doesn't affect the execution time, so it should be safe to use that.PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.