Commit Graph

6554 Commits

Author SHA1 Message Date
Thomas Avery
bb5ed04470
[PM-31630] Fix native messaging state management (#18987)
* Fix native messaging state management

* Add unit tests
2026-03-06 09:59:41 -06:00
Jonathan Prusik
364e9b3054
add credentialless attribute to injected iframes (#19286) 2026-03-06 10:14:56 -05:00
Maciej Zieniuk
d08d8743be
[PM-20372] Clear master password unlock state on Key Connector migration (#18485)
* clear master password unlock state on Key Connector migration

* missing dependency

* missing dependency

* types fix
2026-03-06 15:38:14 +01:00
bw-ghapp[bot]
3d6dec816c
Autosync the updated translations (#19410)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-06 08:31:44 +00:00
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
Oscar Hinton
a697417f08
Remove most JslibModule usages from desktop (#19384) 2026-03-06 09:22:29 +01:00
bw-ghapp[bot]
8ad7eb853a
Autosync the updated translations (#19409)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-06 09:14:41 +01:00
Daniel James Smith
f7a5dd85ad
Remove unused templates from desktop's app.component (#19391)
* Remove unused templates from desktops app.component

* Remove all unused services from ctor

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-05 16:41:44 +01:00
Jason Ng
0e4f9ee65b
[PM-33155] add spec for at-risk-password-callout component in browser (#19381) 2026-03-05 10:01:25 -05:00
Github Actions
9672c576dc Bumped Desktop client to 2026.3.0 2026-03-05 14:02:20 +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
Andy Pixley
e1078a00fa
[BRE-1530] Updating certificate name from 8bit to Bitwarden (#19380) 2026-03-04 16:16:12 -05:00
Nick Krantz
caa6b85f0e
[PM-33060][PM-33078] Autofill Notification Cleanup (#19349)
* only shown autofill notification when there are autofill ciphers present

* refactor to use @if syntax

* add unit tests

* make autofill icon larger

* formatting

* remove multiple subscriptions on showEmptyAutofillTip$
2026-03-04 15:09:14 -06:00
renovate[bot]
8125954c04
[deps]: Update Rust crate serial_test to v3.4.0 (#19315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: neuronull <9162534+neuronull@users.noreply.github.com>
2026-03-04 10:25:03 -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
neuronull
23da514cce
Desktop Native: Add missing docs lint for _some_ modules in core (#18983)
Adds the clippy lint for docs warning to core to align with our contributing docs guidelines.
2026-03-04 09:21:02 -07:00
Vicki League
9b474c5690
[CL-695] Combine display of CL and autofill storybooks (#18404) 2026-03-04 09:45:53 -05:00
Brandon Treston
5ae9a2048b
[PM-33077] Add missing myItems key (#19348)
* add missing myItems key

* fix capitalization
2026-03-04 09:38:57 -05:00
Isaiah Inuwa
d0ca8f7b0a
Split NAPI modules [PM-31598] (#19113)
NAPI modules are all in one file. We use nested modules to define types within TypeScript namespaces, and NAPI requires nested modules to be inline due to rust proc-macro limitations.

However, we can still split these into multiple files and repeat the nested module name for the namespace.

This will improve the ability to set code ownership and navigate the data.

This PR splits the NAPI module files without further modification and assigns code ownership to @bitwarden/team-autofill-desktop-dev for the autofill, autotype and sshagent modules. I verified locally that the generated index.d.ts file does not change at all with this PR; all types are generated exactly the same.
2026-03-04 07:27:39 -06:00
Bernd Schoolmann
f28bea4ca4
[PM-31406] Migrate duckduckgo to purpose-built dangerous-crypto-compat function (#19223)
* Introduce dangerous-compat crypto implementations

* Migrate duckduckgo to purpose-built dangerous-crypto-compat function

* Update typescript version
2026-03-04 10:58:01 +01:00
renovate[bot]
5b35973944
[deps]: Update Rust crate rusqlite to v0.38.0 (#18202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Dragovich <46065570+itsadrago@users.noreply.github.com>
2026-03-03 17:12:10 -08: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
Bernd Schoolmann
6b91ff3867
[PM-24102] Remove encstring decrypt function (#17108)
* Remove orgid in vault decryption code

* Remove deprecated encstring usage from dirt code

* tmp

* Remove folder usage without provided key

* Fix folder test

* Fix build

* Fix build

* Fix build

* Fix tests

* Update error message

* Update spec to not use EncString decrypt

* Remove decrypt from encstring

* Make key required

* Remove unused tests

* Mark old encstring properties as deprecated

* Remove unused test code

* Update function signature

* Undo breaking change (throw on decrypt

* Defensively protect against non-error errors

* Fix types

* Fix prettier formatting

* Fix tests
2026-03-03 14:57:05 +01: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
bw-ghapp[bot]
99725a43f2
Autosync the updated translations (#19270)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-03 09:44:19 +01:00
bw-ghapp[bot]
51a878ab8b
Autosync the updated translations (#19269)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-03-03 09:42:52 +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
Jackson Engstrom
52c551c0fe
[PM-24439] Updates download qr code and buttons to fixed size/width (#18690)
* updates download qr code and buttons to fixed size/width

* updates qr code width to 110px

* adds line break between download description and link
2026-03-02 09:14:35 -08: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
Brandon Treston
27e8f94dfa
[PM-32861] Log event from first time dialog (#19284)
* log event from first time dialog

* fix test

* add missing provider for test
2026-03-02 11:35:45 -05:00
neuronull
7b44917b27
SSH Agent v2: In-memory encrypted key store (#18596)
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2026-03-02 08:33:33 -07:00
✨ Audrey ✨
c2d12821cc
generate sourcemaps for mv3 background.js (#19227) 2026-03-02 10:15:29 -05: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
Leslie Xiong
cfa4b1c27f
[PM 29776] Move Account Switcher (#18686)
* moved account switcher into page header

* Added 'header-actions' slot for AnonLayout

* removed 'standalone: true'

* cleanup

* more cleanup

* fixed lint error

* use 'app-avatar' in dropdown

* fixed account avatar vertical centering

* revert back to `standalone: false`

* moved new account switcher behind 'desktop-ui-migration-milestone-4' FF

* - added to default FF
- fixed template formatting
- removed type of 'configService'
- renamed to 'account-switcher-v2'

* fixed test

* moved 'account-switcher-v2' into '/auth'

* updated class and style from 'v3' to 'v2'

* removed ts-strict-ignore

* added back `ts-strict-ignore`

* added `aria-label` to `bit-avatar`

* fixed page load issue after clearing local session data

* fixed 'Access denied' toast appearing when milestone4 FF is false

* fixed new account switcher missing from 'locked vaults' and other 'AnonLayouts'

* fixed styles for non-logged in account-switcher button

* fixed duplicate account switcher bug

* lint fix

* updated 'account switcher' anon layout styles/colors

* fixed color from `bg-brand-strong` to `bg-brand`

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2026-02-28 14:57:57 -05: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
renovate[bot]
739e164802
[deps] Vault: Update @koa/router to v15.3.0 (#18998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jng <jng@bitwarden.com>
2026-02-27 15:50:59 -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
Bernd Schoolmann
dc772c22f7
[PM-31406] fix: TypeScript 5.9 type compatibility fixes for fido2 & platform-owned code (#19188)
* fix: TypeScript 5.9 type compatibility fixes for platform-owned code

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

* Fix fido2 issues

* Fix another type error

* Fix another type error
2026-02-27 10:59:52 +01:00
Nick Krantz
d04210926c
pass addCollectionIds as an array rather than null (#19204) 2026-02-26 16:10:55 -06: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
Jordan Aasen
298b174921
[PM-31192] - [Defect] Deleting item -Scroll does not persist when returning to Vault tab (#19160)
* fix scroll after deletion

* fix tests

* fix comment
2026-02-25 14:23:54 -08: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