Commit Graph

3100 Commits

Author SHA1 Message Date
bw-ghapp[bot]
a04f19b788
Autosync the updated translations (#19411)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-06 08:31:18 +00:00
Daniel James Smith
b932ae04fd
Remove unused ColorPasswordCountPipe and ColorPasswordPipe (#19345)
With the replacement of the vault cipher view and add-edit views on the desktop client, we no longer require the ColorPasswordCountPipe or the ColorPasswordPipe, as these are now handled by the ColorPasswordComponent from the Bitwarden component library

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-05 08:56:31 +01:00
Bernd Schoolmann
944b3ffdc2
[PM-31406] fix: TypeScript 5.9 type compatibility fixes for auth-owned code (#19187)
* fix: add TypeScript 5.9 type compatibility fixes for auth-owned code

Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.

* Fix type errors

* Fix test

* Fix tests

* Fix typing in auth tests

* Also change unlock service to uint8array<arraybuffer>

* Fix types

* Prettier

* Apply fixes for jest spy type
2026-03-04 19:12:44 -07:00
Daniel James Smith
9ed87a4166
Remove gitter chat badges from READMEs (#19368)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-04 16:33:27 +00:00
Daniel James Smith
8c7c7ebfb8
Make TwoFactorIconComponent standalone (#19305)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-03 18:43:13 -05:00
Jared
ce47bbc113
[PM-32664] Update dialog for organization ownership policy (#19262)
* feat: implement individual items transfer option in data ownership policy

Added a new checkbox for enabling individual items transfer in the organization data ownership policy. When enabled, users will be prompted to move their individual vault items to the organization. Updated the form control logic to handle the new feature and added relevant translations in the messages.json file.

* feat: enhance data loading for individual items transfer in policy edit

Implemented a new loadData method to initialize the form with the enableIndividualItemsTransfer value from the policy response. This ensures the form reflects the current state of the data ownership policy when editing.

* Add unit test for if data is sent as a null attribute

* Rid of extra modal since checkbox replaces it

* Update buildRequestData method to include enableIndividualItemsTransfer property in OrganizationDataOwnershipPolicyData
2026-03-03 16:23:13 -05:00
bw-ghapp[bot]
c07a2c48a3
Autosync the updated translations (#19271)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-03 11:01:10 +01:00
Oscar Hinton
2d3c517a7f
[PM-33006] Convert JslibModule declares to standalone (#19316)
* Convert JslibModule declares to standalone

* Make not premium non standalone since it's handled by a different PR.

* Fix tests
2026-03-03 10:41:17 +01:00
Stephon Brown
2facb7e04f
[PM-29823] New Organization Upgrade Path (#19080)
* refactor(billing): Modernize organization plans template with block syntax

* Refactor: Update `@for` loop tracking with `$index`

* Feat: Migrate component properties to Angular signals

* Refactor: Adapt component logic for signal consumption and improve structure

* feat(admin-console): Bind OrganizationPlansComponent inputs directly in template

* refactor(admin-console): Remove ViewChild for OrganizationPlansComponent configuration

* refactor(billing): Switch productTier and plan to input signals

* refactor(billing): Update productTier and plan access to use form controls

* refactor(billing): Rename 'isCreatingNewOrganization' getter

* refactor(billing): Access enterPaymentMethodComponent as a signal

* feat(billing): use createOrganization property for organization creation flow

* refactor(billing): migrate organization plans tests to signals and reactive forms

* refactor(billing): introduce setupMockUpgradeOrganization helper in tests

* refactor(billing): update getters to computed signals

* refactor(billing): update template to use new computed signals

* tests(billing): update tests with computed signals

* feat(billing): update display of specific forms when user is upgrading from premium

* tests(billing): add premium upgrade tests

* fix(billing): update type issues for organization plans

* tests(billing): update failing test

* refactor(billing): rename plan/productTier inputs to initial* for clarity

* refactor(billing): update templates to use renamed initial* inputs

* test(billing): update tests to use renamed initial* inputs

* feat(billing): feature flag upgrade from premium changes

* test(billing): update tests for featureflag

* refactor(ui): Improve HTML templating for organization plans

* refactor(component): Safely derive 'hasPremiumPersonally' signal

* refactor(component): Streamline 'createCloudHosted' method and key handling

* feat(billing): Enable organization key submission for premium upgrades

* test(billing): Enhance and adjust organization plan submission tests

* refactor: remove unused imports and types

* refactor(billing): introduce DTO for organization upgrade request

* feat(billing): implement organization key and collection encryption

* refactor(billing): integrate DTO and encryption logic in upgrade service

* test(billing): update specs and components for organization upgrade DTO

* refactor(billing): relocate FamiliesForEnterpriseSetupComponent to billing module

* refactor(admin-console): revert families-for-enterprise component

* refactor: rename wrappedPrivateKey to encryptedPrivateKey

* refactor(billing): rename encrypted private key variable

* feat(billing): add tier ids and types

* refactor(billing): remove unused imports and sync service

* fix(billing): correct tier passing in upgrade function

* feat(billing): add conversion function from product tier to subscription tier id

* refactor(billing): enhance organization encryption data generation

* fix(billing): enable response for account upgrade

* fix(billing): pass plan tier instead of plan details

* refactor(test): remove unnecessary organization service mock

* test: update upgrade service tests

* tests(billing): update tests

* refactor(billing): import account type
feat(billing): add organization creation message

* refactor(billing): remove unused imports and constants

* refactor(billing): remove unused viewchild

* fix(billing): remove selectedfile variable

* feat(billing): update organization upgrade logic

* refactor(billing): remove unused upgrade functions

* test: remove unnecessary setupMockEncryptionKeys calls

* refactor: remove unused mockAccountBillingClient

* feat: introduce PremiumOrgUpgradeService

* refactor: simplify form value access and remove accountbilling

* fix(billing): handle type validation

* test(billing): add initial plan and product tier input tests

* feat(billing): set initial plan and product tier values

* refactor(billing): ensure selected plan exists before accessing type
2026-03-02 12:16:29 -05:00
Jared McCannon
e2bee489a4
[PM-30886] - Remove FF for Restoring Users. (#19155)
* removed feature flag for default user collection being created for restored users.

* leaving the url as we'll need it in case we have to revert a release
2026-03-02 10:38:54 -06:00
Alex Morask
1d212d16a9
[PM-32890] Fix self-hosted premium subscription page with FF on (#19297)
* feat(billing): add self-hosted premium subscription page behind feature flag

* refactor(billing): move premium redirect from component to route guard

* refactor(billing): extract subscription route logic into PremiumSubscriptionRoutingService

* fix(billing): address local and remote PR review feedback for self-hosted subscription page
2026-03-02 08:39:51 -06:00
Jordan Aasen
48b8c5b807
fix flakey welcome-dialog test (#19291)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
2026-02-27 14:54:01 -08:00
Bernd Schoolmann
646c4da171
[PM-31406] fix: TypeScript 5.9 type compatibility fixes for tools-owned code (#19189)
* fix: TypeScript 5.9 type compatibility fixes for tools-owned code

Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.

* Fix type errors
2026-02-27 16:08:08 -05:00
Brandon Treston
1b908365f7
[PM-32126] update copy, fix one time dialog (#19199)
* update copy, fix one time dialog

* update i18n key

* clean up
2026-02-27 12:46:04 -05:00
John Harrington
bf9bd9dade
[PM-32628] Add email validation to email verified auth flow (#19198)
* add email validation

* implement robust email validation regex
2026-02-27 09:01:41 -07:00
Oscar Hinton
59c0b28816
Deprecated SharedModules (#19260) 2026-02-27 11:45:06 +01:00
Leslie Xiong
b3439482fa
[PM-18768] Migrate vault cipher list (#18522)
* migrated vault cipher list

* added back `rounded` prop to `bit-layout`

* moved account switcher to right corner

* moved username below cipher item name

* fixed spacing to align with send pages

* removed commented out

* fixed options buttons overflowing if has launch

* fixed "options" label disappearing when width is insufficient

* reverted search component, added search directly to vault-list

* placed new vault cipher list work behind 'desktop-ui-migration-milestone-3' feature flag

* reverted scss changes

* added back search bar when FF not enabled

* fixed owner column responsiveness (set to table width instead of screen)

* fixed 'owner' column responsiveness

* hide 'owner' column at 'md' breakpoint

* Remove duplicate badge component and org name pipe

* Convert to standalone

* Added back translations

* used correct 'tw' variants for 'px'

* extended existing `item-footer` component

* removed unused `showGroups()` from `vault-cipher-row`

* removed 'addAccess' from `vault-list.component`

* removed more unused, separated 'cipher collections' from 'filter collections'

* converted `vault-wrapper` to use signal

* updated original 'vault.component' to reflect main

* fixed `templateUrl`, merge fix

* changed to `getFeatureFlag$`

* fixes for `item-footer` and `vault-collection-row`

* fixed lint error

* - replaced using global css with tailwind
- added functionality and ui for empty states
- moved search and vault header from 'vault-list' to 'vault component'

* fixed accessing `this.userCanArchive$`

* converted more to tailwind in vault component

* removed unused 'selection' from `vault-list`

* Fix flashing vault list

* Move app-header title to routing module

* Remove broken half-migrated new form

* removed unnecessary `this.organizations$` block

* removed `firstSetup$`, cleaned up unused, separated 'delete' and 'restore' handling for footer and cipher menu

* used desktop 'launch' functionality

* moved 'bit-no-items' into `vault-list`

* removed unused locales

* aligned `handleDelete` and `handleRestore` with original desktop functionality

* Fix linting and tests

* Move no-items out of table similar to send.

* Re-add newline end of messges.json

* Remove events

* Hide copy buttons if there is nothing to copy. Simplify

* fix

* Get rid of unused copyField

* Use dropdown button in vault list instead

* Fix linting

* removed unused imports

* updated `vault-orig` to current in main

* fixed `vault-orig` templateUrl

* fixed import order, removed unused `combineLatest` block

* fixed `onVaultItemsEvent` "delete"

* removed duplicate rendering of logo

* preserve cipher view after 'cancel'

* filter from `allCiphers`

* moved `enforceOrganizationDataOwnership` call inside "syncCompleted" block

* converted `showAddCipherBtn` to observable

* removed unused

* added `submitButtonText` to `app-vault-item-footer`

* removed filtering restricted item types

* fixed `cancelCipher` pass in and set `cipherId`

* updated `submitButtonText`

* updated `vault-orig` to current `vault` in main

---------

Co-authored-by: Hinton <hinton@users.noreply.github.com>
2026-02-26 16:41:02 -05:00
Oscar Hinton
6b326a5fd0
[CL-1051] Generic closeOnNavigation for drawers (#19031)
Exposes closeOnNavigation from cdk config and implements a drawer close solution on navigation. More complex scenarios may still require custom handling.

DialogService is referenced in imported components in some tests meaning we need to use overrideProvider rather than providers.
2026-02-26 17:44:49 +01:00
Alex Morask
abbfda124f
refactor(billing): simplify subscription visibility and fix redirect race condition (#19255) 2026-02-26 10:13:47 -06:00
Jared
66b3d35b58
PR #18534 (f22736bb64) — reverted: policy dialogs converted back from drawer to popup dialogs (#19235)
PR #18852 (3f3fc6f984) — reverted: OnDestroy drawer-close logic removed from PoliciesComponent, drawer docs removed from dialogs.mdx

PR #18915 (2e83244158) — reverted: showDescription property in BasePolicyEditDefinition restored to true
2026-02-25 15:36:18 -05:00
Nick Krantz
e422dc7f29
[PM-32717] Individual Vault - Edit Cipher permissions (#19228)
* bypass cipher edit permissions for individual vault

* replace bypassCipherEditPermission with form configuration mode

* allow partial edit to view cipher form

* remove old comment
2026-02-25 13:26:56 -06:00
Dave
4f706746d6
[PM-30811] Update change email flow to use new Key Management APIs (#18857)
* feat(change-email) [PM-30811]: Add feature flag.

* feat(change-email) [PM-30811]: Add new constructor to EmailTokenRequest.

* feat(change-email) [PM-30811]: Update import.

* feat(change-email) [PM-30811]: Stub new ChangeEmailService.

* feat(change-email) [PM-30811]: Provide ChangeEmailService.

* feat(change-email) [PM-30811]: Add ChangeEmailService impl.

* feat(change-email) [PM-30811]: Add ChangeEmailService to component.

* feat(change-email) [PM-30811]: Remove change-email methods from ApiService.

* feat(change-email) [PM-30811]: Update EmailTokenRequest for new APIs.

* feat(change-email) [PM-30811]: Finish implementation of both paths in ChangeEmailService.

* feat(change-email) [PM-30811]: Wire-up service in ChangeEmailComponent.

* test(change-email) [PM-30811]: Add ChangeEmailService tests.

* test(change-email) [PM-30811]: Update tests.

* refactor(change-email) [PM-30811]: EmailTokenRequest strict-ignore until legacy support can be unwound.

* refactor(change-email) [PM-30811]: Re-order imports.

* test(change-email) [PM-30811]: Update component tests to reflect new implementation.

* refactor(change-email) [PM-30811]: Formatting.

* test(change-email-service) [PM-30811]: Improve accuracy of null-checking tests: kdf, userKey, salt, in order.
2026-02-25 12:41:29 -05:00
Alex Morask
b964cfc8e4
[PM-32612] Only show subscription menu option when premium user has subscription (#19209)
* fix(billing): only show Subscription menu option when premium user has subscription

* fix(billing): missed state service invocation changes
2026-02-25 08:25:24 -06:00
Andreas Coroiu
a5df3540af
[PM-31831] fix: add support for overriding commercial SDK (#18863)
* fix: add support for overriding commercial SDK

* fix: only download commercial when needed

* fix: only download OSS SDK for OSS builds and commercial SDK for commercial builds

Previously, the OSS sdk-internal was downloaded and linked for all
build types including commercial, which is wasteful. Now each build
type only downloads the SDK artifact it needs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* revert: changes to build-desktop.yml

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 11:15:19 +01:00
Bernd Schoolmann
8d0c4123a6
fix: TypeScript 5.9 type compatibility fixes for admin-console-owned code (#19192)
Add explicit `as BufferSource` casts and `Uint8Array` wrapping to satisfy
stricter type checking in TypeScript 5.9. Non-functional changes.
2026-02-25 13:22:46 +10:00
Stephon Brown
f667507512
[PM-32028] Remove Save and Cancel Buttons (#18954)
* feat(billing): Refactor DisplayPaymentMethodInlineComponent for external form control

* feat(billing): Integrate external payment method management in PremiumOrgUpgradePayment
Cleanup: Remove debug console.warn in invoice preview refresh

* test(billing): Update PremiumOrgUpgradePaymentComponent tests

* refactor:add non-null assertion for payment method validation

* refactor: use string selectors for ViewChild

* refactor: remove unused `tap` operator

* test: improve component mocking setup

* feat: add payment method validation on upgrade

* refactor(billing): remove unused updatePaymentInParent input
2026-02-24 14:07:43 -06:00
Vijay Oommen
4bcdd08ab8
[PM-32447] Integration card after edits (#19203) 2026-02-24 13:37:33 -06:00
sven-bitwarden
d50c5e1819
[PM-32172] Redirect All Calls to PUT Policy VNext Endpoint (#19015)
* Redirect all remaining calls to VNextSavePolicy endpoint

* Remove unused code

---------

Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
2026-02-24 12:37:58 -06:00
Alex
bc14512a02
Revert "[PM-31803] Fix Password Manager reports not displaying items with limited collection access (#18956)" (#19153)
This reverts commit 1ef8f257b0.
2026-02-24 09:45:28 -08:00
John Harrington
39b09d9310
[PM-32530] [Defect] Double / infinite spinner is displayed when accessing an email verified Send (#19125)
* remove redundant spinner

* fix infinite spinner
2026-02-23 15:32:50 -07:00
cd-bitwarden
435375ab53
Removing feature flag from client side (#19070) 2026-02-23 12:48:34 -06:00
Will Martin
c5e73b4b8c
[CL-971] update responsive behavior of three panel layout (#19086)
* update responsive behavior of three panel layout; give sidenav extra top padding on electron; add stories that show mix of drawer and sidenav states

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 11:56:01 -05:00
Mike Amirault
27fd6be5ec
[PM-31935] Ensure new Send button is keyboard clickable (#19098)
* [PM-31935] Ensure new Send button is keyboard clickable

* Remove unused module
2026-02-23 11:23:30 -05:00
Jared Snider
3782e328e1
refactor(Auth-Font-Icons): [Auth/PM-31804] Migrate auth font icons to use bit-icon (#18816)
* PM-31804 - WIP

* PM-31804 - Profile Component - fix missing translation

* PM-31804 - Web - Emergency Access Takeover Dialog Comp - remove screen reader only span as arialabel on spinner should be sufficient

* PM-31804 - Web - EmergencyAccessViewComp - remove redundant span as aria label handles accessibility.

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - Web - EmergencyAccessViewComp - Remove redundant sr only span - replaced w/ aria label

* PM-31804 - EmergencyAccessComp - Replace redundant sr only span with aria label

* PM-31804 - two-factor-setup.component.html - Replace redundant sr only spans with aria labels

* PM-31804 - WebauthnLoginSettingsModule - remove unnecessary IconModule - it's imported via SharedModule

* PM-31804 - web - emergency-access.component.html - Replace redundant sr only span with aria label

* PM-31804 - LoginDecryptionOptionsComponent - Replace redundant sr only span with aria label

* PM-31804 - ChangePasswordComp - Replace redundant sr only span with aria label

* PM-31804 - AccountComponent - add BitwardenIcon type to satisfy template type requirements for name property.

* PM-31804 - Browser Account Security Component - replace nonexistent chevron icon with existing angle right icon.

* PM-31804 - Fix A11y issues with missing aria labels

* PM-31804 - Remove remaining redundant sr only spans since we now have aria labels
2026-02-23 10:42:02 -05:00
Leslie Tilton
74aec0b80c
[PM-26487][PM-20112] Member Access Report - Member Cipher Client Mapping (#18774)
* Added v2 version of member access reports that aggregate data client side instead of using endpoint that times out. Added feature flag.

* Remove feature flag

* Added avatar color to the member access report

* Update icon usage

* Add story book for member access report

* Add icon module to member access report component

* Fix test case

* Update member access report service to match export of v1 version. Update test cases

* Fix billing error in member access report

* Add timeout to fetch organization ciphers

* Handle group naming

* Add cached permission text

* Add memberAccessReportLoadError message

* Fix member cipher mapping to deduplicate data in memory

* Update log

* Update storybook with deterministic data and test type

* Fix avatar color default

* Fix types

* Address timeout cleanup
2026-02-23 09:05:26 -06:00
Bernd Schoolmann
4fea630073
Fix user crypto management module not being imported correctly (#19133) 2026-02-23 08:16:30 -06:00
bmbitwarden
cf32250d7b
PM-7853 implemented hide send based on config setting (#18831) 2026-02-23 09:09:05 -05:00
bitwarden-devops-bot
e6c4998b7c
Bumped client version(s)
Some checks failed
Chromatic / Check PR run (push) Has been cancelled
Scan / Check PR run (push) Has been cancelled
Testing / Run typechecking (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-browser junit:junit-browser.xml name:Browser paths:apps/browser bitwarden_license/bit-browser]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-cli junit:junit-cli.xml name:CLI paths:apps/cli bitwarden_license/bit-cli]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-libs junit:junit-libs.xml name:Libs paths:libs bitwarden_license/bit-common]) (push) Has been cancelled
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-web junit:junit-web.xml name:Web paths:apps/web bitwarden_license/bit-web]) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Has been cancelled
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Has been cancelled
Testing / Rust Coverage (push) Has been cancelled
Chromatic / Chromatic (push) Has been cancelled
Scan / Checkmarx (push) Has been cancelled
Scan / Sonar (push) Has been cancelled
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
2026-02-23 11:48:40 +00:00
bw-ghapp[bot]
b4235110b0
Autosync the updated translations (#19131)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-23 10:34:48 +00:00
Jordan Aasen
c01ce9f99d
check for falsy orgnanizationId in cipher bulk collection assignment (#19088) 2026-02-20 13:41:47 -08:00
Alex Dragovich
84845024fd
[PM-32502] fixed icon / copy value spacing in button on send access page (#19092)
* [PM-32502] fixed icon / copy value spacing in button on send access page

* [PM-32502] using more approriate button configuration on send access
2026-02-20 10:29:40 -08:00
John Harrington
38bcc92398
reset otp state on back nav to email input (#19105) 2026-02-20 11:03:13 -07:00
Nick Krantz
a610ce01a2
[PM-31433] Welcome Dialog with Extension Prompt (#18849)
* add welcome prompt when extension is not installed

* add feature flag

* move prompt logic to internal service and add day prompt

* rename dialog component

* remove feature flag hardcode and add documentation

* use i18n for image alt

* move state into service

* be more explicit when the account or creation date is not available

* remove spaces

* fix types caused by introducing a numeric feature flag type

* add `typeof` for feature flag typing
2026-02-20 10:23:59 -06:00
Vijay Oommen
a7c74c6f76
[PM-32372] Added testid for table and then fixed tech debt (#19066) 2026-02-20 10:17:08 -06:00
bw-ghapp[bot]
e82669b999
Autosync the updated translations (#19095)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-20 17:08:39 +01:00
Vicki League
e16503f093
[PM-24178] Handle focus when routed dialog closes in vault table (#18409) 2026-02-20 10:01:38 -05:00
Bernd Schoolmann
bb110122a5
[PM-30144] Implement client-side user-key-rotation-service (#18285)
* Implement client-side user-key-rotation-service

* Feature flag

* Add tests

* Fix flag name

* Fix build

* Prettier

* Small clean-up

* Codeowners order cleanup

* Fix eslint issue

* Update sdk to 550

* Cleanup & fix incompatibilities

* Prettier
2026-02-20 15:28:24 +01:00
Alex
3663574113
[PM-31496] Reports back button placement (#18706)
* place back button fixed at bottom right

* fix type errors

* add the new button logic to org reports also

* fix: restore keyboard focus for reports back button in CDK overlay

  The CDK Overlay renders outside the cdkTrapFocus boundary, making the
  floating "Back to reports" button unreachable via Tab. Add a focus bridge
  element that intercepts Tab and programmatically redirects focus to the
  overlay button, with a return handler to cycle focus back into the page.
2026-02-19 17:43:51 -08:00
John Harrington
8399815ea7
[PM-32237] Add back functionality to email OTP auth flow (#19024)
* add back functionality to OTP auth flow

* respond to review comments

* hoist email value to parent component

---------

Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
2026-02-19 10:59:59 -08:00
Mike Amirault
04aad44322
[PM-31774] Remove toggle visibility callout on hidden text sends (#18924) 2026-02-19 09:54:15 -08:00