[PM-32122] Add cookie acquisition navigation#6529
Draft
SaintPatrck wants to merge 2 commits intomainfrom
Draft
Conversation
Implement the cookie acquisition UI for browser-to-app cookie synchronization. This screen is presented when the SDK requests cookies for a hostname, allowing the user to launch a browser to complete sign-in and sync cookies back to the app. - Add CookieAcquisitionViewModel with SAE pattern, subscribing to cookieCallbackResultFlow for acquisition results - Add CookieAcquisitionScreen with illustration, launch browser button, continue without syncing option, and help link - Add CookieAcquisitionNavigation with type-safe route - Add CookieAcquisitionHandler for extracted action callbacks - Add named path attributes to ill_sso_cookie_sync.xml for theme-aware coloring - Add string resources for screen text - Add ViewModel and Screen unit tests (18 tests) Co-Authored-By: Claude <noreply@anthropic.com>
Connect the cookie callback deeplink to AuthRepository so CookieAcquisitionViewModel receives results via cookieCallbackResultFlow. Add RootNav routing for the cookie acquisition screen with slide-up transitions and give it precedence over all special circumstances. Include debug menu trigger and associated tests. Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
|
Great job! No new security vulnerabilities introduced in this pull request |
| is RootNavState.VaultUnlocked -> { | ||
| if (!navController.popBackStack( | ||
| route = CookieAcquisitionRoute, | ||
| inclusive = true, |
Collaborator
There was a problem hiding this comment.
Is this popBackStack needed. I would expect the properties on the rootNavOptions would handle it for you.
Also curious why the navigate is surrounded by the if?
| action.cookieAcquisitionRequest.hostname == | ||
| userState.activeAccount.environment.environmentUrlData | ||
| .baseWebVaultUrlOrDefault -> { | ||
| RootNavState.VaultUnlockedForCookieAcquisition |
Collaborator
There was a problem hiding this comment.
This seems too low in the priority.
If a user gets the SetPassword state but the cookie needs refreshing they will be locked out of the app
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-32122
📔 Objective
Add the cookie acquisition deeplink callback wiring, and root navigation integration for the SSO cookie sync flow.
bitwarden://sso_cookie_vendordeeplink callback throughAuthCallbackViewModeltoAuthRepository.setCookieCallbackResult()📸 Screenshots
Screen_recording_20260212_160150.mp4