-
Notifications
You must be signed in to change notification settings - Fork 998
Aligning recovery code with connect flow #5762
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
Aligning recovery code with connect flow #5762
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
3e16354
to
11c24a9
Compare
11c24a9
to
85dcf1a
Compare
0ff482b
to
cff88fe
Compare
ceb1f46
to
7348ea6
Compare
Task/Issue URL: https://app.asana.com/1/137249556945/project/608920331025315/task/1209669301264637 ### Description Allows the sync settings screen to automatically refresh while it is being viewed. This is in part to provide a better UX to #5762. ### Steps to test this PR - [x] Enter sync settings with sync disabled. Verify everything looks as expected and there is no visual updates to the UI - [x] Enable sync. Verify everything looks as expected and there is no visual updates to the UI. - [x] Sync with another device, such that you can see two devices in this view; your device, plus one other - [x] On the other device, turn off sync - [x] Back on the first device, verify it updates within the next 5s to show the other device is now gone - [x] Disable `sync / automaticallyUpdateSyncSettings` feature flag and return to the sync settings screen. Repeat the above test and verify the other device doesn’t automatically update since background refreshing is disabled (i.e., fallback to original behaviour when flag disabled) - [x] Smoke test any other related sync scenarios you think might be problematic because of this Co-authored-by: Craig Russell <[email protected]>
067af5f
to
6a825cc
Compare
6a825cc
to
7a703cc
Compare
9cedfd5
to
53cc621
Compare
53cc621
to
193b7ae
Compare
193b7ae
to
978ce08
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looking good.
I need to test, and I want to take another detailed pass around pixels.
sync/sync-impl/src/test/java/com/duckduckgo/sync/impl/ui/SyncWithAnotherDeviceViewModelTest.kt
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncWithAnotherActivityViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncWithAnotherActivityViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncConnectViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncWithAnotherActivityViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncLoginViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/EnterCodeViewModel.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/SyncAccountRepository.kt
Outdated
Show resolved
Hide resolved
498edca
to
16ea2ba
Compare
Appreciate the first pass review @cmonfortep; all feedback addressed. back to you for a 2nd round. |
sync/sync-impl/src/main/java/com/duckduckgo/sync/impl/ui/SyncConnectViewModel.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All test cases worked.
Found one issue with the pixel, added a comment. It's from reader device (unauthenticated) reading QR code from another device (authenticated). We are not signaling that pixel.
16ea2ba
to
239b86d
Compare
239b86d
to
ee2865a
Compare
Merge activity
|
Task/Issue URL: https://app.asana.com/0/1209272522976873/1209569901379925
Description
Aligns recovery code flow with connect code flow.
package:mine & (message~:"Sync-exchange|InvitationFlow”)
Steps to test this PR
There is a matrix of test cases detailed here: test scenarios
Feature enabled
internal
builds on two devices.exchangeKeysToSyncWithAnotherDevice
FF on all devices.Feature disabled on all devices
In these tests, we want to ensure existing behaviour happens and there’s no regressions introduced even when the FF is disabled.
exchangeKeysToSyncWithAnotherDevice
is disabled on all devices.Feature enabled on some, disabled on others
Smoke test cross-platform
Verify errors states
runCatching
, which other error flows / codes aren’t handled well enough etc…)Verify pixels