-
Notifications
You must be signed in to change notification settings - Fork 26
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: not able to open some conversations [WPB-11325] #3705
base: release/candidate
Are you sure you want to change the base?
fix: not able to open some conversations [WPB-11325] #3705
Conversation
…into fix/not-able-to-open-some-conversations
Quality Gate passedIssues Measures |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release/candidate #3705 +/- ##
=====================================================
- Coverage 45.31% 45.25% -0.07%
=====================================================
Files 471 472 +1
Lines 15854 15856 +2
Branches 2653 2653
=====================================================
- Hits 7185 7176 -9
- Misses 7898 7906 +8
- Partials 771 774 +3
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Built wire-android-staging-compat-pr-3705.apk is available for download |
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
When there are 2 logged in accounts and user receives a full screen intent call for not currently selected account, then after that it's only possible to open conversations where both accounts are members of.
Causes (Optional)
When a CallActivity is created, it checks whether it's needed to switch account (if the call is for other account), so when user receives a call from a conversation where both accounts are in, it's 50% chance that full screen intent will appear for one or another account (depends which incoming call gets handled first). CallActivity lives in another thread, so when the account is switched and there is another WireActivity in the background, state of both is unsynced and WireActivity still holds previous account from before switching.
Solutions
Implement observer to keep both activities in sync, so when CallActivity switches account it informs WireActivity and it performs navigation to clear the back stack and recompose the home screen with switched account.
Also, functions to observe the screenshot censoring and sync state is fixed to observe account changes, previously it was taking only single first current account value so it wasn't working when account is switched.
Show incoming call as a full screen intent only for calls for current session, as if shown for another session it will switch to that session and the user won't know that he/she is receiving a call as a different account. For calls that are not for the current session it will show the notification as a heads up notification.
We should also consider showing current account name and/or avatar on CallActivity or even make it possible for the user to switch account on incoming call screen if the call can be answered by more than one account.
Testing
Test Coverage (Optional)
How to Test
Have 2 logged in accounts, open the app, turn off the screen, receive a call for the second account and open the app again - it should be switched to that second account.
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
.