1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-19 19:04:01 +00:00
Commit Graph

3468 Commits

Author SHA1 Message Date
Alex Dragovich
3a8f956222 Revert "Remove feature flag check from password generation (#18003)" (#18794)
This reverts commit 7c6d98b50e.
2026-02-17 09:52:03 -08:00
Oscar Hinton
b40ebe26c8 [PM-30677] Convert SendSearchComponent to OnPush (#18322)
Converts SendSearchComponent to use OnPush change detection.
2026-02-17 09:52:03 -08:00
Mike Amirault
6ac6a3ea83 [PM-31435] Use muted colors for Send file and text type icons (#18673) 2026-02-17 09:52:02 -08:00
Mike Amirault
005c1faf0c [PM-31434] Match Send table options button size to other tables (#18685) 2026-02-17 09:52:02 -08:00
Nick Krantz
b4b38a86d2 move clearCache before updateWithServer (#18790) 2026-02-17 09:52:02 -08:00
Will Martin
9d4b83c3b4 [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-17 09:52:02 -08:00
Daniel James Smith
b769059b9d [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-17 09:52:01 -08:00
Mike Amirault
37f42b6be1 [PM-27220] Switch export filetype select to simple select (#17865) 2026-02-17 09:52:01 -08:00
John Harrington
076cc24fc5 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-17 09:52:01 -08:00
adudek-bw
70c321094e Remove feature flag check from password generation (#18003)
* Remove feature flag check from password generation
2026-02-17 09:52:00 -08:00
Jared McCannon
e26d833ba0 Fixing bulk restore request property name to match server. (#18757) 2026-02-17 09:52:00 -08:00
Thomas Avery
3cce990004 Add contact info to HAZMAT (#18759) 2026-02-17 09:51:59 -08:00
Vedant Madane
c3f3cab5aa [PM-30845] fix(vault): preserve card brand when editing existing card (#18381)
* fix(vault): preserve card brand when editing existing card

Fixes #16978

The brand field was not being restored when editing an existing card
cipher, causing it to show '--Select--' and potentially lose the brand
data when saving.

Added the brand field to initFromExistingCipher() to properly restore
the card brand when opening a card for editing.

Also updated the test to verify all card fields including brand, expMonth,
and expYear are properly initialized from existing cipher data.

* fix: add brand to OptionalInitialValues interface

Addresses review feedback from @jengstrom-bw in PR #18381.
The brand field was being used in card-details-section.component.ts
but wasn't defined in the OptionalInitialValues type, causing a
TypeScript compilation error.

Adds brand?: string; to the Credit Card Information section of
OptionalInitialValues in cipher-form-config.service.ts.

* test: add coverage for initFromExistingCipher brand logic
2026-02-17 09:51:59 -08:00
Bryan Cunningham
d11fb4302c [CL-637] icon api buttons links (#18388)
* update button api to accept icons

* use template outlet in button

* add link component

* create link component to handle anchors and buttons

* remove unnecessary let variables

* fix link focus state styling

* update link underline style

* fix broken skip link focus

* add focus method to link component

* fix typo

* fix off center loading state

* move flex styles to template to fix some minor style overrides

* remove unnecessary variables

* fix interaction states and add styles for test class to work properly

* refactor classes and make variable sreadonly

* fix classes not being applied correctly

* fix bad merge conflict resolution

* simplified button template
2026-02-17 09:51:58 -08:00
Jared
2cb3b07828 Update collectionIds handling in DefaultCipherFormService to preserve new values during cipher updates (#18650) 2026-02-17 09:51:57 -08:00
Vicki League
272e484b79 [PM-31384] Prevent dialog header from stealing focus from autofocus inputs (#18657) 2026-02-17 09:51:57 -08:00
Oscar Hinton
9381929445 Add a way to add folders in the desktop ui migration milestone 1 (#18632) 2026-02-17 09:51:56 -08:00
Nik Gilmore
2cda2bb2cc [PM-31282] Bugfix: Pass orgId to Admin Bulk Delete API 2026-02-17 09:51:56 -08:00
Sola
622957785b [PM-30894] Support importing SSH keys from 1pux (#18391)
* Support importing SSH keys from 1pux

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Propagate SSH key import error

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-02-17 09:51:55 -08:00
Mike Amirault
d41f95e981 [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-17 09:51:55 -08:00
Stephon Brown
0e91ffb015 [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-17 09:51:54 -08:00
bmbitwarden
e694c2805f PM-31247 interchanged error message (#18644) 2026-02-17 09:51:54 -08:00
John Harrington
6daf4a9533 [PM-30247] Previously archived items are not archived after import (#18546) 2026-02-17 09:51:52 -08:00
lif
e7f5a595b0 [PM-30266] Improve Buttercup CSV import mapping (#18135)
- Handle url field case-insensitively (URL, url, Url)
- Map note field to cipher notes
- Add !type to official props to exclude from custom fields
- Only add non-empty custom fields
- Add comprehensive unit tests

Fixes #17119

Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: John Harrington <84741727+harr1424@users.noreply.github.com>
2026-02-17 09:51:52 -08:00
Jonathan Prusik
7701358419 [PM-29236] Refactor of post-submit notification triggering logic (#18395)
* refactor triggerChangedPasswordNotification logic

* improve triggerChangedPasswordNotification and test coverage to handle scenarios more comprehensively

* restore triggerChangedPasswordNotification logic and move new logic and testing to triggerCipherNotification

* add branching qualification logic for cipher notifications

* add and implement undetermined-cipher-scenario-logic feature flag

* add optional chaining to username comparison of existing login ciphers

* cleanup

* update tests

* prefer explicit length comparisons
2026-02-17 09:51:52 -08:00
Jackson Engstrom
24241a8bf3 [PM 21939] Use family icon for free and family orgs
* adds check for a free/family org and updates the icon
2026-02-17 09:51:51 -08:00
Mike Amirault
236bebbc38 [PM-30675] Fix certain data fields being incorrect in account-restricted exports (#18531) 2026-02-17 09:51:49 -08:00
Jordan Aasen
981e6e1e05 Revert "[PM-26703]- Browser - Update autofill Behavior (#18467)" (#18723)
This reverts commit 7b583aa0ec.
2026-02-17 09:39:34 -08:00
Nick Krantz
c2c130f0c7 Mark getProfileCreationDate as deprecated (#18651)
* mark `getProfileCreationDate` as deprecated

* add reference to tech debt ticket
2026-02-17 09:39:33 -08:00
rr-bw
463c9b4f2f 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-02-17 09:39:33 -08:00
Ike
feeb7f9611 [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-02-17 09:39:33 -08:00
Jackson Engstrom
1b44c2dfc4 [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-02-17 09:39:32 -08:00
Anders Åberg
8b30e8ce79 Don't make PRF available in any client that is not web/browser, even if it's lying about navigator.credentials (#18687) 2026-02-17 09:39:32 -08:00
Will Martin
d34079dd8f [CL-970] delete deprecated drawer (#18577)
* delete bit drawer

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

* fix: remove stale drawer export from components barrel file

The drawer directory was deleted but the export statement in index.ts
was not removed, causing import errors.

Co-authored-by: Will Martin <willmartian@users.noreply.github.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Will Martin <willmartian@users.noreply.github.com>
2026-02-17 09:39:32 -08:00
Nick Krantz
0252ac84e5 [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-02-17 09:39:31 -08:00
sven-bitwarden
0abc685cda Separates policy response model for individual policy data (#18377) 2026-02-17 09:39:30 -08:00
Jared McCannon
08a98d2c5e [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-02-17 09:39:29 -08:00
Jordan Aasen
5c65096e8f [PM-29262] - improve performance of premium spotlight observable (#18490)
* improve performance of premium spotlight observable

* re-add comment

* fix test. remove unused service
2026-02-17 09:39:29 -08:00
Bernd Schoolmann
31eb984477 [PM-31012] Improve loading time for lock component (#18450)
* Improve loading time for lock component

* Reset interval to 1000

* Remove interval import
2026-02-17 09:39:28 -08:00
John Harrington
62ae8aded7 [PM-30922] Client changes to encrypt send access email list (#18486) 2026-02-17 09:39:27 -08:00
Vijay Oommen
924b777e36 PM-30539 created new component and added a filter (#18630) 2026-02-17 09:39:27 -08:00
Alex Dragovich
e6a08a3d01 [PM-31323] change text on toast for send link copy (#18617) 2026-02-17 09:39:26 -08:00
Nik Gilmore
7e81c6a682 [PM-31282] Pass orgId through to API call when SDK feature flag is off (#18619) 2026-02-17 09:39:26 -08:00
Will Martin
de2f4a04fc [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-02-17 09:39:25 -08:00
bmbitwarden
8093b4fe81 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-02-17 09:39:25 -08:00
Mike Amirault
9085ae20d5 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-02-17 09:39:25 -08:00
Brandon Treston
0f6e477b36 [PM-28413] Remove feature flagged logic (#18566)
* clean up flagged logic

* fix test
2026-02-17 09:39:24 -08:00
Todd Martin
80451a0219 chore(flags): [PM-31326] Rename ipc-channel-framework feature flag
* Rename feature flag

* Not sure what happened here.  Renaming the class.
2026-02-17 09:39:24 -08:00
Jordan Aasen
391f3b2070 [PM-26703]- Browser - Update autofill Behavior (#18467)
* apply changes to autofill

* fix tests

* fix and simplify logic
2026-02-17 09:39:23 -08:00
Dave
44947b43a3 feat(account-switching) [PM-5594]: Enabling account switching causes performance issues on safari (#18339)
* refactor(account-switching) [PM-5594]: Move account switching enabled flag to AccountSwitcherService to accommodate server-side feature flag.

* test(account-switching) [PM-5594]: Update tests to include ConfigService dependency for feature flag.

* refactor(account-switching) [PM-5594]: Remove compile-time account switching flags from browser.

* refactor(account-switching) [PM-5594]: Move initialization to ctor for strict.
2026-02-17 09:39:23 -08:00