Closed jmartinesp closed 1 month ago
:iphone: Scan the QR code below to install the build (arm64 only) for this PR. If you can't scan the QR code you can install the build via this link: https://i.diawi.com/jShSH2
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 82.66%. Comparing base (
f0bb1fa
) to head (1473afc
). Report is 6 commits behind head on develop.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
We should be extra careful to also include this same behaviour to account deactivation after https://github.com/element-hq/element-x-android/pull/3479 if this PR is merged.
Done in 1473afc10c3bb0c5fd61ecdaec219628f44e1f5a if you want to have a quick look @jmartinesp
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
Content
Making sure to unregister the delegate should fix the first part of the issue.
For the other one, adding
RustSyncService.isServiceReady
to check if we should start/stop the service, which is enabled by default and set to false on destroy should help.We should be extra careful to also include this same behaviour to account deactivation after https://github.com/element-hq/element-x-android/pull/3479 if this PR is merged.
Motivation and context
Some reasons why this could happen:
ClientDelegate
could receive adidReceiveAuthError
callback call on a logout, which could trigger another logout when every Rust object had already been destroyed.LoggedInFlowNode
will try to start it again automatically when it detects we still have internet connection.Tests
If it doesn't create a crash anymore, it's fixed. Also, failures while logging out should restore the client delegate and allow the user to keep refreshing their token and receive auth errors.
Tested devices
Checklist