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

3500 Commits

Author SHA1 Message Date
Jared
b3eb825c55 [PM-29506] Rid of old feature flag for members feature flag (#18884)
* [PM-31750] Refactor members routing and user confirmation logic

* Simplified user confirmation process by removing feature flag checks.
* Updated routing to directly use the new members component without feature flagging.
* Removed deprecated members component references from routing modules.
* Cleaned up feature flag enum by removing unused entries.

* trigger claude

* [PM-31750] Refactor members component and remove deprecated files

* Renamed vNextMembersComponent to MembersComponent for consistency.
* Removed deprecated_members.component.ts and associated HTML files.
* Updated routing and references to use the new MembersComponent.
* Cleaned up related tests to reflect the component name change.

* Refactor import statements in security-tasks.service.ts for improved readability

* Update apps/web/src/app/admin-console/organizations/manage/user-confirm.component.ts

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

* Remove BaseMembersComponent and related imports from the admin console, streamlining member management functionality.

* Remove unused ConfigService import from UserConfirmComponent to clean up code.

* Implement feature flag logic for user restoration in MemberDialogComponent, allowing conditional restoration based on DefaultUserCollectionRestore flag.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-02-17 09:52:21 -08:00
Jordan Aasen
d015d41818 [PM-25685][PM-31077] - Migrate all Folder models (#17077)
* enforce strict types on folders

* fix folder api service

* fix tests

* fix test

* fix type issue

* fix test

* add extra checks for folders. add specs

* fix folder.id checks

* fix id logic

* remove unecessary check

* name name and id optional in folder model

* fix tests

* Update folder and folderview

* fix folder with id export

* fix tests

* fix tests

* more defensive typing

* fix tests

* no need to check for presence

* check for empty name in folder toDomain

* fixes to folder

* initialize id in folder constructor. fix failing tests

* remove optional param to folder constructor

* fix folder

* fix test

* remove remaining checks for null folder id

* fix logic

* pass null for empty folder ids

* make id more explicit

* fix failing test

* fix failing test

* fix "No Folder" filter
2026-02-17 09:52:20 -08:00
Will Martin
98e31af3b9 [CL-1046] Update dialog components to support attribute selector usage for form integration (#18929)
- Add [bit-dialog] and [bit-simple-dialog] attribute selectors
- Update documentation with recommended form usage pattern
- Add Storybook examples demonstrating <form bit-dialog> pattern
- Migrate simple-configurable-dialog template to new pattern

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-17 09:52:19 -08:00
Bernd Schoolmann
c34ab67f26 [PM-32063] Disable cipher-key-downgrading (#18911)
* Proposal: Disable cipher-key-downgrading

* Cleanup
2026-02-17 09:52:17 -08:00
Jordan Aasen
ea5f3de0d1 [PM-26703] - Update Item Action Behavior for Extension (#18921)
* Revert "Revert "[PM-26703]- Browser - Update autofill Behavior (#18467)" (#18723)"

This reverts commit 5d17d9ee71.

* fix title in non-autofill list

* add feature flag

* add old logic. add specs

* revert changes

* remove comments

* update language in spec

* update appearance spec

* revert change to security-tasks

* fix logic for blocked uri. add deprecated notice.

* fix test

* fix type error
2026-02-17 09:52:17 -08:00
Rui Tomé
430c368e2c [PM-28300] Remove BlockClaimedDomainAccountCreation feature flag and related logic from policy component (#18720) 2026-02-17 09:52:17 -08:00
John Harrington
8867c8a59f [PM-31611] [Defect] After entering an email, the Anyone with the link option cannot be selected anymore (#18844)
* add authType to to sendDetailsForm valueChanges
2026-02-17 09:52:16 -08:00
Bryan Cunningham
54387b0eee show underline on focus (#18916) 2026-02-17 09:52:16 -08:00
Leslie Xiong
03875dcf05 [CL-1022] Update Berry Styles (#18799)
* created 'berry' component

* added 'bit-berry' to 'popup-tab-navigation'

* simplified - removed null checks

* changed 'effectiveSize' to 'computedSize'

* fixed 'accentPrimary' color

* updated to not render berry if 'count' is 0 or negative number

* simplified checking count undefined

* updated computed padding

* switched from `[ngClass]` to `[class]`

* updated 'popup-tab-navigation' berry to use 'danger' variant

* fixed berry positioning in popup-tab-navigation

* updated content logic

* cleanup unused 'ngClass'

* updated conditional rendering of berry

* updated story 'Usage'

* updates with adding berry 'type'

* added type "status" to popup-tab-navigation

* fixed type error

* updated 'Count Behavior' description
2026-02-17 09:52:15 -08:00
Nick Krantz
454f5029cc [PM-24978] Corrupt Attachment Keys (#17790)
* display translated content for attachments that cannot be downloaded

* consume decryption failure from the sdk for attachments

* add decryption errors from sdk

* only show fix attachment issues for when key is null and it does not have a decryption failure

* separate decryption failure state in view
2026-02-17 09:52:15 -08:00
Jared
f523d65407 [PM-31937] Close drawer on navigation (#18852)
* Implement OnDestroy lifecycle hook in PoliciesComponent to close dialog on component destruction. Update dialog reference handling for improved resource management.

* Add documentation to dialogs.mdx so others can know how to prevent drawers staying open

* Fix for PR action test

* Update PoliciesComponent to use optional chaining for myDialogRef
2026-02-17 09:52:15 -08:00
Jon David Schober
18ef526eac [PM-30529][PM-31279] Webauthn: Support Related Origin Requests (#18242)
* Webauthn: Support Related Origin Requests

* review changes

* PM-31279 Add feature flag to guard executing ROR checks

* Fix fido2-client.service tests

* Set ROR_MAX_LABELS to 5

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2026-02-17 09:52:15 -08:00
Nick Krantz
2abc60559e [PM-31839] Only allow a single item transfer (#18889)
* add property to track inflight enforcements of item transfers

* update naming in tests
2026-02-17 09:52:14 -08:00
Brandon Treston
a4ff58120b [PM-28262] Bulk re-invite UI improvements (#18754)
* implement dilogs and logic

* clean up, add tests

* add feature flag key

* product requested changes

* more product changes

* edit error message
2026-02-17 09:52:12 -08:00
Jared
541686dfc8 [PM-26020] Implement dynamic cipher creation permissions in vault header and new… (#18579)
* Implement dynamic cipher creation permissions in vault header and new cipher menu components

* Enhance new cipher menu button behavior and accessibility. Implement dynamic button label based on creation permissions, allowing direct collection creation when applicable. Update button trigger logic to improve user experience.

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

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>

* Add canCreateCipher getter for improved readability

---------

Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
2026-02-17 09:52:12 -08:00
Nick Krantz
d923e213ce [PM-31740] Align Dialog Text (#18876)
* center help links in transfer dialogs

* fix icon warnings
2026-02-17 09:52:11 -08:00
Bernd Schoolmann
73bdd60644 [BEEEP] Add deprecation notices to encstring encrypt API (#18811)
* Add deprecation notices to encstring encrypt API

* Cleanup comment

* Run prettier
2026-02-17 09:52:11 -08:00
Bernd Schoolmann
0b19638fe3 Make hazmat warnings more bold (#18813) 2026-02-17 09:52:11 -08:00
Jason Ng
d7cbfebfab [PM-31675] remove archive from web edit (#18764)
* refactor default cipher archive service, update archive/unarchive in vault-item-dialog, remove archive/unarchive items in edit form
2026-02-17 09:52:11 -08:00
Alex Dragovich
3c3ac1d39c [PM-31685] Removing email hashes (#18744)
* [PM-31685] Removing email hashes

* [PM-31685] fixing tests, which are now passing

* [PM-31685] removing anon access emails field and reusing emails field

* [PM-31685] fixing missed tests

* [PM-31685] fixing missed tests

* [PM-31685] code review changes

* [PM-31685] do not encrypt emails by use of domain functionality

* [PM-31685] test fixes
2026-02-17 09:52:10 -08:00
SmithThe4th
e3563b8f7c Revert "[PM-31668] Race condition in cipher cache clearing causes stale faile…" (#18846)
This reverts commit bf13194b9c.
2026-02-17 09:52:10 -08:00
Bernd Schoolmann
b5228d5dd2 Prevent SDK from disposing withit debounce period (#18775) 2026-02-17 09:52:10 -08:00
Stephon Brown
e93ee0222c [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-17 09:52:10 -08:00
SmithThe4th
4aac8f171b Revert "[PM-30580] Add encryptMany to SDK for batch cipher encryption (#18803)" (#18840)
This reverts commit a637983305.
2026-02-17 09:52:09 -08:00
Bernd Schoolmann
89c9200552 [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-17 09:52:08 -08:00
Daniel James Smith
2a39a643f4 Revert "[PM-29149] Add ServerCommunicationConfigService (#18815)" (#18821)
This reverts commit f1b9408e3f.
2026-02-17 09:52:07 -08:00
Daniel James Smith
3ea81f3e80 [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-17 09:52:06 -08:00
SmithThe4th
9647d35684 [PM-30580] Add encryptMany to SDK for batch cipher encryption (#18803)
* Migrated encrypt many to the sdk

* removed comment

* updated sdk package
2026-02-17 09:52:06 -08:00
Brad
331f69f983 [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-17 09:52:06 -08:00
SmithThe4th
98c742e891 [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-17 09:52:05 -08:00
Will Martin
04bafcb3cd [CL-1034] tooltip should only show on focus-visible (#18767) 2026-02-17 09:52:05 -08:00
Mike Amirault
e9476323dd [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-17 09:52:05 -08:00
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