1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-10 21:50:15 +00:00
Commit Graph

20733 Commits

Author SHA1 Message Date
Stephon Brown
37eeffd03a [PM-29602] Build Upgrade Dialogs (#18539)
* BREAKING CHANGE: rename tax-client and add proration endpoint

update

* fix(billing)!: rename tax-client in components

* feat(billing): Add upgrade endpoint

* fix(billing): update preview client error

* fix(billing): add billing address to clients

* feat(billing): Update messages for changes

* feat(biilling): Update unified upgrade dialog logic

* feat(billing): add new premium org card

* feat(billing): add premium org component

* fix(billing): Update account billing client and remove redundant status

* fix(billing): unified upgrade dialog add feature flag and tests

* fix(billing): update unified upgrade logic

* fix(billing): update tests and logic

update

update

fix

* fix(billing): add required messages

message

* fix(billing): update unified dialog logic and re-add comments

* feat(billing): improves premium org upgrade dialog

Adds a close button to the premium organization upgrade dialog.

Updates the success toast message after upgrading to teams.

Hides the formatted amount for credit discounts.

Sets the change detection strategy to OnPush for improved performance.

* fix(billing): prevents multiple upgrade dialogs from opening

Adds a check to prevent multiple upgrade dialogs from opening simultaneously.

Ensures correct redirection to the organization vault after upgrading to Teams or Enterprise.

* Feat(tooltip): Add `showTooltipOnFocus` input to TooltipDirective

* Fix(billing): Disable tooltip on focus for various billing buttons

* Refactor(billing): Standardize subscription cadence display

* Refactor(billing): Update InvoicePreview with prorated amount details

* Refactor(billing): Enhance Premium Org Upgrade Payment logic

* Feat(billing): Add SubscriptionCadence import to account billing client

* refactor(i18n): Rename 'premiumMembershipDiscount' to 'premiumSubscriptionCredit'

* fix(billing): Ensure encrypted org key is present during upgrade

* refactor(billing): revert PremiumUpgradeDialog focus management

* refactor(billing): Clean up subscription details and type definitions

* feat(billing): Add dedicated Premium to Organization upgrade dialog

* refactor(billing): Return organization ID from PremiumOrgUpgradeService

* refactor(billing): Remove premium to org upgrade logic from UnifiedUpgradeDialog

* feat(billing): Integrate PremiumOrgUpgradeDialog into account subscription

* Refactor: Make `openUpgradeDialog` return `void`

* Remove obsolete `planSelectionStepTitleOverride` tests

* Feature: Add 'Back' status to UpgradePaymentStatus

* Test: Mock `OrganizationService` in `PremiumOrgUpgradePaymentComponent` tests

* Chore: Remove redundant comment in unified upgrade dialog HTML

* refactor(billing): Remove obsolete unified upgrade change

* refactor(billing): remove unused ApiService and DestroyRef

* feat(billing): add pre-condition checks for premium org upgrade dialog

* refactor(billing): clean up unused dialog data and HTML comment

* refactor(billing): rename premium org upgrade dialog flag

* feat(billing): close premium org upgrade dialog if feature is disabled

* feat(payment): add hideHeader input to DisplayPaymentMethodComponent

* refactor(billing): update premium org upgrade payment to display existing payment method

* test(billing): update premium org upgrade payment component tests

* docs(billing): refine JSDoc for PremiumOrgUpgradeDialogParams

* Revert "Feat(tooltip): Add `showTooltipOnFocus` input to TooltipDirective"

This reverts commit 02f62bc0fd.

* Revert "Fix(billing): Disable tooltip on focus for various billing buttons"

This reverts commit 91f7747df7.

* fix(billing): Ensure early exit for closed premium org upgrade payment

* refactor: rename PremiumOrgUpgradeComponent to PremiumOrgUpgradePlanSelectionComponent

* feat(i18n): add payment method update error translation key

* feat(billing): introduce DisplayPaymentMethodInlineComponent

* feat(billing): integrate inline payment method in PremiumOrgUpgradePayment

* feat(pricing): allow hiding pricing term in cart summary

* refactor(billing): optimize invoice preview and update cart configuration

* refactor(billing): migrate AccountSubscriptionComponent state to signals

* chore(html): improve form field layout and accessibility

* feat(pricing): add `hidePricingTerm` input and basic header logic

* feat(pricing): apply `hidePricingTerm` to cart item breakdowns

* docs(pricing): update cart summary documentation for `hideBreakdown` and `hidePricingTerm`

* test(pricing): add tests for `hidePricingTerm` and refine term display selector

* refactor(pricing): update cart summary test selectors for robustness

* docs: reformat `hideBreakdown` description in `CartSummaryComponent` MDX

* refactor: remoe additonal DisplayPaymentMethodInlineComponent in imports

* Revert "feat(i18n): add payment method update error translation key"

This reverts commit b4aeb74e1a.

* feat(i18n): Add payment method update error message

* refactor(pricing): move CartSummaryComponent hidePricingTerm to input

* docs(pricing): update CartSummaryComponent `hidePricingTerm` usage in MDX

* test(pricing): update CartSummaryComponent `hidePricingTerm` tests and stories

* chore(pricing): add spacing in CartSummaryComponent spec assertion

* refactor(billing): Use ngOnInit for dialog initialization logic

* refactor(billing): Migrate hidePricingTerm from Cart type to direct input

* Refactor: Update payment method action buttons to use `bitLink`

* feat(billing): add hidePricingTerm input to MockCartSummaryComponent
2026-02-09 14:09:37 -06:00
Jared
f22736bb64 [PM-25627] convert policy dialogs to drawer (#18534)
* Enhance policy edit dialogs by updating dialog size to large for improved layout and switching to openDrawer method for better user experience.

* Enhance policy edit dialogs by adding policy status badges to indicate if a policy is enabled, improving user visibility and experience.

* Update dialog component styles to enhance drawer behavior by changing height to full screen and adding sticky footer for improved layout and user experience.

* Refactor policy display layout by wrapping buttons and badges in a flex container for improved alignment and spacing.

* Refactor password policy forms in admin console for improved layout

- Simplified the structure of form fields in `master-password.component.html` and `password-generator.component.html` by removing unnecessary div wrappers.
- Updated the label for the password type policy override in `messages.json` for clarity.

* Update dialog size in policy edit component for consistency

- Changed the dialog size from 'large' to 'default' in `policy-edit-dialog.component.html` to align with design standards.

* refactor(dialog): update dialog component styles for drawer layout

- Adjusted height class for drawer dialogs from 'tw-h-screen' to 'tw-h-full' for better layout management.
- Removed sticky positioning for footer in drawer mode to improve visual consistency.

* refactor(dialog): enhance form layout for policy edit dialogs

- Added classes for full height and flex column layout to the form elements in policy edit dialogs for improved visual consistency and usability.
2026-02-09 13:50:20 -05:00
Nick Krantz
3855332279 [PM-31431] Refactor vault prompts (#18740)
* move existing prompting into separate service for the web vault

* add unit tests for web vault prompt service

* add provider

* remove `autoConfirmDialogRef`

* rename auto confirm dialog
2026-02-09 12:48:44 -06:00
Jared
da219b911e [PM-26195] Refactor selection logic in VaultItemsComponent to ensure bulk select visual bug fix (#18674)
* Refactor selection logic in VaultItemsComponent to ensure bulk selection matches visual order. Added getSortedEditableItems method for sorting based on current table configuration, enhancing user experience during selection.

* Refactor sorting logic in VaultItemsComponent to clarify collection prioritization. Updated comments to indicate that collection comparison is direction-independent, enhancing code readability and maintainability.
2026-02-09 13:46:17 -05:00
Oscar Hinton
47d1025d27 Update header color to match sidebar (#18036) 2026-02-09 18:06:38 +01:00
Vijay Oommen
95d5067047 PM-31867 added aria-label to badge (#18841) 2026-02-09 10:57:14 -06:00
SmithThe4th
d02886ba8d Revert "[PM-30580] Add encryptMany to SDK for batch cipher encryption (#18803)" (#18840)
This reverts commit a637983305.
2026-02-09 10:31:26 -05:00
Jonathan Prusik
62f5929ebb fix processMutations debouncing (#18615) 2026-02-09 09:21:33 -05:00
Bernd Schoolmann
f7a5ad712f [PM-29208] Remove individual cryptographic-key states & migrate key service (#18164)
* Remove inividual user key states and migrate to account cryptographic state

* Fix browser

* Fix tests

* Clean up migration

* Remove key-pair creation from login strategy

* Add clearing for the account cryptographic state

* Add migration

* Cleanup

* Fix linting
2026-02-09 12:39:55 +01:00
Rui Tomé
c21841a2df [PM-26485] Add member status validation to CLI confirm command (#18557)
* Add validation for organization user status in CLI Confirm command

- Implemented a new method to validate the status of an organization user before confirmation.
- Added checks for various user states: invited, confirmed, revoked, and accepted.
- Enhanced error handling to provide clearer feedback based on user status.

* Refactor validation logic in ConfirmCommand to remove unnecessary user ID check

- Removed the check for null userId in the validateOrganizationUserStatus method.
- Simplified the validation process for organization user status before confirmation.

* Add unit tests for ConfirmCommand in CLI

- Created a new test suite for the ConfirmCommand to validate its functionality.
- Implemented tests for various scenarios including bad requests, user status validations, and successful confirmations.
- Enhanced error handling tests to ensure proper responses for missing organization keys and API failures.
2026-02-09 11:38:00 +00:00
bitwarden-devops-bot
f6af7f3e23 Bumped client version(s) 2026-02-09 11:36:30 +00:00
bw-ghapp[bot]
c4d1c081fe Autosync the updated translations (#18835)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-09 12:35:00 +01:00
bw-ghapp[bot]
203766879c Autosync the updated translations (#18806)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-09 12:32:08 +01:00
bw-ghapp[bot]
2807bb089b Autosync the updated translations (#18836)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-09 11:26:10 +00:00
Leslie Tilton
eab6e7ce80 Update Risk Insights models to follow architecture (#17356)
* Member details model updates

* Add application model for risk insights reports following company architecture

* Add summary model for risk insights reports following company architecture

* Updated comment in risk insights summary data

* Add models following company architecture for risk insights generated report data

* Use deep jsonify for class json structure

* Use deepjsonify for class partial json structure

* Add risk insights model following client model architecture

* Fix type check errors
2026-02-06 16:02:19 -06:00
Daniel James Smith
03a60a61cb Revert "[PM-29149] Add ServerCommunicationConfigService (#18815)" (#18821)
This reverts commit f1b9408e3f.
2026-02-06 21:15:12 +00:00
Mike Amirault
42386ddd60 [PM-22119] Update icon for password protected Sends on Desktop (#18659)
* [PM-22119] Update icon for password protected Sends on Desktop

* Mute Send type icons to match web
2026-02-06 16:08:01 -05:00
Daniel James Smith
f1b9408e3f [PM-29149] Add ServerCommunicationConfigService (#18815)
* Add state- and key-definitions for persisting serverCommunicationConfig(s)

* Add implementation of the SDK-defined ServerCommunicationConfigRepository

* Add ServerCommunicationConfigService

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-06 21:40:03 +01:00
SmithThe4th
a637983305 [PM-30580] Add encryptMany to SDK for batch cipher encryption (#18803)
* Migrated encrypt many to the sdk

* removed comment

* updated sdk package
2026-02-06 19:56:38 +00:00
Vijay Oommen
cb2e5a04d0 [PM-29621] Changed error message to indicate lack of permissions (#18528) 2026-02-06 12:36:44 -06:00
Brad
b6ff3a110e [PM-18855] Add edit Cipher permission check to Cipher Authorization Service and use in Vault dialog (#18375)
Centralize edit permission checks in CipherAuthorizationService instead of using the disableForm parameter passed to VaultItemDialogComponent. This refactoring improves consistency with how delete and restore permissions are handled, establishes a single source of truth for authorization logic, and simplifies caller components.

This change also fixes the bug in ticket, which allows Users to properly edit Ciphers inside of the various Admin Console report types.
2026-02-06 12:18:20 -06:00
Brad
6a01e7436c [PM-30543] Add select all checkbox to Access Intelligance Applications table (#18682)
Adds a "Select all" checkbox to the table in the Access Intelligence applications tab. This allows users to quickly select or deselect all applications currently showing in the table for marking as critical apps.
2026-02-06 10:04:48 -08:00
SmithThe4th
bf13194b9c [PM-31668] Race condition in cipher cache clearing causes stale failed decryption state after leaving organization (#18751)
* Refactored the search index to index with the cipherlistview

* Fixed comment

* clear encrypted cipher state to prevent stale emissions during sync
2026-02-06 11:10:16 -06:00
Nick Krantz
256fe6305f restore archived item from trash to archive (#18795) 2026-02-06 10:32:41 -06:00
Graham Walker
6b071481e2 pm-31420 Add download button to export Access Intelligence table into csv report (#18802)
* pm-31420 add download button feature to new applications tab for access intelligence feature

* PM-31420 fixing unit tests

* pm-31420 adding types

* pm-31420 fixing types and merging in main
2026-02-06 10:15:07 -06:00
Will Martin
9bdfc68aa2 [CL-1034] tooltip should only show on focus-visible (#18767) 2026-02-06 10:43:52 -05:00
Mike Amirault
eb402a7ee8 [PM-30881] Add lock icon to browser Sends list for protected Sends (#18635)
* [PM-30881] Add lock icon to browser Sends list for protected Sends

* Trigger AI PR review

* [PM-30881] Add missing i18n key to browser file
2026-02-06 10:42:16 -05:00
Vicki League
a12962d24c [CL-1039] Set code ownership for global style files (#18786) 2026-02-06 10:18:53 -05:00
bw-ghapp[bot]
60f75062b0 Autosync the updated translations (#18804)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-06 11:01:26 +01:00
bw-ghapp[bot]
03fe8e192f Autosync the updated translations (#18805)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-06 08:52:16 +01:00
Andreas Coroiu
1898c27ad3 [PM-30404] Exclude .wasm.js from babel (#18555)
* feat: exclude .wasm.js from babel

* feat: exclude from browser and desktop too
2026-02-06 08:42:08 +01:00
Will Martin
e27627cb00 Add settings.json for extra known marketplaces (#18807) 2026-02-06 02:16:12 +00:00
neuronull
831bde21f6 Renovate ignore dep bitwarden-russh (#18792) 2026-02-05 14:59:43 -07:00
Jared
2fd3404c27 Revert "Disable native icon for datetime-local field and use our own icons for stylizing (#18633)" (#18796)
This reverts commit 2d8f74bf70.
2026-02-05 16:44:29 -05:00
Alex Dragovich
1b812d2274 Revert "Remove feature flag check from password generation (#18003)" (#18794)
This reverts commit 7c6d98b50e.
2026-02-05 13:33:44 -08:00
Github Actions
34db6863ab Bumped Desktop client to 2026.2.0 2026-02-05 21:16:46 +00:00
Oscar Hinton
ad523179bf [PM-30677] Convert SendSearchComponent to OnPush (#18322)
Converts SendSearchComponent to use OnPush change detection.
2026-02-05 22:03:42 +01:00
Leslie Xiong
2b6158668d fixed collections still appearing when no organizations (#18779) 2026-02-05 15:36:33 -05:00
Jared
f010d28492 [PM-25365] Enhance layout responsiveness in vault component header (#18679)
* Enhance layout responsiveness in vault components by adding flex properties to improve structure and ensure proper height management.

* Refactor vault component layout to rid of my changes

* Update apps/web/src/app/vault/individual-vault/vault.component.html

Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>

---------

Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
2026-02-05 15:02:49 -05:00
Mike Amirault
314c842b96 [PM-31435] Use muted colors for Send file and text type icons (#18673) 2026-02-05 14:51:36 -05:00
Mike Amirault
87bc57b3e2 [PM-31434] Match Send table options button size to other tables (#18685) 2026-02-05 14:48:40 -05:00
Nick Krantz
b5d865e8f2 move clearCache before updateWithServer (#18790) 2026-02-05 13:42:50 -06:00
Jason Ng
0b8d61a1b8 [PM-31423] updated isAdminConsoleAction check in cipher-report (#18662) 2026-02-05 12:42:22 -05:00
Vijay Oommen
6c7cca1360 PM-30456 setup the search bar to grow (#18780) 2026-02-05 11:09:50 -06:00
Will Martin
20bc6036c6 [CL] fix no-bwi-class-usage eslint rule to allow helper classes (#18782)
The eslint rule now distinguishes between icon classes (bwi, bwi-lock, etc.)
and helper utility classes (bwi-fw, bwi-sm, bwi-lg, etc.) defined in the SCSS.
Helper classes like bwi-fw are legitimate utility classes that modify appearance
and can be used with bit-icon or other components without triggering warnings.

Updated the rule to maintain an allowlist of helper classes and only error when
actual icon classes are used directly.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 12:07:40 -05:00
Jared
f34ccf21d8 Fix highlight in left sidebar menu (#18781) 2026-02-05 12:03:01 -05:00
Daniel James Smith
446f35791e [PM-29127] Improve subdomain parsing for fido2 (#18383)
* Add check and test for empty inputs into isValidRpId

* Ensure the origin's scheme is https

* Improve parsing and validation of rpId

* Move https requirement check further down as we accept http for localhost

* Add documentation

* Remove ts-strict-ignore

* ts-strict: Fix possibly null on parsedOrigin.hostname

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-05 17:45:09 +01:00
Mike Amirault
5e31ba9cce [PM-27220] Switch export filetype select to simple select (#17865) 2026-02-05 11:30:37 -05:00
Jared
5c7bba00f3 [PM-16694] ac integration page background fill missing (#18508)
* Fixing some tech debt before implementing actual fix of implementation

* Adding new components to handle the different routes for the integrations page to make use of bit-tab-nav-bar to follow background-fill UI spec

* Implement organization integrations page with routing and state management

- Added routing for organization integrations including device management, event management, single sign-on, and user provisioning.
- Created OrganizationIntegrationsState to manage integrations and organization data.
- Introduced OrganizationIntegrationsResolver for preloading organization and integration data.
- Updated components to utilize the new state management and resolver.
- Refactored integration routes to follow updated naming conventions.

* Refactor organization integrations components to use signals and observables; enhance async handling in templates and add debug logging

* Enhance organization integrations module with routing updates and state management improvements

- Added OrganizationIntegrationsState for better state management.
- Updated routing to redirect to single sign-on by default.
- Integrated OrganizationIntegrationsResolver for preloading data.
- Refactored components to utilize new state management and improved async handling.

* Refactor SingleSignOnComponent to remove OnInit lifecycle and debug logging

- Simplified SingleSignOnComponent by removing the OnInit implementation.
- Eliminated debug logging for integrations in ngOnInit.
- Cleaned up imports for better readability.

* Refactor WebHeaderComponent to simplify background handling

- Removed the useAltBackground input signal from WebHeaderComponent.
- Updated the HTML template to conditionally apply styles based solely on the child element count of the tabs container.

* Refactor organization integrations components for improved readability and performance

- Updated HTML templates to remove optional chaining for organization properties.
- Removed unnecessary debug logging and comments in the OrganizationIntegrationsResolver.
- Simplified DeviceManagementComponent by eliminating the OnInit lifecycle hook.

* Refactor organization integrations components to use direct state properties

- Updated components to access organization and integrations directly from state instead of using observables.
- Simplified HTML templates by removing async pipes and using direct function calls for better readability.
- Ensured consistent naming conventions for organization and integrations variables across components.

* Enhance WebHeaderComponent by adding bitTypography attribute to the title element for improved styling consistency

* Refactor organization state to use 'undefined' instead of 'null' for organization signal and remove OnInit lifecycle hook from UserProvisioningComponent for cleaner code.

* Refactor EventManagementComponent to remove OnInit lifecycle hook for cleaner code and improved readability.

* Update organization state to set organization value to 'undefined' when null is provided, enhancing state management consistency.

* Update WebHeaderComponent to allow optional title and icon inputs, enhancing flexibility in header configuration.

* Update WebHeaderComponent to allow account property to be nullable, improving type safety and handling of user data.
2026-02-05 10:58:42 -05:00
John Harrington
d88cb89618 PM-23851 False requirement to pop out extension when using send files (#17950)
* follow existing popout guard pattern to force popout on firefox when filepicker is exposed

* move firefox guard to tools ownership & revert changes to auth owned file

* initial refactor to consolidate logic  using file-picker-popout.guard

* remove safari from guard & disable forced popout in vault import

* enforce popout on Safari with test coverage

* use userAgent and consistent detection for platform detection

* refactor guard tests involving routes

* replace imports lost during merge

* remove text sends from popout requirement and update tests

* add tooltip and screen-reader text describing popout behavior
2026-02-05 08:41:03 -07:00