Skip to content

[PM-33515] feat: Render premium upgrade banner in Vault UI#6698

Merged
SaintPatrck merged 5 commits intomainfrom
premium-upgrade/PM-33515-vault-banner-ui
Mar 20, 2026
Merged

[PM-33515] feat: Render premium upgrade banner in Vault UI#6698
SaintPatrck merged 5 commits intomainfrom
premium-upgrade/PM-33515-vault-banner-ui

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

@SaintPatrck SaintPatrck commented Mar 19, 2026

🎟️ Tracking

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

📔 Objective

Renders the premium upgrade BitwardenActionCard in the Vault screen when the user is eligible for a premium upgrade. Replaces the PM-33514 placeholder with a full composable implementation including:

  • Title: "Unlock advanced security features"
  • Subtitle: "A Premium plan gives you more tools to stay secure and in control."
  • CTA: "Upgrade to premium" (wired to existing actionCardClick handler)
  • Dismiss button (wired to existing dismissActionCardClick handler)

Screen tests cover banner display, CTA click, and dismiss interactions.

Debug Menu

Adds a debug menu option to reset the premium upgrade banner dismiss state, enabling QA to re-test the banner without clearing app data. Also organizes the debug menu with section headers for "Cookies" and "Premium".

📸 Screenshots

Comp Actual

@SaintPatrck SaintPatrck added the ai-review Request a Claude code review label Mar 19, 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 Mar 19, 2026
@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 19, 2026

Claude finished @SaintPatrck's task in 1m 43s —— View job


Code Review: PM-33515 Render premium upgrade banner in Vault UI

  • Gather context and read changed files
  • Review all 16 changed files across 5 commits
  • Check for duplicate findings from previous reviews
  • Post review summary

Overall Assessment: APPROVE

Reviewed 16 changed files across 5 commits implementing the premium upgrade banner in the Vault UI, a debug menu reset option, and standardized "Premium" casing.

The implementation is clean and follows established codebase patterns:

  • VaultContent.ktBitwardenActionCard for UpgradePremium correctly mirrors the existing IntroducingArchive pattern
  • DebugMenuScreen.kt — Section headers and reset button are well-structured
  • DebugMenuRepositoryImpl.kt — Correctly handles the null user case with early return
  • strings.xml — Standardizes "Premium" casing and adds new UI strings
  • Tests — Comprehensive coverage for banner display, CTA click, and dismiss interactions

All previously flagged issues (build failure from removed upgrade_to_premium_title, test case mismatch, isInitiallyExpanded) have been resolved. No new issues found.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 19, 2026

Logo
Checkmarx One – Scan Summary & Details696045c8-0b28-4f55-97f9-53f5587302d1

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

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 19, 2026

Codecov Report

❌ Patch coverage is 97.56098% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 85.88%. Comparing base (988a321) to head (bd648d6).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...ata/platform/repository/DebugMenuRepositoryImpl.kt 75.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6698      +/-   ##
==========================================
+ Coverage   85.67%   85.88%   +0.20%     
==========================================
  Files         852      806      -46     
  Lines       59107    57460    -1647     
  Branches     8435     8398      -37     
==========================================
- Hits        50641    49349    -1292     
+ Misses       5524     5183     -341     
+ Partials     2942     2928      -14     
Flag Coverage Δ
app-data 17.73% <7.31%> (+0.35%) ⬆️
app-ui-auth-tools 20.75% <0.00%> (-0.01%) ⬇️
app-ui-platform 15.06% <68.29%> (-0.59%) ⬇️
app-ui-vault 25.85% <21.95%> (-0.66%) ⬇️
authenticator 6.61% <0.00%> (-0.01%) ⬇️
lib-core-network-bridge 4.27% <0.00%> (+<0.01%) ⬆️
lib-data-ui 0.95% <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 force-pushed the premium-upgrade/PM-33514-vault-banner-logic branch 3 times, most recently from 3ab40a1 to ad245e9 Compare March 20, 2026 15:14
@SaintPatrck SaintPatrck force-pushed the premium-upgrade/PM-33515-vault-banner-ui branch from b8516f2 to 1c4e0eb Compare March 20, 2026 15:58
Base automatically changed from premium-upgrade/PM-33514-vault-banner-logic to main March 20, 2026 16:12
@SaintPatrck SaintPatrck force-pushed the premium-upgrade/PM-33515-vault-banner-ui branch from 1c4e0eb to bc8450a Compare March 20, 2026 16:21
@SaintPatrck SaintPatrck marked this pull request as ready for review March 20, 2026 16:22
@SaintPatrck SaintPatrck requested review from a team and david-livefront as code owners March 20, 2026 16:22
@SaintPatrck SaintPatrck force-pushed the premium-upgrade/PM-33515-vault-banner-ui branch from bc8450a to b84a8b5 Compare March 20, 2026 16:27
Comment thread ui/src/main/res/values/strings.xml Outdated
<string name="archiving_items_is_a_premium_feature">Archiving items is a Premium feature. Your current plan does not include access to this feature.</string>
<string name="upgrade_to_premium">Upgrade to premium</string>
<string name="upgrade_to_premium" comment="Sentence case version used in dialogs">Upgrade to premium</string>
<string name="upgrade_to_premium_title" comment="Title case version used in action cards and screen title">Upgrade to Premium</string>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why is it not capital P Premium all the time?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Discussed offline. We will update usages of "premium" to "Premium" as a separate task.

Comment thread app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt Outdated
Comment thread app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt Outdated
@SaintPatrck SaintPatrck force-pushed the premium-upgrade/PM-33515-vault-banner-ui branch 2 times, most recently from 7d2ed50 to cdd0aae Compare March 20, 2026 17:12
@SaintPatrck SaintPatrck force-pushed the premium-upgrade/PM-33515-vault-banner-ui branch from cdd0aae to bd648d6 Compare March 20, 2026 20:12
@SaintPatrck SaintPatrck enabled auto-merge March 20, 2026 20:13
@SaintPatrck SaintPatrck added this pull request to the merge queue Mar 20, 2026
Merged via the queue into main with commit 2e29ab3 Mar 20, 2026
24 checks passed
@SaintPatrck SaintPatrck deleted the premium-upgrade/PM-33515-vault-banner-ui branch March 20, 2026 21:40
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 Change Type - Feature Development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants