[PM-37287] feat: Make Premium subscription required text tappable under authenticator key#6981
[PM-37287] feat: Make Premium subscription required text tappable under authenticator key#6981SaintPatrck wants to merge 1 commit into
Conversation
Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR makes the "Premium subscription required" placeholder under the authenticator key tappable on both the Vault Item view and Add/Edit Login screens, surfacing a new The Add-mode gate ( Code Review DetailsNo findings. The implementation mirrors the existing |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6981 +/- ##
==========================================
+ Coverage 85.83% 86.49% +0.66%
==========================================
Files 970 872 -98
Lines 65738 63738 -2000
Branches 9253 9235 -18
==========================================
- Hits 56424 55132 -1292
+ Misses 6139 5438 -701
+ Partials 3175 3168 -7
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:
|
7da7213 to
d7e67b3
Compare
…er authenticator key The "Premium subscription required" placeholder under the Authenticator key on the View and Edit login screens was inert text, leaving non-Premium users with no path to learn why TOTP is gated or how to upgrade. Tapping it now opens an upsell dialog that routes through the existing in-app upgrade flow, making the gated state actionable from where the user encounters it. The new behavior is gated on the in-app Premium upgrade flow being available (MobilePremiumUpgrade feature flag + in-app billing support). When the flow is unavailable, both screens fall back to their original presentation. The gate is observed reactively so the screens respond to flag changes while visible.
d7e67b3 to
337f170
Compare
🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-37287
📔 Objective
Non-Premium users see "Premium subscription required" under the Authenticator key on the View and Edit login screens, but the text is inert — there is no path from the gated state to the upgrade flow on either screen. This makes the placeholder tappable. Tapping opens an upsell dialog explaining that TOTP is a Premium feature, with Cancel and Upgrade to Premium buttons.
The Upgrade button routes through the existing
handleUpgradeToPremiumClicklogic: when in-app upgrade is available (MobilePremiumUpgradeflag + in-app billing supported) it opens the in-app Plan modal; otherwise it falls back to the web vault premium URI used by other upgrade CTAs.Incidental behavior change:
VaultAddEditViewModel.handleUpgradeToPremiumClicknow also dismisses the active dialog before emitting the navigation event. This aligns Edit with the View screen's existing behavior and incidentally affects the existingArchiveRequiresPremiumupsell on Edit.📸 Screenshots
View Login
In-app Upgrade DISABLED
Screen_recording_20260528_095748.mp4
Edit Login