[PM-32810] feat: Add Bank Account vault, listing, and search surfaces#6877
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6877 +/- ##
==========================================
+ Coverage 85.08% 85.72% +0.63%
==========================================
Files 948 843 -105
Lines 62720 60719 -2001
Branches 8909 8915 +6
==========================================
- Hits 53368 52049 -1319
+ Misses 6302 5606 -696
- Partials 3050 3064 +14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
2411583 to
42bb0e7
Compare
3797c7d to
bfcd3f6
Compare
42bb0e7 to
43c1cf8
Compare
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR adds Bank Account discovery surfaces (My Vault group, dedicated listing, search) and copy actions for account/routing numbers, gated behind the Code Review DetailsNo actionable findings. Notable observations:
|
43c1cf8 to
69ab81c
Compare
| } | ||
| } | ||
|
|
||
| item(key = "bank_accounts_group") { |
There was a problem hiding this comment.
Should something like this be behind a feature flag?
| override val id: String, | ||
| override val name: Text, | ||
| override val startIcon: IconData = IconData.Local( | ||
| BitwardenDrawable.ic_payment_card, |
There was a problem hiding this comment.
Minor but can you add a name to this param
| ) | ||
|
|
||
| val content = actual as VaultState.ViewState.Content | ||
| assertEquals(2, content.bankAccountItemsCount) |
There was a problem hiding this comment.
Can we assert the full content like the other tests.
…faces Surfaces Bank Account ciphers in the My Vault group list, the dedicated listing screen, and search, including overflow copy actions for account and routing numbers.
Hides the My Vault Bank Account group when the NewItemTypes feature flag is off, matching the gating already applied to the add-item type selector. Also names the BankAccount startIcon param and expands the bank-account toViewState test to assert full Content.
31f0fe7 to
069f696
Compare
| isRefreshing = false, | ||
| restrictItemTypesPolicyOrgIds = state.restrictItemTypesPolicyOrgIds, | ||
| validTotpIds = validTotpIds, | ||
| isNewItemTypesEnabled = featureFlagManager.getFeatureFlag(FlagKey.NewItemTypes), |
There was a problem hiding this comment.
Normally we would put this on the state and observe realtime change to the flag.
Subscribes to FlagKey.NewItemTypes via getFeatureFlagFlow so changes propagate reactively, mirroring the existing CredentialExchangeProtocolExport pattern. Adds isNewItemTypesEnabled to VaultState; toViewState callers and the add-item-type selector read from state. The flag handler also re-runs updateVaultState so showBankAccountGroup reflects the latest flag value without waiting for the next vault data emission. Also adds showBankAccountGroup = true to the two VaultScreenTest cases that exercise the bank account group, since the fixture default is now false.
|
Thanks @david-livefront |
🎟️ Tracking
PM-32810
Stacked parent: #6875
📔 Objective
Surface Bank Account ciphers across the discovery surfaces — the My Vault group list, the dedicated Bank Account listing screen, and search — and add overflow copy actions for account number and routing number. Pairs with the detail-screen slice in #6875 to complete the read-only Bank Account experience.
📸 Screenshots