Skip to content

[PM-32806] feat: Add Passport vault, listing, and search surfaces#6929

Draft
SaintPatrck wants to merge 3 commits into
mainfrom
new-item-types/PM-32806_passport-vault-listing-search
Draft

[PM-32806] feat: Add Passport vault, listing, and search surfaces#6929
SaintPatrck wants to merge 3 commits into
mainfrom
new-item-types/PM-32806_passport-vault-listing-search

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

@SaintPatrck SaintPatrck commented May 15, 2026

🎟️ Tracking

📔 Objective

Integrates the Passport cipher type into the broader vault surfaces so users can discover and act on passport entries outside of direct navigation. Adds the Passport section on the vault landing (count + tappable row using the Identity icon), enables the Passports listing screen, surfaces passports in vault search results, and emits the "Copy passport number" quick action in the listing-row overflow menu (driven by CopyableCipherFields.PASSPORT_PASSPORT_NUMBER). Behavior remains behind the pm-32009-new-item-types flag.

📸 Screenshots

Figma Actual
Cell Cell
Cell Cell

@SaintPatrck SaintPatrck added the ai-review-vnext Request a Claude code review using the vNext workflow label May 15, 2026
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:feature Change Type - Feature Development labels May 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 15, 2026

Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR integrates the Passport cipher type into the broader vault surfaces (landing group, dedicated listing screen, search, and Copy passport number overflow action), gated behind the pm-32009-new-item-types flag. The implementation mirrors the existing License/BankAccount pattern across SearchNavigation, SearchViewModel, VaultItemListingNavigation, VaultItemListingViewModel, VaultViewModel, VaultHandlers, VaultContent, and the associated data extension mappers, with the landing-page row using the new ic_passport drawable. The copy handler in all three view models guards against null/blank passport numbers, and CipherListViewExtensions.toOverflowActions correctly gates the copy action on both CipherListViewType.Passport and CopyableCipherFields.PASSPORT_PASSPORT_NUMBER. Tests cover the new state fields, navigation, screen interactions (display, hide, click), overflow handlers (success and null paths), and the listing/search type mappings.

Code Review Details

No findings.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

❌ Patch coverage is 72.11538% with 29 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.37%. Comparing base (38a5e6f) to head (b2794a7).

Files with missing lines Patch % Lines
...rden/ui/platform/feature/search/SearchViewModel.kt 57.14% 2 Missing and 4 partials ⚠️
...t/feature/itemlisting/VaultItemListingViewModel.kt 60.00% 1 Missing and 5 partials ⚠️
...ure/itemlisting/model/ListingItemOverflowAction.kt 0.00% 6 Missing ⚠️
...bitwarden/ui/vault/feature/vault/VaultViewModel.kt 75.00% 0 Missing and 4 partials ⚠️
...ui/vault/feature/vault/util/VaultDataExtensions.kt 50.00% 3 Missing ⚠️
...itemlisting/util/VaultItemListingDataExtensions.kt 77.77% 0 Missing and 2 partials ⚠️
...rm/feature/search/util/SearchTypeDataExtensions.kt 66.66% 0 Missing and 1 partial ⚠️
...t/bitwarden/ui/vault/model/VaultItemListingType.kt 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6929      +/-   ##
==========================================
+ Coverage   86.21%   86.37%   +0.15%     
==========================================
  Files         995      864     -131     
  Lines       64956    62548    -2408     
  Branches     9116     9085      -31     
==========================================
- Hits        56003    54023    -1980     
+ Misses       5813     5401     -412     
+ Partials     3140     3124      -16     
Flag Coverage Δ
app-data 17.15% <0.00%> (-0.22%) ⬇️
app-ui-auth-tools 19.37% <0.00%> (-0.35%) ⬇️
app-ui-platform 15.55% <16.49%> (-0.62%) ⬇️
app-ui-vault 28.18% <63.91%> (-0.49%) ⬇️
authenticator 6.33% <0.00%> (+0.01%) ⬆️
lib-core-network-bridge 4.12% <0.00%> (+0.02%) ⬆️
lib-data-ui 1.13% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@SaintPatrck SaintPatrck removed the app:authenticator Bitwarden Authenticator app context label May 15, 2026
Surface Passport ciphers across vault home, item listing, and search now
that the SDK exposes both CipherListViewType.Passport and
CopyableCipherFields.PASSPORT_PASSPORT_NUMBER. This lets users browse
and copy their own passport entries end-to-end behind the
pm-32009-new-item-types flag, completing the three-PR cadence for
Passport that mirrors the merged License rollout.
@SaintPatrck SaintPatrck force-pushed the new-item-types/PM-32806_passport-vault-listing-search branch from c9fe972 to b2794a7 Compare May 15, 2026 20:23
@github-actions github-actions Bot added the app:authenticator Bitwarden Authenticator app context label May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review-vnext Request a Claude code review using the vNext workflow app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:feature Change Type - Feature Development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant