Commit Graph

22444 Commits

Author SHA1 Message Date
✨ Audrey ✨
e2f8e7c4a0
[PM-40502] communicate message extension payloads using symbol (#21909)
Some checks are pending
Testing / Run typechecking (push) Waiting to run
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) Waiting to run
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) Waiting to run
Testing / Run tests - ${{ matrix.test-group.name }} (map[artifact:jest-coverage-desktop junit:junit-desktop.xml name:Desktop paths:apps/desktop]) (push) Waiting to run
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) Waiting to run
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) Waiting to run
Testing / Run Rust tests on ${{ matrix.os }} (macos-14) (push) Waiting to run
Testing / Run Rust tests on ${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
Testing / Run Rust tests on ${{ matrix.os }} (windows-2022) (push) Waiting to run
Testing / Rust Coverage (push) Waiting to run
Testing / Upload to Codecov (push) Blocked by required conditions
Testing / Run tests (push) Blocked by required conditions
* replace `webExtSender` named property with symbolic property
2026-07-21 08:53:18 -04:00
Isaiah Inuwa
94913b5ae5
desktop-autofill: Add missing Skunkworks codeownership (#21907) 2026-07-21 08:03:44 -04:00
Addison Beck
2285ec781f
chore(ci): skip platform-community signal for fork PRs (#21934) 2026-07-21 09:29:30 +02:00
bw-ghapp[bot]
52e09aa807
Autosync the updated translations (#21916)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-21 09:20:12 +02:00
bw-ghapp[bot]
bc69d94cd8
Autosync the updated translations (#21966)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-21 07:04:19 +00:00
John Harrington
f10141d707
Update Send Event Logs copy (#21890) 2026-07-20 14:36:06 -07:00
Dave
e03f56f133
feat(register-finish-request): Add sales_assisted_token to SDK request model (#21961)
* feat(register-finish-request): Add sales_assisted_token to request model.

* chore(sdk): Update SDK version

* chore(snapshots): Add sales-assisted-token
2026-07-20 16:57:35 -04:00
Jimmy Vo
dea2065ee8
[PM-38749] Add OrganizationInviteLinkApiService.updateSupportsConfirmation (#21933) 2026-07-20 16:36:49 -04:00
Jared
51b8112d55
[PM-18638] Prevent collection/cipher creation for suspended organizations (#21887)
* Implement error handling for suspended organizations in CipherForm component

- Added a new error message for when an item cannot be saved due to the associated organization being suspended.
- Updated the CipherForm component to check the status of the target organization before saving, displaying an error toast if the organization is suspended.
- Updated localization files for browser, desktop, and web to include the new error message.

* Refactor cipher creation logic to handle suspended organizations

- Removed the error message for saving items when the organization is suspended from localization files.
- Updated various components to check if a cipher can be created based on the organization's status, ensuring that new items cannot be saved to suspended organizations.
- Enhanced the user interface to conditionally display options for creating ciphers based on the organization's enabled state.
- Improved overall error handling and user experience when interacting with organizations in the vault.

* Enhance cipher creation logic to account for organization status

- Introduced checks across various components to determine if a cipher can be created based on the organization's enabled state.
- Added tests to verify behavior when organizations are suspended, ensuring that no cipher options are displayed or actions are allowed in such cases.
- Updated the NewItemDropdown and AddItemGrid components to conditionally render options based on the canCreateCipher input.
- Improved overall error handling and user experience when interacting with vault items related to organizational status.

* Implement organization status checks in vault components

- Added logic to disable creation buttons across various components when the organization is suspended, enhancing user experience by preventing actions that cannot be completed.
- Integrated tooltip messages to inform users why certain actions are disabled, improving clarity.
- Updated imports to include TooltipDirective where necessary to support new tooltip functionality.
- Ensured consistent handling of organization status across the vault interface, aligning with recent changes to cipher creation logic.
2026-07-20 13:57:06 -04:00
SmithThe4th
2581be634a
[PM-40201] SSH key items with a null public key or fingerprint fail to decrypt and break the vault (#21778)
* Made public key and key finger print optional to allow derivation through the SDK

* Added feature flag constant

* Updated package

* Fixed conflicts
2026-07-20 09:15:01 -07:00
Nick Krantz
c61e9c2d59
[PM-40247] Fix vault item checkmarks disappearing after clearing a search (#21823)
Pass a compareVaultItems function to SelectionModel so selection is
compared by stable cipher/collection ID rather than object reference.
2026-07-20 10:47:40 -05:00
Jared
0632785fbe
[PM-37991] Implement Automatic App Login Policy v2 and associated components (#21824)
* Implement Automatic App Login Policy v2 and associated components

- Added a new description for the v2 version of the Automatic App Login policy in the localization file.
- Introduced `AutomaticAppLoginPolicyV2Component` with updated UI elements, including a switch for enabling the policy.
- Created story files for both the original and v2 components to facilitate visual testing.
- Updated the main policy component to reference the new v2 variant and its description.
- Added unit tests for the new policy component to ensure functionality and integration with existing services.

* Refactor automatic app login component layout by simplifying the HTML structure and removing unnecessary grid elements. Update related tests to reflect the changes in the component structure.
2026-07-20 10:58:35 -04:00
aikido-autofix[bot]
8d148ca563
[AppSec] AI Fix for Template Injection in GitHub Workflows Action (#21787) 2026-07-20 10:56:35 -04:00
Daniel James Smith
34fb90cfb9
[PM-39966] Migrate from @angular/platform-browser-dynamic to @angular/platform-browser (#21866)
* Migrate from @angular/platform-browser-dynamic to @angular/platform-browser

@angular/platform-browser-dynamic has been marked as deprecated

* Remove @angular/platform-browser-dynamic as a direct dependency, but keep it as a peerDependency

* Remove @angular/platform-browser-dynamic from renovate updates, as it will get updated/removed by it's peer dependencies

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-07-20 16:32:01 +02:00
renovate[bot]
95d04cab71
[deps]: Update dtolnay/rust-toolchain digest to 4cda84d (#21948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 15:38:03 +02:00
Will Martin
96c272a374
[CL-1285] create Storybook feature-flags addon in new @bitwarden/storybook lib (#21913)
* Add @bitwarden/storybook lib with feature-flags addon

Introduce a dedicated @bitwarden/storybook library housing Storybook
addons and utilities.

feature-flags addon:
- Manager-side "Feature Flags" panel listing every boolean flag from the
  FeatureFlag enum; toggles write to a Storybook global.
- Preview-side mock ConfigService whose getFeatureFlag$ values are driven
  by that global (reactive, so toggles update stories live).
- Flag catalog seeded into globals so the manager bundle never imports
  @bitwarden/* (esbuild can't resolve those aliases).
- featureFlagModes() helper for opt-in Chromatic on/off snapshot modes.
- Documentation/Feature Flags MDX page describing panel + modes usage.

Also:
- Move .storybook/format-args-for-code-snippet into the lib and repoint
  the 19 component stories to import from @bitwarden/storybook.
- Enable jsx ("react") in tsconfig.base.json for the manager panel (.tsx);
  the Storybook manager builder emits the classic runtime.
- .storybook wiring: preview registers the decorator + seeds globals,
  manager loads the panel by relative path.

package-lock.json also picks up npm's normalization of a few pre-existing
entries on main (readdirp dedupe, encoding removal) alongside the new
workspace registration.

* Add enabledFlags helper for per-story flag state

- enabledFlags(...flags) builds a story-level `globals` override so one
  story can render with a flag on and another with it off.
- featureFlagModes now reuses enabledFlags for a single source of truth.
- Document the per-story pattern in the Feature Flags MDX.

* Fix CI failures for the feature-flags addon

- Decorator: skip providing the mock ConfigService when a story already
  provides one at the application root (applicationConfig). Fixes the
  danger-zone story crash "Cannot mix multi providers and regular
  providers" — it registers ConfigService as `multi: true`.
- Lib jest: set isolatedModules in tsconfig.spec.json so ts-jest
  transpiles without type-checking; its node10 resolution can't read
  @storybook/angular's exports-based types (typecheck is covered by tsc).
- Reformat 5 component stories that were left prettier-dirty after the
  import repoint (pre-commit runs prettier before eslint's import sort).

* Remove comments from tsconfig.spec.json and manager.js
2026-07-20 15:36:00 +02:00
renovate[bot]
a63f642f4c
[deps] Platform: Lock file maintenance (#21796)
* [deps] Platform: Lock file maintenance

* fix(desktop): pin napi transitive crates for 3.8.5

* regenerate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: addisonbeck <github@addisonbeck.com>
2026-07-20 13:26:44 +02:00
Jared McCannon
14a584e3cd
[INNO] - Passkey Report (#19787)
Some checks failed
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
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
Adds a passkey report that shows users which of their logins could be upgraded with passkey authentication but haven't been yet. It pulls a directory of passkey-capable services from the server, matches them against the user's login items by domain, and flags any that are missing FIDO2 credentials. The report shows whether each service supports passwordless login, MFA, or both, and links out to setup instructions where available. There's an individual version that covers your personal vault and org memberships (with filtering), and an org-level version for admins. Requires premium and the PasskeyLoginReport feature flag.
2026-07-17 17:02:15 -04:00
Jared
631f4e0099
[PM-13643] avatars in org member remove/revoke modal do not match members page fix (#21931)
* Implement AvatarIdPipe for consistent avatar identification across components and update usages in member dialogs and lists. Add tests for AvatarIdPipe and resolveAvatarId utility function to ensure correct behavior.

* Add AvatarIdPipe to bulk confirm and remove dialog components for enhanced avatar handling

* Refactor AvatarIdPipe and resolveAvatarId utility function documentation for clarity and conciseness. Remove redundant comments while retaining essential information about avatar id resolution.
2026-07-17 16:37:55 -04:00
Fabian
49b38db499
fix(desktop): add Helium as Linux entry for NativeMessagingHosts (#21748)
Signed-off-by: 0xk1f0 <dev@k1f0.dev>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2026-07-17 16:00:56 -04:00
Vicki League
b61ae07ffd
[PM-39948][PM-40406] Fix native select issues with dark mode and arrow click handling (#21877) 2026-07-17 14:51:12 -04:00
Brandon Treston
1dd9a385a7
[PM-38929] Add new design for edit member dialog (#21843)
* add new design for edit member dialog

* fix test

* fix stories

* replace radios, fix more actions, clean up design

* fix created date, update stories

* fix stories

* move sm check box
2026-07-17 12:52:29 -04:00
sven-bitwarden
3ea522e902
return to default filter after revoking last staged user (#21911) 2026-07-17 10:52:48 -05:00
Jared
81d26137f6
Enhance AutoConfirmWarningDialog by adding LinkModule to imports for improved functionality (#21883) 2026-07-17 11:33:03 -04:00
Jackson Engstrom
d0bb793bc9
[PM-32403] Update button copy desktop (#21528)
* add feature flag with temporary name

* update copy for collection dialog based on feature flag

* update copy and startIcon for domain rules based on feature flag

* update copy, icon and button type for new send dropdown based on feature flag

* update copy for vault component based on feature flag

* update copy for SM project dialog based on feature flag

* update copy for SM secret-dialog based on feature flag

* update copy and startIcon for SM service accounts list based on feature flag

* update copy for SM new-menu based on feature flag

* update copy and startIcon for SM projects list based on feature flag

* update copy and startIcon for SM secrets list based on feature flag

* update copy for new send dropdown V1 and V2 based on feature flag

* update copy for add edit dialog based on feature flag

* update copy for new cipher menu based on feature flag

* update copy for vault item dialog based on feature flag

* update copy for AC groups and group add edit based on feature flag

* update copy and icon for domain verification based on feature flag

* fix tests

* update feature flag name

* add i18n keys used by lib components in browser and desktop

* update feature flag variable name

* update individual vault empty button to be secondary and no plus icon

* update AC empty vault add button v1/v2

* update SM add machine account modal copy

* update new domain modal copy

* fix tests

* fix new send dropdown when hideIcon and feature flag are false, show old copy

* add initial value to btnTextAddCreateFeatureFlag signal

* revert changes to new send dropdown in libs, out of scope for web

* fixes missed lib change reversion

* fix issue from merge conflict

* update add-edit header copy

* update vault new button copy to add

* update view header copy to sentence case

* update copy for new send dropdown lib

* update send buttonType

* update buttonType and icon for empty vault list

* add optional icon and buttonType

* change copy for secondary buttons

* fix tests

* add bank account list view sdk support to allow for bankAccountSubtitle to work properly

* Revert "add bank account list view sdk support to allow for bankAccountSubtitle to work properly"

This reverts commit 26b17c3326.

* fix double injection of config service

* fix lack of feature flag gating for vault-list
2026-07-17 08:28:24 -07:00
neuronull
0b15fe0c1e
Fix SSH Agent concurrent requests (#21881) 2026-07-17 09:05:20 -06:00
Nick Krantz
26c73d6cb9
[PM-40104] Relabel "New organization" → "New vault" on org-switcher affordance (#21871)
Uses Vfo1TerminologyService to gate the label behind the VFO1Foundation
feature flag, showing "New vault" when enabled and "New organization" otherwise.
Adds the "newVault" i18n key and unit tests covering both flag states and
the SingleOrg policy suppression of the add action.
2026-07-17 10:01:39 -05:00
Brandon Treston
692a6f03d5
refactor org gruads for ts-strict (#21914) 2026-07-17 10:30:28 -04:00
renovate[bot]
edfae7f840
[deps]: Update Rust (#20390)
* [deps]: Update Rust

* Fix warning

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2026-07-17 16:28:31 +02:00
Will Martin
c204f71404
[CL-1273] Add bitMenuClose directive to decouple menu dismissal from ARIA roles (#21789)
Introduce a bitMenuClose marker directive: clicking an element (or descendant)
carrying it closes the enclosing bit-menu. bitMenuItem applies it automatically
via hostDirectives, so standard menu items keep closing as before. The menu now
detects the marker via a data attribute instead of emitting closed on every
content click, so non-item content (search fields, checkboxes, section headers)
no longer dismisses the menu unexpectedly.

Add bitMenuClose to the product-switcher's plain navigation links, which are not
bitMenuItems, to preserve their close-on-click behavior.
2026-07-17 08:42:25 -04:00
bw-ghapp[bot]
4375053bd3
Autosync the updated translations (#21915)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-17 09:41:56 +02:00
bw-ghapp[bot]
e641c78744
Autosync the updated translations (#21905)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-17 00:22:55 +02:00
Maciej Zieniuk
3c56a69e50
Logging out throws error mid-logout. (#21858)
Race condition between clearing pin and clearing user key causes pin clear to throw error and leaves user in locked state. The logout procedure never finishes successfully.
2026-07-17 00:21:31 +02:00
Thomas Rittson
1d382daaae
[PM-34857] Remove PoliciesInAcceptedState feature flag (#21761)
Keeping both old and new state and response properties
for now, state migration will be a separate PR.
2026-07-17 08:20:59 +10:00
bw-ghapp[bot]
66b178f62a
Autosync the updated translations (#21904)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-16 21:45:32 +00:00
bw-ghapp[bot]
bfe4020cd7
Autosync the updated translations (#21903)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-07-16 21:37:05 +00:00
Ike
f1247a86a0
[PM-27844] Set email on sync (#21349)
* feat: User is no longer logged out when their email is changed. This must be behind a feature flag until salt and email are seperated.

Addressed tech-debt as well enforcing strict typing, signals, and onPush for all components in this PR.
2026-07-16 20:20:18 +00:00
Jared
98fc013c7a
Refactor user avatar rendering in bulk dialogs to utilize userId and avatarColor properties (#21884)
Updated multiple bulk dialog components to enhance the rendering of user avatars by incorporating the userId and avatarColor properties. This change ensures consistent avatar display across the application, improving user experience and visual coherence.
2026-07-16 16:00:11 -04:00
Brandon Treston
404c407f6c
add event logging (#21908) 2026-07-16 15:48:59 -04:00
Colton Hurst
d022cf1de2
[PM-40484] Fix Autotype IPC channel mismatch (#21885) 2026-07-16 14:06:23 -04:00
Bernd Schoolmann
512cf6a8a9
chore: rename biometric_v2 mod to biometric (#21891) 2026-07-16 11:52:12 -06:00
Shane Melton
81385409ee
[PM-40370] Use decrypted ciphers cache when using SDK (#21888)
* [PM-40370] Serve decrypted cipher cache on SDK read path to avoid redundant vault decryption

* [PM-40370] Add test for decrypted cache short-circuit on SDK read path
2026-07-16 17:41:10 +00:00
Bernd Schoolmann
89b97d71c5
feat(llm): add claude note to make key-management aware of encryption related changes (#21818) 2026-07-17 02:05:31 +09:00
Jonathan Prusik
b13d842281
[PM-40457] Fix typos in the message catalogs (#21882)
* fix typos and update catalog references

* update message catalog keys for value-only changes
2026-07-16 09:36:33 -07:00
Max
e1236134d0
Add generic HEC (SIEM) event integration card (#21445) 2026-07-16 16:48:59 +02:00
Bernd Schoolmann
a697e23069
chore(biometrics): extract biometrics to crate (#21822) 2026-07-16 08:06:38 -06:00
Isaiah Inuwa
347e1be29d
desktop-autofill: Move macOS-specific window position to macOS code (#21852)
Some checks failed
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
Testing / Upload to Codecov (push) Has been cancelled
Testing / Run tests (push) Has been cancelled
2026-07-16 06:12:54 -05:00
Isaiah Inuwa
bfe34bb976
desktop-autofill: Add missing IPC methods (#21775)
* desktop-autofill: Implement lock status and window handle IPC

This is needed for Windows passkey plugin for presenting the Electron
app and focusing the subsequent Window Hello user verification dialog
during passkey operations.

* desktop-autofill: Require context field to be populated

* desktop-autofill: Add cancel request callback
2026-07-16 06:11:58 -05:00
Bernd Schoolmann
b38c116fa6
[PM-39259] Remove deprecated randomBytes/aesGenerateKey/createKey (#21713)
Removes unused functions.
2026-07-16 06:26:36 -04:00
Jordan Aasen
44c808ea27
[PM-40195] feat: add shared-folder localization keys (#21832)
Add base English keys (sharedFolder, sharedFolders, myFolder, myFolders)
to the web, browser, desktop, and CLI en/messages.json files. Existing
collection*/folder* keys are preserved intact for rollback.
2026-07-15 16:22:58 -07:00