-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[PM-23713] premium badge interaction #16911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
removed toast service from the pricing service and implemented error handling in calling components # Conflicts: # apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts
# Conflicts: # apps/web/src/app/billing/individual/upgrade/upgrade-payment/upgrade-payment.component.ts # libs/common/src/enums/feature-flag.enum.ts
Claude finished @kdenney's task —— View job Code Review Complete ✅Comprehensive review of PR #16911: Premium badge interaction changes Summary of Changes Since Last ReviewThis PR is a new feature implementing improved premium badge interactions across Web, Browser, and Desktop applications. The changes introduce a new premium upgrade dialog system with post-upgrade synchronization and refactor existing premium upgrade flows. Key Changes:
Critical Issues
|
Great job! No new security vulnerabilities introduced in this pull request |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #16911 +/- ##
==========================================
+ Coverage 39.20% 39.22% +0.02%
==========================================
Files 3463 3466 +3
Lines 98126 98225 +99
Branches 14736 14737 +1
==========================================
+ Hits 38469 38530 +61
- Misses 57991 58030 +39
+ Partials 1666 1665 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
# Conflicts: # apps/browser/src/_locales/en/messages.json
|
🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-23713
📔 Objective
This PR modifies the behavior of the premium badge in the following ways when the feature flag
pm-23713-premium-badge-opens-new-premium-upgrade-dialog
is enabled:To achieve this, several changes were made in locations where the premium badge was (or should have been) used, including:
PremiumUpgradePromptService
in every case.has-premium.guard
The new dialog
PremiumUpgradeDialogComponent
was created in libs/angular so that it could be used in both Browser and Desktop. This required moving theSubscriptionPricingService
to libs/common and creating an abstraction for it and moving to libs required removing the ToastService usage from the pricing service and moving that logic to the components that use it instead.The new dialog uses the pricing card component from libs/pricing but needed to customize some minor styles about how the card component renders. Two new customization properties were added to the card component to achieve this:
disableVerticalPadding
anddisableCardBorder
.A few other changes were made that require explanations and comments have been added to the files in this PR for those.
📸 Screenshots
Desktop dialog light mode:

Desktop dialog dark mode:

Browser dialog light mode:

Browser dialog dark mode:

Web vault reports page (did not use premium badge before, does now):

Video of the dialog being used in desktop:
desktop-video.mov
Video of the dialog being used in browser:
browser-video.mov
Video of the premium badge interaction in web vault:
web-video.mov
Video of the premium badge going away after upgrading in the web vault:
web-sync-after-upgrade.mov
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or ℹ️ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or 💭 (:thought_balloon:
) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or ♻️ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes