Skip to content

[PM-38153] feat: Add Passport add/edit screens#2763

Draft
SaintPatrck wants to merge 8 commits into
mainfrom
vault/pm-38153-ios-passport-add-edit
Draft

[PM-38153] feat: Add Passport add/edit screens#2763
SaintPatrck wants to merge 8 commits into
mainfrom
vault/pm-38153-ios-passport-add-edit

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

@SaintPatrck SaintPatrck commented Jun 5, 2026

🎟️ Tracking

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

📔 Objective

Adds the add/edit screen for Passport vault items: all passport fields in design order, with passport number and national identification number as hidden fields with reveal toggles, and date of birth, issue date, and expiration date shown as read-only localized dates. Passport is available in the add-item picker behind the newItemTypes feature flag and round-trips through the SDK on save.

📸 Screenshots

Edit passport

Figma Actual

Add passport

Figma Actual

Surface synced Passport ciphers in the vault list and search, gated
behind the pm-32009-new-item-types feature flag, mirroring the Driver's
License integration: passport group filtering, id-card icon, type-section
row, and the Copy passport number overflow action. Add/Edit/View screens
remain stubbed pending PM-38153/PM-38154.
@SaintPatrck SaintPatrck added the ai-review Request a Claude code review label Jun 5, 2026
Adds the add/edit SwiftUI surface for Passport items: 13 fields in the
Figma order, with passport number and national identification number as
hidden fields with reveal toggles, and date of birth, issue date, and
expiration date rendered read-only (long localized display, raw ISO
round-trip) pending the shared DateFieldPicker (PM-38360).

Exposes Passport in the add-item picker gated behind the newItemTypes
flag, injects ConfigService into VaultRepository for that gating, wires
the state to SDK PassportView round-trip, and shows the add-item FAB on
the Passports group screen.
Wire passport through both response-model BitwardenSdk.Cipher inits so a
synced passport's fields survive sync-to-store and populate the edit form.
@SaintPatrck SaintPatrck force-pushed the vault/pm-38153-ios-passport-add-edit branch from 57081fb to 6c00a53 Compare June 5, 2026 17:29
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:feature labels Jun 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR adds the Passport add/edit SwiftUI surface (13 fields in design order), wires the state through CipherItemState and the SDK round-trip, and preserves passport data when converting synced ciphers via the response-model BitwardenSdk.Cipher inits. The implementation closely mirrors the existing DriversLicense pattern — visibility toggles for sensitive fields, raw ISO date strings round-tripped through the SDK, and read-only date fields pending the shared DateFieldPicker (PM-38360). Coverage is thorough across processor reducers, view-inspector dispatch assertions, snapshot tests (disabled per project convention), state mapping tests, and the new BitwardenSdk.Passport init.

Code Review Details

No findings — the change follows established patterns, preserves zero-knowledge guarantees (passport data flows through the SDK; no sensitive data is logged or persisted in plaintext), gates the feature behind newItemTypes, and includes appropriate test coverage at every layer.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 2026

Codecov Report

❌ Patch coverage is 92.54279% with 61 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.96%. Comparing base (4636583) to head (6c00a53).

Files with missing lines Patch % Lines
...rtItem/AddEditPassportItemView+SnapshotTests.swift 0.00% 44 Missing ⚠️
.../AddEditPassportItem/AddEditPassportItemView.swift 88.35% 17 Missing ⚠️
Additional details and impacted files
@@                            Coverage Diff                             @@
##           vault/pm-38152-ios-passport-vault-list    #2763      +/-   ##
==========================================================================
+ Coverage                                   86.94%   86.96%   +0.01%     
==========================================================================
  Files                                        1896     1901       +5     
  Lines                                      180095   180903     +808     
==========================================================================
+ Hits                                       156592   157318     +726     
- Misses                                      23503    23585      +82     

☔ View full report in Codecov by Harness.
📢 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.

Base automatically changed from vault/pm-38152-ios-passport-vault-list to main June 8, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Request a Claude code review app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant