1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-05 19:23:19 +00:00

2990 Commits

Author SHA1 Message Date
Mike Amirault
51a99fecd8 [PM-31429] Add missing helper text for password protected Sends, remove unused one (#18694)
* [PM-31429] Add missing helper text for password protected Sends, remove unused one

* Put one UI change behind feature flag, add back required translations

* Reorder translation

* Add spaces

* Come full circle, remove last couple of committed changes
2026-02-03 15:18:23 -05:00
rr-bw
489308fd75 refactor(input-password-flows): [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - Emergency Access (#18425)
Update the Emergency Access Takeover flow to use new KM data types from `master-password.types.ts` / `MasterPasswordService`:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`

This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.

Changes are behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-03 10:41:25 -08:00
Stephon Brown
38465c059c [PM-29602] Update Cart Summary for Upgrade Flow (#18605)
* feat(billing): update cart-summary logic

 Add functionality to hide breakdown and allow translation params

* tests(cart-summary): update tests and stories

* feat(pricing): Add quantity support to discount labels

* feat(pricing): discount quantity story

* Revert "feat(pricing): discount quantity story"

This reverts commit 2c00891f1f.

* Revert "feat(pricing): Add quantity support to discount labels"

This reverts commit 8350fdd90f.

* fix(cart-summary): Adjust discount text styling

* feat(pricing): adds support for hidden discount amounts

Allows hiding the formatted amount for discounts in the cart summary.

This is useful for scenarios where the discount amount is displayed
elsewhere or is not relevant to the user.

Updates the storybook to include a story demonstrating this feature.

* feat(pricing): conditionally format currency amounts to show or hide decimals

* Revert "feat(pricing): adds support for hidden discount amounts"

This reverts commit 076724276c.

* Revert "fix(cart-summary): Adjust discount text styling"

This reverts commit d02c12fc2a.

* Revert "discount translation"

* feat(pricing): add credit type to cart summary

* feat(pricing-card): Add i18n and icon component infrastructure

* feat(pricing-card): Apply i18n pipe to pricing card template

* refactor(pricing-card): Replace `<i>` tags with `<bit-icon>` in template

* test(pricing-card): Update tests for i18n and icon component changes

* docs(pricing-card): Enhance Storybook and documentation for new features

* feat(pricing-card): Adds "per user" translation key

* refactor(pricing-card): use property binding for bit-icon name

* docs(pricing-card): expand price cadence options in MDX

* fix(icon): update exports for icon types

* feat(billing): Use strongly typed BitwardenIcon for pricing card buttons

* refactor(pricing): Remove unused I18nService from PricingCardComponent

* fix(pricing): Improve pricing card button icon template null-safety

* fix(pricing-card): format update

Clarifies the description of the `price` property within the PricingCard component documentation.

No functional code changes are included.

* refactor: Update discount label typography in cart summary

* refactor(stories): Rename account credit translation key to premium subscription credit

* feat(pricing-card): update spacing for card without button
2026-02-03 17:47:58 +00:00
Mike Amirault
1e0b64a55b [PM-31430] Add specific messages for creating password and email protected Sends (#18692)
* [PM-31430] Add specific messages for creating password and email protected Sends

* [PM-31430] Fix tests, one bug in Send success drawer component
2026-02-03 11:15:46 -05:00
Stephon Brown
86907d68c2 [PM-29600] Rename Tax Client and Add Endpoints for Upgrade and Proration (#18462)
* 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

* fix(billing): add additional prorated amount of months

* fix(billing): update client call parameter

* feat(billing): Enhance ProrationPreviewResponse with new plan details
2026-02-03 11:11:00 -05:00
Jared
3333e5696d Update collection dialog to conditionally display "view" or "edit" title based on dialog state; add "viewCollection" translation to messages.json (#18724) 2026-02-03 10:19:30 -05:00
Daniel James Smith
c595767688 [PM-29239] Create proxy cookie redirect connector (#18476)
* Create a subfolder for platform-owned connectors and ensure it's included in the web builds

* Add platform as codeowner of apps/web/src/connectors/platform

* Create proxy-cookie-redirect connector

* Create section within CODEOWNERS for Web connectors

* Swap order of codeowners

* Use kebap-style route

* Update url to redirect to

* Add override to test locally

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-03 07:08:44 -05:00
Jackson Engstrom
4141b864da [PM-24187] Improve labeling of owner filter in vault table 2026-02-02 16:18:30 -08:00
Andy Pixley
9db65f8895 [BRE-1531] Adding ability to build web with custom SDK branch (#18677) 2026-02-02 17:13:56 -05:00
Jordan Aasen
50b8dde031 [PM-31240[ - [Defect] Toast message archiving an item in Edit/View item modal is in plural form (#18578)
* fix archive toast

* fix bulk share in vault

* Revert "fix bulk share in vault"

This reverts commit dfb309c8c5.
2026-02-02 13:23:13 -08:00
Jordan Aasen
a048827c0e don't allow unarchiving in AC (#18637) 2026-02-02 13:21:18 -08:00
Alex
8ceb28f2b9 default weakness sort to descending order (PM-31164) (#18719) 2026-02-02 15:49:11 -05:00
rr-bw
27c6aa8121 refactor(input-password-flows): [Auth/PM-27086] Use new KM Data Types in InputPasswordComponent flows - Account Recovery (#18423)
Update Account Recovery flow to use new KM data types from `master-password.types.ts` / `MasterPasswordService`:
- `MasterPasswordAuthenticationData`
- `MasterPasswordUnlockData`

This allows us to move away from the deprecated `makeMasterKey()` method (which takes email as salt) as we seek to eventually separate the email from the salt.

Changes are behind feature flag: `pm-27086-update-authentication-apis-for-input-password`
2026-02-02 09:06:04 -08:00
Vijay Oommen
2c30fb72ba [PM-30544] Added Critical app badge to Access Intelligence (#18658) 2026-02-02 10:05:02 -06:00
rr-bw
1f0e0ca098 refactor(input-password-flows): [Auth/PM-27086] JIT MP org user flow - remove masterKey generation from InputPasswordComponent (#18006)
- Updates `InputPasswordComponent` to emit raw data instead of generating cryptographic properties (`newMasterKey`, `newServerMasterKeyHash`, `newLocalMasterKeyHash`).
  - This helps us in moving away from using the deprecated `makeMasterKey()` method in the component (which takes email as salt) as we seek to eventually separate the email from the salt.
- Updates the `JIT_PROVISIONED_MP_ORG_USER` case of the switch to handle the flow when the `PM27086_UpdateAuthenticationApisForInputPassword` flag is on.

Feature Flag: `PM27086_UpdateAuthenticationApisForInputPassword`
2026-01-30 15:11:59 -08:00
Ike
4a45414f4a [PM-30563] Improve Send Access enumeration protection (#18620)
* feat: sync changes with SDK and server

* Update libs/common/src/auth/send-access/types/invalid-request-errors.type.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* feat: sync changes with SDK and Server projects
sync: sdk version

* chore: update sdk

* chore: update sdk

* chore: prettier

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-01-30 17:16:32 -05:00
Jackson Engstrom
a1bf6afad6 [PM-21564] Hide buttons when user has View access to an item
* Changes attachment modal to remove choose file button and changes upload button to close button if the user doesn't have edit rights to the cipher.
2026-01-30 14:01:10 -08:00
Brad
d3aef2c14b [PM-31385] Safari Report icon rendering fix #18641
* add full height tailwind class to report icons
2026-01-30 14:37:49 -06:00
Jackson Engstrom
17f264701c [PM-24183] Updates aria-haspopup to dialog 2026-01-30 10:49:43 -08:00
Jackson Engstrom
997956b172 [PM-19090] Add ssh key header title to emergency access view modal 2026-01-30 10:18:58 -08:00
Nick Krantz
93ce914f79 [PM-30638] Cipher Add/Edit dialog focus (#18536)
* allow exporting of the DialogComponent

* focus on dialog header when switching modes

* update to view child fixmes
2026-01-30 10:10:26 -06:00
bw-ghapp[bot]
52e416e85e Autosync the updated translations (#18667)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-30 15:58:03 +00:00
sven-bitwarden
9e36c19515 Separates policy response model for individual policy data (#18377) 2026-01-29 14:11:31 -06:00
Jared McCannon
ae64706256 [PM-30891] - Create My Items On Restore (#18454)
* Added encrypted default collection name to new feature flagged restore user methods/endpoint.

* corrected filter to use null check with imperative code
2026-01-29 13:56:35 -06:00
Brad
2109092a94 [PM-31354] Fix Reports page loading (#18631)
* fix reports page loading

* update to signals, leave OnPush detection strategy
2026-01-28 14:20:17 -08:00
Vijay Oommen
9d8f1af62b PM-30539 created new component and added a filter (#18630) 2026-01-28 15:19:39 -06:00
Brad
d40e9a3644 [PM-30918] Migrate DIRT components to new Angular control flow syntax (#18416)
* dirt: migrate apps/web components to new control flow

* dirt: update control flow bitwarden licensed code

* consolidate @if statements, use @else where appropriate

* more cleanup

* consolidate conditionals

* remove unnecessary conditional
2026-01-28 12:47:38 -08:00
Jared
136705ac08 Refactor autofill policy naming and update related translations (#18628)
- Renamed `activateAutofill` to `activateAutofillPolicy` in the policy order map and component.
- Updated corresponding translation keys in `messages.json` for consistency.
- Adjusted warning message in the `activate-autofill.component.html` to reflect the new naming convention.
2026-01-28 17:27:16 +00:00
Will Martin
5dc49f21d2 [CL-82] rename bit-icon to bit-svg; create new bit-icon component for font icons (#18584)
* rename bit-icon to bit-svg; create new bit-icon for font icons

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* find and replace current usage

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* add custom eslint warning

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix incorrect usage

* fix tests

* fix tests

* Update libs/components/src/svg/index.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Update libs/eslint/components/no-bwi-class-usage.spec.mjs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* update component api

* update class name

* use icon type in iconButton component

* update type Icon --> BitSvg

* fix bad renames

* fix more renames

* fix bad input

* revert iconButton type

* fix lint

* fix more inputs

* misc fixes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix test

* add eslint ignore

* fix lint

* add comparison story

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-01-28 11:36:27 -05:00
Jared
6d0f0b62f2 [PM-31155] reorder policies in policies page (#18564)
* Refactor policy edit registration to centralize ownership and improve organization. Reordered policies for clarity and added new policies for enhanced functionality.

* Add PolicyOrderPipe for sorting policies and update policies component to utilize it

* Add organizationDataOwnership to POLICY_ORDER_MAP for policy sorting

* Fix PR comments
2026-01-28 10:24:06 -05:00
bmbitwarden
0138abf373 PM-29919 email verification on sends (#18260)
* PM-29919 email verification on sends

* PM-29919 resolved build issue

* PM-29919 refined who can view fields

* PM-29919 resolved lint issues

* PM-29919 resolved lint issues

* PM-29919 resolved unit tests

* PM-29919 resolved lint issues

* PM-29919 resolved unit test issue

* PM-29919 resolved pr comments

* PM-29919 resolved pr comments

* PM-29919 resolved unneeded label

* PM-29919 refactored to hide instead of disable

* PM-29919 resolved pr comments

* PM-29919 resolved no auth string in PM-31200

* PM-29919 resolved bugs
2026-01-28 09:39:37 -05:00
Mike Amirault
65b224646d Tools/pm 29918/implement send auth flows (#18270)
* [PM-29918] Implement new Send auth flows

* [PM-29918] Fix types

* Trigger Claude code review

* [PM-29918] Address PR review comments

* [PM-29918] Remove duplicate AuthType const
2026-01-28 09:32:02 -05:00
Brandon Treston
c2da621663 [PM-28413] Remove feature flagged logic (#18566)
* clean up flagged logic

* fix test
2026-01-28 09:31:55 -05:00
Jared
af2d3c945b Fix empty toast message when owner deletes himself (#18603) 2026-01-27 15:51:46 -05:00
Conner Turnbull
4fad2c3bcd [PM-31295] Remove price from next charge on individual subscription page (#18600)
* Remove price from next charge on individual subscription page

* Revert subscription-card changes, limit scope to legacy component
2026-01-27 14:56:55 -05:00
Jared
4ac38c18c0 [PM-27909] dialog improvements for claim domain (#18535)
* Update domain status message from "Under verification" to "Pending" in localization and adjust corresponding template reference

* Update domain status message from "Under verification" to "Pending" in the admin console template

* Add domain verification instructions to the admin console dialog

Enhanced the domain add/edit dialog by including detailed instructions for the automatic domain claim process when the domain is not verified. Removed the previous callout component for a more streamlined user experience.

* Add new localization messages for automatic domain claim process

Included detailed instructions for the automatic domain claim process, covering the steps for claiming a domain, account ownership change, and consequences of unclaimed domains. This enhances user guidance during domain management.

* Refactor automatic domain claim process localization messages

Updated localization keys for the automatic domain claim process to improve clarity and consistency. Removed redundant messages and streamlined the instructions displayed in the admin console dialog for better user experience.
2026-01-27 13:39:34 -05:00
Jared
122bd98643 Refactor access tab label in collection dialog component to use a getter for improved readability and localization support. (#18537) 2026-01-27 13:38:22 -05:00
Jared
fe753c9c02 Add support for DuckDuckGo browser in event service (#18576) 2026-01-27 13:34:23 -05:00
Jared
42aec64689 [PM-16863] Update "auto-fill" to "autofill" for org policies (#18483)
* Fixes typo in messages.json from auto-fill to autofill to match company preference

* Strings have to be immutable as learned from Brandon. Trying to delete old key-value pair to see if that's possible

* Fix my typo
2026-01-27 13:31:02 -05:00
Jared McCannon
3e344212d6 [PM-29805] - Rollback single org enablement when auto confirm enablement fails. (#18572) 2026-01-27 12:18:37 -06:00
Brad
1de2e33bbb [PM-31182] Add HIBP icons URL to dev configuration for allowed Content-Security-Policy domains (#18565)
* add url for loading HIBP icons

* remove old hibp location
2026-01-27 09:14:00 -08:00
Nik Gilmore
748c7c5446 [PM-30303] Migrate Cipher Delete Operations to use SDK (#18275) 2026-01-26 15:55:49 -08:00
Jordan Aasen
8b9211ea62 do not show badge/button in AC (#18489) 2026-01-26 11:52:30 -08:00
Nik Gilmore
06c8c7316d [PM-30301][PM-30302] Use SDK for Create and Update cipher operations (#18149)
* Migrate create and edit operations to use SDK for ciphers

* WIP: Adds admin call to edit ciphers with SDK

* Add client version to SDK intialization settings

* Remove console.log statements

* Adds originalCipherId and collectionIds to updateCipher

* Update tests for new cipehrService interfaces

* Rename SdkCipherOperations feature flag

* Add call to Admin edit SDK if flag is passed

* Add tests for SDK path

* Revert changes to .npmrc

* Remove outdated comments

* Fix feature flag name

* Fix UUID format in cipher.service.spec.ts

* Update calls to cipherService.updateWithServer and .createWithServer to new interface

* Update CLI and Desktop to use new cipherSErvice interfaces

* Fix tests for new cipherService interface change

* Bump sdk-internal and commercial-sdk-internal versions to 0.2.0-main.439

* Fix linting errors

* Fix typescript errors impacted by this chnage

* Fix caching issue on browser extension when using SDK cipher ops.

* Remove commented code

* Fix bug causing race condition due to not consuming / awaiting observable.

* Add missing 'await' to decrypt call

* Clean up unnecessary else statements and fix function naming

* Add comments for this.clearCache

* Add tests for SDK CipherView conversion functions

* Replace sdkservice with cipher-sdk.service

* Fix import issues in browser

* Fix import issues in cli

* Fix type issues

* Fix type issues

* Fix type issues

* Fix test that fails sporadically due to timing issue
2026-01-26 11:43:35 -08:00
bitwarden-devops-bot
c2b55e31cf Bumped client version(s) 2026-01-26 16:06:39 +00:00
Vijay Oommen
2aea6406a5 [PM-29501] Use bit-chip-select when there are too many orgs (#18368) 2026-01-26 09:24:20 -06:00
Vijay Oommen
94c40b53aa PM-30799 added html clean up for the domain (#18393) 2026-01-26 08:05:46 -06:00
bw-ghapp[bot]
46266dfd20 Autosync the updated translations (#18560)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-01-26 12:53:03 +00:00
Rui Tomé
71db33d45d [PM-28842] Add max length validation to master password policy form (#18237)
* Update master password policy dialog to limit the minimum length to 128

* Update master password policy to use dynamic maximum length from Utils

* Add unit tests for MasterPasswordPolicyComponent to validate password length constraints and scoring
2026-01-26 11:38:10 +00:00
Anders Åberg
903026b574 PM-2035: PRF Unlock (web + extension) (#16662)
* PM-13632: Enable sign in with passkeys in the browser extension

* Refactor component + Icon fix

This commit refactors the login-via-webauthn commit as per @JaredSnider-Bitwarden suggestions. It also fixes an existing issue where Icons are not displayed properly on the web vault.

Remove old one.

Rename the file

Working refactor

Removed the icon from the component

Fixed icons not showing. Changed layout to be 'embedded'

* Add tracking links

* Update app.module.ts

* Remove default Icons on load

* Remove login.module.ts

* Add env changer to the passkey component

* Remove leftover dependencies

* PRF Unlock

Cleanup and testes

* Workaround prf type missing

* Fix any type

* Undo accidental cleanup to keep PR focused

* Undo accidental cleanup to keep PR focused

* Cleaned up public interface

* Use UserId type

* Typed UserId and improved isPrfUnlockAvailable

* Rename key and use zero challenge array

* logservice

* Cleanup rpId handling

* Refactor to separate component + icon

* Moved the prf unlock service impl.

* Fix broken test

* fix tests

* Use isChromium

* Update services.module.ts

* missing , in locales

* Update desktop-lock-component.service.ts

* Fix more desktoptests

* Expect a single UnlockOption from IdTokenResponse, but multiple from sync

* Missing s

* remove catches

* Use new control flow in unlock-via-prf.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Changed throw behaviour of unlockVaultWithPrf

* remove timeout comment

* refactired webauthm-prf-unlock.service internally

* WebAuthnPrfUnlockServiceAbstraction -> WebAuthnPrfUnlockService

* Fixed any and bad import

* Fix errors after merge

* Added missing PinServiceAbstraction

* Fixed format

* Removed @Inject()

* Fix broken tests after Inject removal

* Return userkey instead of setting it

* Used input/output signals

* removed duplicate MessageSender registration

* nit: Made import relative

* Disable onPush requirement because it would need refactoring the component

* Added feature flag (#17494)

* Fixed ById from main

* Import feature flag from file

* Add missing test providers for MasterPasswordLockComponent

Add WebAuthnPrfUnlockService and DialogService mocks to fix test failures
caused by UnlockViaPrfComponent dependencies.

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2026-01-26 10:53:20 +01:00