Commit Graph

21931 Commits

Author SHA1 Message Date
rr-bw
af790b6dec
chore: Remove claude plan md file (#20662) 2026-05-21 21:14:03 -07:00
SmithThe4th
d36facf96b
[PM-36229] Route bulk-collections, move, and assigned-cipher ops to SDK (#20718)
* Route remaining cipher ops through SDK

* Updated feature flag

* Updated test flag
2026-05-21 22:51:15 +00:00
renovate[bot]
6e4fcd74b8
[deps] Vault: Update https-proxy-agent to v9 (#20124)
* [deps] Vault: Update https-proxy-agent to v9

* Inline https-proxy-agent for pkg ESM compatibility

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: gbubemismith <gsmithwalter@gmail.com>
2026-05-21 18:44:22 -04:00
Derek Nance
104293eb03
[PM-33906] Use PureCrypto::new_guid for FIDO2 credential ID (#20736) 2026-05-21 16:56:47 -05:00
bw-ghapp[bot]
6658911f2c
Update sdk-internal to 0.2.0-main.779 (#20798)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-05-21 14:54:47 -07:00
Andy Pixley
f163a194fa
[BRE-1938] Cleanup build web logic (#20794) 2026-05-21 15:29:33 -04:00
aj-bw
9b1f9a8056
bust cache on root package-lock.json changes (#20791) 2026-05-21 14:01:21 -04:00
aj-bw
69b88a6792
[bre-1942] fix package lock issue (#20785)
* test commit, checking build pipelines

* regenerate package lock file in attempt to resolve native build issues

* dummy commit to bust cache and cause build in CI

* remove test commit to bust cache

* cleanup test file
2026-05-21 13:46:28 -04:00
Todd Martin
ea790ca93f
chore(revert): [PM-37816] Revert removal of Getting Started tab on extension install
This reverts commit 7fb6c8ef0a.
2026-05-21 11:42:02 -04:00
Rui Tomé
7dea9d5840
[PM-37251] Add getStatus API method for public invite link status endpoint (#20695)
* Add getStatus API method for public invite link status endpoint

* Refactor organization invite link status response model and update API method to use POST

- Removed organizationId property from OrganizationInviteLinkStatusResponseModel.
- Changed getStatus method in DefaultOrganizationInviteLinkApiService to use POST instead of GET for fetching invite link status.
2026-05-21 16:28:05 +01:00
Brandon Treston
85d86b3a9f
prefill allowed domains (#20704) 2026-05-21 11:27:49 -04:00
Jared
98d6948969
Add unit tests for VaultComponent to enhance coverage and fix organization switch behavior (#20732)
- Introduced a new spec file for VaultComponent to test its functionality.
- Implemented a fix to ensure the component refreshes correctly when switching organizations, addressing an issue where subsequent fetches were blocked after the initial load.
2026-05-21 11:26:22 -04:00
Jackson Engstrom
04b1cc62b6
[PM-37759] Unable to use passkey that is stored in my vault to log in (#20738)
* fixes getAllDecrypted by passing sdkCiphersclient to CipherView.fromSdkCipherView

* updates cipher-sdk.service to use/pass sdkCiphersClient wherever possible
2026-05-21 08:14:05 -07:00
Vince Grassia
ebaf990839
Simplify and optimize workflow (#20778) 2026-05-21 11:02:48 -04:00
Nick Krantz
b6f4d7fcc5
bump sdk to 0.2.0-main.776 (#20776) 2026-05-21 09:19:31 -05:00
Vince Grassia
72eeec6255
Update Build Web workflow to only run on published Web releases. Removed migrated Staged Rollout Desktop workflow. (#20761) 2026-05-21 09:05:07 -05:00
Robyn MacCallum
06da95f756
Fix errors from UUID and yargs packages (#20706) 2026-05-21 09:22:21 -04:00
bw-ghapp[bot]
5b0dda348a
Update sdk-internal to 0.2.0-main.774 (#20770)
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-05-21 12:11:42 +09:00
Brad
6b787c5ec6
[PM-31942] Save Access Intelligence reports to files (pt. 3) (#20441)
The last PR for integration of saving Access Intelligence reports as files. Changes include adding a new implementation of the ReportPersistenceService abstraction, solely for the purpose of conditionally choosing to store reports using the old method (database column storage), or the new way (file storage).

The implementation is determined by the value of the newly added feature flag, for using report file storage.
2026-05-20 15:46:42 -05:00
gitclonebrian
2baf657ebd
fixed perms in cherry-pick workflow (#20758) 2026-05-20 14:41:14 -05:00
Todd Martin
7fb6c8ef0a
feat(extension-install): [PM-37816] Remove Getting Started tab on extension install 2026-05-20 15:11:22 -04:00
Will Martin
31bab54b52
[CL-1207] add provideZoneChangeDetection() to bit-browser bootstrap (#20750)
Angular 21 removed the default Zone-based change detection scheduler,
requiring explicit opt-in via provideZoneChangeDetection(). This was
applied to all other app entry points but missed the bit-browser popup,
causing the Zone CD scheduler to never be registered in the commercial
browser extension build.
2026-05-20 13:23:09 -04:00
Will Martin
0345984b64
[CL-1203] Place tab overflow More button next to last visible tab (#20709)
* [CL-1203] Place tab overflow More button next to last visible tab

Introduces `bitOverflowTrigger` so the overflow list reserves space for —
and manages the visibility of — a trailing affordance. The More button
now lives inside the overflow list and sits immediately after the last
visible tab instead of being pinned to the far right of the header.

* Unify overflow-list trigger hiding with item hiding

The list now toggles the trigger's `hidden` property in its effect — the
same way it hides overflowed items — once first-pass measurement is
ready. The trigger directive drops its own visibility/aria-hidden host
bindings, and consumers drop the redundant aria-hidden skipPredicate
check. Also avoids reserving trigger space when every item already fits
in the container without it (otherwise a single hidden item would only
exist to make room for the affordance summoning it).

* Realign keyboard focus to More button on overflow menu close

When an item is picked from the overflow menu, selection logic moves
the key manager's active item to the newly selected tab — but CDK's
overlay restores DOM focus to the trigger. The next arrow key would
then jump from the trigger past the just-reintroduced item. Sync the
key manager to the trigger on menu close so navigation continues from
where focus actually is.
2026-05-20 10:52:10 -04:00
Will Martin
d7d74825f8
[CL-1046] Add no-bit-dialog-wrapper lint rule (#20698)
* [CL-1046] Add no-bit-dialog-wrapper lint rule

Errors when <bit-dialog> or <bit-simple-dialog> appears inside any
parent HTML element. The dialog selector should be applied as an
attribute on the root element (e.g. <form bit-dialog>) so that the
form receives the dialog's height styling.

* Migrate admin console dialogs to new form pattern

Updates organization member, group, collection, provider, and domain verification dialogs to use <form bit-dialog> pattern following the component library updates.

* Migrate auth settings dialogs to new form pattern

Updates two-factor authentication, WebAuthn, and emergency access dialogs to use <form bit-dialog> pattern following the component library updates.

* Migrate Secrets Manager dialogs to new form pattern

Updates project, service account, access token, and secret dialogs to use <form bit-dialog> pattern following the component library updates.

* Migrate remaining dialogs to new form pattern

Applies the <form bit-dialog> / <form bit-simple-dialog> attribute selector
pattern to the rest of the codebase, satisfying the no-bit-dialog-wrapper
lint rule. 55 templates across auth, admin console, billing, vault,
key management, secrets manager, provider, dirt integrations, importer,
browser, and desktop apps.

* Migrate key rotation dialog to new form pattern
2026-05-20 09:47:14 -04:00
bw-ghapp[bot]
5e204dd31f
Update sdk-internal to 0.2.0-main.765 (#20744)
Some checks failed
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
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
Co-authored-by: bw-ghapp[bot] <178206702+bw-ghapp[bot]@users.noreply.github.com>
2026-05-20 17:14:36 +09:00
Jackson Engstrom
f08a733997
[PM-31312] Remove Flagged logic from clients pm-29437-welcome-dialog feature flag (#20618) 2026-05-19 16:11:40 -07:00
Thomas Rittson
7d214cc937
[PM-34156] Add accepted-state organization sync (#20627) 2026-05-20 07:17:42 +10:00
Nick Krantz
2a8e589f2f
[PM-37229] Add bwi-passport icon for passport cipher type (#20712)
* [PM-37229] Add bwi-passport icon and wire it to the passport cipher type

* Fix icons:build script to compile style.css and avoid duplicate SCSS keys

* [PM-37229] Update passport cipher icon tests to expect bwi-passport
2026-05-19 15:26:26 -05:00
Nick Krantz
77218dae08
[CL] disable the CDK from using the native popover API globally (#20730) 2026-05-19 15:59:51 -04:00
Vijay Oommen
cdbe896d63
[PM-35058]welcome modal post scan state (#20672) 2026-05-19 11:28:27 -05:00
Bernd Schoolmann
90d13593d4
[PM-377730] Refactor unlock service & add decrypted user key method (#20719)
* Clean up unlock service

* Undo change to spec ts

* Rename unlock decrypted key

* Remove unused var

* Remove unused import

* Prettier

* Fix eslint
2026-05-20 00:11:14 +09:00
Vijay Oommen
fccdeb1571
[PM-36359] Include splunk integration (#20625) 2026-05-19 09:59:26 -05:00
Vijay Oommen
2087bee993
[PM-35134] Change assign tasks to send notifications (#20640) 2026-05-18 20:09:20 -05:00
Thomas Avery
ae5e3c8f57
[PM-37295] Ignore upgrade key rotation logout based on feature flag (#20637)
* Skip key rotation logout based on NoLogoutOnKeyUpgradeRotation feature flag
2026-05-18 14:09:38 -05:00
bmbitwarden
846c157d85
PM-37554 resolved double cancel issue (#20683) 2026-05-18 14:24:36 -04:00
Leslie Tilton
d25e043248
Add route providers to featureFlaggedRoute (#20235) 2026-05-18 12:31:24 -05:00
github-actions[bot]
87aa085375
Bumped client version(s) (#20690)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2026-05-18 17:06:15 +00:00
Nick Krantz
1c130da8d8
[PM-34113] Add Passport to the desktop (#20617)
* add passport fields to password re-prompt protection

* add passport copy actions to vault list row

* add passport copy actions to system tray

* update missing search placeholders

* add passport copy options for desktop

* fix duplicate entries for desktop copy actions

* fix old copy fields
2026-05-18 11:48:00 -05:00
Thomas Avery
0b4e7d9ce9
[PM-30213] Add key rotation UI (#20407)
* Add key rotation UI

* Code review updates

* Design feedback changes
2026-05-18 11:40:50 -05:00
Will Martin
69c937e592
[CL-954] Upgrade to Angular 21 (#19725)
* prune desktop packages

* Fix @napi-rs/cli version mismatch in desktop napi workspace

Aligns package.json declaration with the locked version (3.2.0) to
resolve npm workspace inconsistency that was blocking ng update.

* update Storybook to v10

* update Angular to v21

* override jest in ng builder

* Add jest-environment-jsdom as explicit dependency

Previously installed as a side effect of a jest@29 override; removing
that override caused it to disappear from node_modules.

* Add .claude/worktrees/ to .gitignore

* Restore @napi-rs/cli to 3.5.1 to match main

* Pin jest-environment-jsdom to 29.7.0 and add to renovate config

* Override jest-environment-jsdom to 29.7.0 in build-angular context

* Add isolatedModules to libs/subscription tsconfig.spec.json to fix Angular 21 module resolution

* Change moduleResolution to bundler for Angular 21 subpath export compatibility

* Add isolatedModules to Angular libs with old spec tsconfig pattern

* Disable emitDecoratorMetadata in spec tsconfigs with isolatedModules

* Fix HostListener event parameter types for Angular 21 compiler strictness

* Revert accidental change to access-selector spec

* Remove accidentally generated desktop package-lock.json

* Fix type-only imports/exports caught by Rolldown in Storybook v10/Vite v8

* fix vault-wrapper type error from Angular 21 stricter generic inference

ngComponentOutlet accepts Type<unknown>; annotate computed() explicitly
since VaultComponent is generic and VaultOrigComponent is not, preventing
TypeScript from inferring a compatible union constructor type.

* Fix kitchen-sink interaction tests for Storybook v10

Replace fire-and-forget navigateTo + synchronous getByRole with
navigateAndWaitFor<T>, which sets the hash and retries the ready
callback via waitFor. Storybook v10 starts play functions before
Angular's initial router navigation completes, so synchronous DOM
queries after navigation were failing intermittently.

* Provide ZoneJS change detection scheduler for Storybook stories

Angular 21 no longer sets up the ZoneJS change detection scheduler by
default in bootstrapApplication. Storybook's Angular renderer uses
bootstrapApplication internally and does not add provideZoneChangeDetection
automatically, so Default CD components relying on zone.js to trigger
re-renders after async operations were not updating before Chromatic
snapshots.

* Wait for dialog/side nav to render before Chromatic snapshot

After userEvent.click the dialog and side nav open asynchronously.
Without an explicit waitFor, Chromatic captures the snapshot before the
resulting UI state is present.

* Fix kitchen-sink waitFor: re-query side nav button, use querySelector for dialog

- openSideNav: re-query the toggle button inside waitFor to avoid reading
  a stale DOM reference after Angular re-renders the element post-click
- SimpleDialogOpen / VirtualScrollBlockingDialog: replace getByRole("dialog")
  with querySelector("cdk-dialog-container") to avoid testing-library's
  visibility check failing on a momentarily inaccessible overlay element

* Revert kitchen-sink stories to main

* Bump Angular, Storybook, and ng-select to latest patch versions

* Trigger pre-commit hooks on merge

* Regenerate package-lock.json with --force to fix npm ci sync
2026-05-18 10:55:47 -05:00
Nick Krantz
7caeab7de5
[PM-34114] Add Passport item type to the CLI (#20621)
* Add Passport item type to the CLI

* formatting
2026-05-18 10:46:13 -05:00
Nick Krantz
8f833a423c
[PM-36880] Filter Linked field type for Bank Account cipher type (#20564) 2026-05-18 10:45:12 -05:00
Nick Krantz
6aa00dfdcb
[PM-36947] Restrict bank account PIN field to numeric characters only (#20598) 2026-05-18 10:44:35 -05:00
Brandon Treston
2c3cb3ff52
add test ids for automation (#20674) 2026-05-18 10:27:35 -04:00
Brandon Treston
783dab6123
[PM-36363] Refactors org user view models and consumers to be ts-strict compliant (#20559)
* refactors org user view models and consumers to be ts-strict compliant

* DRY up invite logic

* clean up

* run prettier

* fix circular dep

* fix circular dependency (real)

* update test

* more clean up

* more type saftey fixes

* more types

* even more types

* add jsdoc

* fix test
2026-05-18 09:45:58 -04:00
Stephon Brown
d02edc6625
[PM-29067] Remove Feature Flag Code for PM-24032 (#20415)
* refactor(feature-flags): remove PM24032_NewNavigationPremiumUpgradeButton feature flag

* refactor(account-switcher): migrate to Angular Signals and OnPush change detection

* Revert "refactor(account-switcher): migrate to Angular Signals and OnPush change detection"

This reverts commit 0a48683be0.

* refactor(product-switcher): remove ConfigService from ProductSwitcherService

* test(product-switcher): update ProductSwitcherService tests after ConfigService removal
2026-05-18 13:44:16 +00:00
Stephon Brown
672a54f50e
[PM-35357] Update Trial Length Parameter (#20544)
* feat(billing): introduce constant for default trial length

* feat(billing): pass trial initiation ID to backend

* feat(billing): display dynamic trial length in UI

* fix(billing): format

* refactor(billing): remove unused trialInitiationId

* fix(billing): update trial initiation button loading condition

* refactor(billing): remove deprecated fixed-length trial message keys
2026-05-18 09:32:21 -04:00
Nick Krantz
6ca2ff65f4
[PM-34112] Add Passport copy actions to browser extension (#20655)
* [PM-34112] Add Passport copy actions to browser extension

Implements the item-copy-actions component support for the Passport
cipher type, following the Driver's License pattern from PM-32693.

- Adds 6 new CopyAction entries (sex, birthPlace, nationality,
  issuingCountry, passportType, issuingAuthority) to the copy service,
  directive, and hasCopyableValue utility
- Adds singleCopyablePassport, hasPassportValues, and
  getNumberOfPassportValues to VaultItemCopyActionsComponent
- Renders the full Passport copy menu in the HTML template, with
  single-field shortcut and empty-state handling
- Unit tests for singleCopyablePassport, hasPassportValues (CipherView
  and CipherListView paths)

* update copyable types for passport
2026-05-18 08:07:48 -05:00
Isaiah Inuwa
746711f81b
Update NAPI versions (#20460)
This fixes memory leaks on async functions and allows us to specify NAPI types
in feature crates rather than duplicating them for exporting in
@bitwarden/desktop-napi.
2026-05-18 08:06:34 -05:00
Nick Krantz
4ef5d50357
[PM-36857] Add copy actions for bank account cipher type (#20605)
* add copyable logic to the item-copy-actions for bank account

* add bit-item-action
2026-05-18 08:01:48 -05:00