1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-25 17:13:24 +00:00
Commit Graph

417 Commits

Author SHA1 Message Date
Alex Morask
f5bc83c5f7 Remove FF: pm-22415-tax-id-warnings (#17871) 2026-02-17 09:25:33 -08:00
cyprain-okeke
eeb962528c [PM 29079]Remove code for pm-24033-updat-premium-subscription-page (#17905)
* Remove the feature flag

* delete and rename CloudHostedPremiumVNextComponent
2026-02-17 09:25:27 -08:00
Alex Morask
d80cb5a795 [PM-21421] Show current plan instead of legacy plan when resubscribing (#17949)
* Show current plan instead of legacy plan when resubscribing

* Claude / Kyle feedback
2026-02-17 09:25:27 -08:00
cyprain-okeke
4c69febe1b [PM 27122] Individual subscription page for self-hosted customers (#17517)
* implement the self-host subscription changes

* Correct few ui changes

* Update to h1

* PR review changes

* Changes for the async cancel

* Resolve the two bug issues

* implement the review comments

* Resolve the Active issue

* Fix the space issues

* Remove the tabs for billing and payment

* revert the self-host changes

* Fix the subtitle issue
2026-02-17 09:25:25 -08:00
cyprain-okeke
d88cca3ab7 [PM-29633]Discount badge misaligned on Subscription page for Organizations and MSP/BUP (#17924)
* Fix the discount

* Fix the spacing and alignment issue

* reverted unneeded change

* Changes for provider discount badge
2026-02-17 09:25:17 -08:00
Todd Martin
b3994e2fc5 feat(accounts): Add creationDate of account to AccountInfo
* Add creationDate of account to AccountInfo

* Added initialization of creationDate.

* Removed extra changes.

* Fixed tests to initialize creation date

* Added helper method to abstract account initialization in tests.

* More test updates.

* Linting

* Additional test fixes.

* Fixed spec reference

* Fixed imports

* Linting.

* Fixed browser test.

* Modified tsconfig to reference spec file.

* Fixed import.

* Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node.

* Revert "Removed dependency on os.  This is necessary so that the @bitwarden/common/spec lib package can be referenced in tests without node."

This reverts commit 669f6557b6.

* Updated stories to hard-code new field.

* Removed changes to tsconfig

* Revert "Removed changes to tsconfig"

This reverts commit b7d916e8dc.
2026-02-17 09:25:12 -08:00
Alex Morask
a810d8cde1 Only show free for 1 year for SM standalone (#17914) 2026-02-17 09:25:06 -08:00
Kyle Denney
657f03892e [PM-29138] fix defect with pricing service on self host (#17819)
* [PM-29138] fix defect with pricing service on self host

* use iscloud instead of manually checking region

* fixing strict compile issues

* spacing updates from design review

* final spacing edits

* pr feedback

* typechecking
2026-02-17 09:24:53 -08:00
Jordan Aasen
1f6fe221ed [PM-28817] - updates to premium sub dialog copy (#17824)
* updates to premium sub dialog copy

* update template

* remove planDescPremium
2026-02-17 09:24:50 -08:00
cyprain-okeke
1a59a3b682 [PM-28258]Fix [Defect] New Organization creation without payment method succeeds without organization creation (#17719)
* Resolve the  payment validation issue

* remove the null error
2026-02-17 09:24:41 -08:00
Stephon Brown
adc7f5bc5b [PM-27600] Replace Hard-Coded Storage amount (#17393)
* feat(billing): add provided as a required property to premium response

* fix(billing): replace hard coded storage variables with retrieved plan

* tests(billing): add tests to pricing-summary service

* feat(billing): add optional property.

* fix(billing): update storage logic

* fix(billing): remove optional check

* fix(billing): remove optionality

* fix(billing): remove optionality

* fix(billing): refactored storage calculation logic

* feat(billing): add provided amounts to subscription-pricing-service

* fix(billing): update cloud premium component

* fix(billing): update desktop premium component

* fix(billing): update org plans component

* fix(billing) update stories and tests

* fix(billing): update messages

* fix(billing): replace storage sizes

* fix(billing): update messages

* fix(billing): update components

* fix(billing): update components for pricing and storage retrieval

* fix(billing): revert self-hosted change
2026-02-17 09:24:40 -08:00
Alex Morask
cc1ada036e Clear premium interest on upgrade dialog open (#17518) 2026-02-17 09:24:39 -08:00
Stephon Brown
fb753ac9e6 [PM-26044] Update Offboarding Survey for User and Organization (#17472)
* feat(billing): update messages to add reasons

* feat(billing): update survey with switching reason based on param

* fix(billing): revert value of switching reasons

* fix(billing): revert removal of tooExpensive message

* fix(billing): Add plan type to params and update switching logic

* fix(billing): update to include logic

* fix(billing): PR feedback
2026-02-17 09:24:14 -08:00
Alex Morask
c8dfc70999 [PM-27925] Refactor StripeService to allow more than one instance (#17467)
* Refactor StripeService to allow more than one instance per scope

* Fix linting issue

* Claude's feedback
2026-02-17 09:24:11 -08:00
Oscar Hinton
f232192ad2 [PM-28231] Enable component-class-suffix (#17384)
* Enable component-class-suffix

* Rename file
2026-02-17 09:24:03 -08:00
Alex Morask
7076eb1f11 [PM-28173] Only send 1 seat in Families tax calculation (#17368)
* Fix family seat count in calculation

* Fix test
2026-02-17 09:23:51 -08:00
cyprain-okeke
65bea1a00f [PM-26682] [Milestone 2d] Display discount on subscription page (#17229)
* The discount badge implementation

* Use existing flag

* Added the top spaces as requested

* refactor: move discount-badge to pricing library and consolidate discount classes

* fix: add CommonModule import to discount-badge component and simplify discounted amount calculation

- Add CommonModule import to discount-badge component for *ngIf directive
- Simplify discountedSubscriptionAmount to use upcomingInvoice.amount from server instead of manual calculation

* Fix the lint errors

* Story update

---------

Co-authored-by: Alex Morask <amorask@bitwarden.com>
2026-02-17 09:23:48 -08:00
Stephon Brown
e0bac2e4fe [PM-28034] Pre-Launch Payment Defect Solution (#17331)
* fix(billing): update to password manager to signal

* fix(billing): take first value so the dialog doesn't show again

* fix(billing): add families plan to request builder

* fix(billing): feedback and type update

* fix(billing): fix selectedplan call
2026-02-17 09:23:46 -08:00
Alex Morask
526f7854fa [PM-279699] Clear premium interest when user subscribes or closes dialog (#17221)
* Clear premium interest when user subscribes to premium or backs out of dialog

* Kyle's feedback
2026-02-17 09:23:45 -08:00
Kyle Denney
e3acd27dec [PM-24284] - milestone 3 (#17230)
* first draft

# Conflicts:
#	apps/web/src/app/billing/individual/upgrade/upgrade-payment/services/upgrade-payment.service.ts
#	apps/web/src/app/billing/organizations/organization-plans.component.ts
#	libs/common/src/billing/services/subscription-pricing.service.ts
#	libs/common/src/enums/feature-flag.enum.ts

* more filtering for pricing cards

* prettier

* tests

* tests v2
2025-11-10 11:50:49 -06:00
Vicki League
7cbfcd23a8 [PM-26984] Use medium instead of semibold or bold (#17194) 2025-11-06 09:09:17 -06:00
Alex Morask
f53f3516b7 [PM-27838] Split out self-hosted premium component (#17232)
* Split self-hosted premium component out to avoid pricing conflicts

* Claude's feedback

* Remove unnecessary isSelfHost check
2025-11-05 13:13:59 -06:00
Alex Morask
f76d2f36e6 [PM-27808] Save modal dismissal to state (#17227)
* Prevent modal from opening twice for same user

* Claude's feedback
2025-11-05 12:04:49 -06:00
rr-bw
5c33b2dc89 (Billing) [PM-27562] Create PremiumInterestStateService (#17139)
Creates a `PremiumInterestStateService` that manages state which conveys whether or not a user intends to setup a premium subscription. Implemented in Web only. No-op for other clients.

This will apply for users who began the registration process on https://bitwarden.com/go/start-premium/, which is a marketing page designed to streamline users who intend to setup a premium subscription after registration.
2025-11-03 14:42:21 -08:00
Vicki League
cba47e4abd Update font to inter feature branch (#16782) 2025-11-03 15:17:07 -05:00
Kyle Denney
e1e3966cc2 [PM-23713] premium badge interaction (#16911)
* feature flag

* new upgrade dialog component and moved pricing service into libs

first draft

* moved pricing service to libs/common

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

* moved new premium upgrade dialog component to libs/angular

* badge opens new dialog in browser extension

* adds new dialog to desktop and fixes tests

* updates send dropdown to use premium prompt service

* styling and copy updates

* implement in web and desktop

* unit tests

* converting premium reports to use premium badge, and some cleanup

* fixes issue after merge

* linter errors

* pr feedback

* handle async promise correctly

* full sync after the premium upgrade is complete

* fixing test

* add padding to bottom of card in new dialog

* add support for self hosting

* fixing tests

* fix test

* Update has-premium.guard.ts

* pr feedback

* fix build and pr feedback

* fix build

* prettier

* fixing stories and making badge line height consistent

* pr feedback

* updated upgrade dialog to no longer use pricing card

* fixing incorrect markup and removing unused bits

* formatting

* pr feedback

removing unused message keys and adding back in code that was erroneously removed

* change detection

* close dialog when error

* claude pr feedback
2025-11-03 10:16:01 -06:00
cyprain-okeke
e41680df41 [PM 26691] [Fix: Remove dollar amount from total section when redeeming free families for enterprise (#16887)
* Resolve the dollar amount issue

* Resolve the non addition of storage amount

* Resolve the estimate tax amount

* Fix the improper tax calculation

* resolv ethe duplicate code

* Added changes to apply the discount only for acceptingSponsorship = true
2025-10-30 11:35:34 +01:00
cyprain-okeke
d567530e15 resolve the button name (#17094) 2025-10-29 16:02:59 +01:00
Alex Morask
460d66d624 Remove FF: pm-17772-admin-initiated-sponsorships (#16873)
* Remove FF

* Fix test
2025-10-29 07:41:35 -05:00
Stephon Brown
bf66b5ac19 -[PM-27123] Update Signals and Update Estimated Tax and Credit Logic (#17055)
* billing(fix): update signals and update estimated tax and credit logic

* fix(billing): update with claude feedback and expose total observable
2025-10-28 15:25:07 +00:00
Stephon Brown
6f34b6098a [PM-27252] Upgrade Dialog Should not Show in Self Host (#17051)
* fix(billing): update and refactor observable logic

* tests(billing): add additional expects for dialog

* fix(billing): update for claude feedback

* tests(billing): update test conditions and comments
2025-10-28 14:51:30 +00:00
Thomas Avery
bd89c0ce6d [PM-23628] Require userId for fetching provider keys (#16993)
* remove getProviderKey and expose providerKeys$

* update consumers
2025-10-27 11:04:17 -05:00
Kyle Denney
b335987213 [PM-27267] fix disappearing border from upgrade plan card (#17007) 2025-10-27 10:44:56 -05:00
cyprain-okeke
b9f48d83b2 [PM 25897] Copy and UI Tweaks for Payment Method Component (#16851)
* Implement the Ui changes to align as expected

* Align the Text in card number, expiration date and security code vertically

* Change the Zip to ZIP

* Remove readonly modifier from signal declarations
2025-10-27 13:53:05 +01:00
cyprain-okeke
a6882c36b9 Resolve the redirect to subscription (#17017) 2025-10-27 13:18:08 +01:00
Stephon Brown
7313901a49 [PM-26019] Pre-Launch Payment Dialog (#16859) 2025-10-24 08:48:42 -04:00
cyprain-okeke
2d3712acec [PM-27257]Fix : Remove Welcome to Bitwarden modal for users with any Organization status (#17002)
* Resolve the modal for invited members

* Resolve multiple modal display

* Fix the failing test

* Remove the await
2025-10-24 11:48:05 +01:00
Stephon Brown
2eef32d757 fix(billing): add condition to disable submit button for account credit (#17006) 2025-10-23 17:21:48 -04:00
Oscar Hinton
e3f943364f Billing - Prefer signal & change detection (#16944) 2025-10-23 15:02:01 -05:00
Stephon Brown
c80e8d1d8b [PM-27123] Account Credit not Showing for Premium Upgrade Payment (#16967)
* fix(billing): Add NonTokenizedPaymentMethod type

* fix(billing): Add NonTokenizedPayment type as parameter option

* fix(billing): Update service for account credit payment and add tests

* fix(billing): Add logic to accept account credit and callouts for credit

* fix(billing): Add account credit back to premium component

* fix(billing): update non-tokenizable payment method and payment service

* refactor(billing): update payment component

* fix(billing): update premium subscription request

* fix(billing): update billing html component account credit logic
2025-10-23 19:05:50 +00:00
cyprain-okeke
660e452ba1 [PM-25858]Organization warnings endpoint should not be called from self-hosted instances (#16781)
* ensure that getWarnings from server is not called for selfhost

* Refactor the code

* move the selfhost check to getWarning message

* Fix the failing test
2025-10-23 10:59:57 -05:00
Alex Morask
bb07365ea5 await call that creates Customer in case we're upgrading from free (#16999) 2025-10-23 10:34:16 -05:00
Brandon Treston
0691583b50 [PM-23133] refactor members component (#16703)
* WIP: added new services, refactor members to use billing service and member action service

* replace dialog logic and user logic with service implementations

* WIP

* wip add tests

* add tests, continue refactoring

* clean up

* move BillingConstraintService to billing ownership

* fix import

* fix seat count not updating if feature flag is disabled

* refactor billingMetadata, clean up
2025-10-23 11:16:17 -04:00
Alex Morask
7321e3132b [PM-26793] Fetch premium plan from pricing service (#16858)
* Fetch premium plan from pricing service

* Resolve Claude feedback
2025-10-23 09:13:26 -05:00
Kyle Denney
7804aa118c [PM-27206] fix: redirect from premium page if user has premium (#16990) 2025-10-22 17:45:51 -05:00
Alex Morask
5b2682ff21 [PM-26356] Remove client-side pre-consolidated billing code (#16707)
* Remove legacy provider files

* Removing index files to make file re-org easier

* Move manage-clients.component and associated API invocation to AC

* Move add-existing-organization-dialog.component to AC

* Move manage-client-name-dialog.component and associated API call to AC

* Move misc clients files to AC

* Move create-client-dialog.component and associated API call to AC

* Move manage-client-subscription-dialog.component to AC

* Update provider-layout.component

* Cleanup

* Fix linting
2025-10-21 14:15:29 -05:00
Kyle Denney
1794803deb [PM-24032] upgrade nav button updates (#16933)
* [PM-24032] upgrade nav button post-upgrade action

* fixing broken stories

* added component tests

* new behavior for the nav button when self hosted

* fix stories
2025-10-21 11:18:15 -05:00
cyprain-okeke
f1340c67da [PM-27050] Fix : Cannot upload self-hosted license on new Premium page (#16919)
* Fix the isselfhost bug

* Resolve the self-host issue
2025-10-21 15:46:15 +01:00
Stephon Brown
9b2fbdba1c [PM-26947] Fix Billing Address Defect (#16872)
* fix(billing): Add Billing Address component

* fix(billing): Update tax refresh logic and swap billing address component

* fix(billing): Fix headers

* fix(billing): Do not show bank payment option for premium upgrade
2025-10-16 12:08:19 -04:00
cyprain-okeke
75182926d4 [PM-24033]Implement Subscription Settings UI with Premium and Families Cards (#16822)
* Add initial changes for thenew premium design

* Add the messages

* Add the new dialog modal

* Resolve the flag issue

* Added changes for redirect

* Fix the unitest errors

* Resolve the badge issue

* refactor the code base pr comments
2025-10-15 13:31:10 -05:00