Skip to content

Conversation

@aj-rosado
Copy link
Contributor

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-27001

📔 Objective

If the user only has one account, it should skip the account selection screen and go directly to the verify password on the CXP.

When the user has no other accounts, verify password screen should have a ❌ on the top left instead of a back arrow and should cancel the operation returning to the original app.

📸 Screenshots

Screen.Recording.2025-10-20.at.15.42.14.mov

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@github-actions
Copy link
Contributor

github-actions bot commented Oct 20, 2025

Logo
Checkmarx One – Scan Summary & Details02ee99bd-8931-411a-aa28-eb1d08131f82

Great job! No new security vulnerabilities introduced in this pull request

@codecov
Copy link

codecov bot commented Oct 20, 2025

Codecov Report

❌ Patch coverage is 70.27027% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.79%. Comparing base (74b9a12) to head (3d349bb).
⚠️ Report is 11 commits behind head on main.

Files with missing lines Patch % Lines
...exportitems/verifypassword/VerifyPasswordScreen.kt 30.00% 5 Missing and 2 partials ⚠️
...ortitems/verifypassword/VerifyPasswordViewModel.kt 76.92% 0 Missing and 3 partials ⚠️
...en/ui/platform/feature/rootnav/RootNavViewModel.kt 85.71% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6055      +/-   ##
==========================================
+ Coverage   84.76%   84.79%   +0.03%     
==========================================
  Files         737      732       -5     
  Lines       55285    55184     -101     
  Branches     7623     7647      +24     
==========================================
- Hits        46861    46795      -66     
+ Misses       5764     5712      -52     
- Partials     2660     2677      +17     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aj-rosado aj-rosado marked this pull request as ready for review October 20, 2025 17:04
data object CancelExport : VerifyPasswordEvent()

/**
* Show a snackbar with the given data .
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you drop the extra space before the period

@IgnoredOnParcel
val input: String = "",
val dialog: DialogState? = null,
val showResendCodeButton: Boolean = false,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you fix this formatting

specialCircumstance is SpecialCircumstance.CredentialExchangeExport -> {
RootNavState.CredentialExchangeExport
if (userState.accounts.size == 1) {
RootNavState.CredentialExchangeExportSkipAccountSelection(userId = userState.accounts.first().userId)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this hitting the line limit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was, I have removed the MaxLineLength suppresion and formatted it

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for that!

*/
val isContinueButtonEnabled: Boolean
get() = input.isNotBlank() && dialog !is DialogState.Loading
get() = input.isNotBlank() && dialog !is DialogState.Loading
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous formatting was correct

.completeCredentialExport(
exportResult = ExportCredentialsResult.Failure(
error = ImportCredentialsCancellationException(
errorMessage = "User cancelled import.",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this message get displayed anywhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, it appears on the error stacktrace of the app that is trying to import.
Screenshot_1761070921

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I wasn't sure if we needed this to be localized. If it's just part of the stacktrace, this is fine.

@aj-rosado aj-rosado added this pull request to the merge queue Oct 22, 2025
@aj-rosado
Copy link
Contributor Author

thanks @david-livefront

Merged via the queue into main with commit e610a75 Oct 22, 2025
9 checks passed
@aj-rosado aj-rosado deleted the PM-27001/skip-account-selection-only-one-exist-cxp branch October 22, 2025 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants