Commit Graph

21353 Commits

Author SHA1 Message Date
Kyle Spearrin
92b04c24fe
new event log for 2fa recovery (#20055) 2026-04-08 11:31:45 -04:00
Jared
405c30008a
[PM-31778] Multi-step policy edit dialog (#19406)
* implement multi-step policy ui framework

* policy wip

* Refactor organization data ownership policy component to use multi-step dialog and signals. Remove deprecated dialog component and update related tests. Add organizationId input to base policy edit component and implement save logic in the new dialog structure.

* Update multi-step policy edit dialog to handle loading state and improve template initialization. Adjust button disable logic to account for loading status and modify ViewChild static property for proper change detection.

* Refactor policy confirmation logic in base policy edit component. Remove deprecated confirm method and update policy edit dialog to handle confirmation checks dynamically. Adjust organization data ownership policy component to align with new confirmation structure.

* Update apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/auto-confirm-policy.component.html

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

* Refactor multi-step policy dialog component and remove legacy confirm method

- Deleted the multi-step policy plan documentation.
- Introduced a new `MultiStepPolicyEditDialogComponent` to handle multi-step workflows.
- Updated `BasePolicyEditComponent` to support multi-step configurations and removed the deprecated `confirm()` method.
- Enhanced `PolicyStep` type to include optional `disableSave` and `bodyContent` properties.
- Adjusted HTML templates to utilize signals for dynamic content rendering.
- Refactored existing policy components to integrate with the new multi-step dialog structure.

* Refactor AutoConfirmPolicy component constructor to use readonly modifier for firstTimeDialog parameter

* Update multi-step policy edit dialog template to ensure proper rendering of policy form before lifecycle hooks. Added comment for clarity on rendering behavior.

* Update apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/auto-confirm-policy.component.html

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

* Add confirmation step before policy submission in dialog component

- Introduced an optional `confirm` method in `BasePolicyEditComponent` to allow components to implement a confirmation step before saving.
- Updated `PolicyEditDialogComponent` to call the `confirm` method and handle user confirmation.
- Added new test files for `AutoConfirmPolicyEditComponent` and `MultiStepPolicyEditDialogComponent` to ensure proper functionality and behavior of the new confirmation logic.

* Update apps/web/src/app/admin-console/organizations/policies/policy-edit-definitions/vnext-organization-data-ownership.component.ts

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

* Refactor policy edit components to streamline side effects and improve save logic

- Moved side effect logic from inline definitions to dedicated methods in AutoConfirmPolicyEditComponent.
- Updated vNextOrganizationDataOwnershipPolicyComponent to remove unused template references.
- Adjusted PolicyStep type to allow for side effects returning void.
- Enhanced save button logic in MultiStepPolicyEditDialogComponent to utilize a computed signal for save state management.

* Enhance MultiStepPolicyEditDialogComponent tests and update references

- Refactored tests in multi-step policy edit dialog to improve saveDisabled logic and ensure accurate state management.
- Updated references from AutoConfirmPolicyDialogComponent to MultiStepPolicyEditDialogComponent in web-vault-prompt service tests for consistency.

* Refactor auto-confirm policy component template and update imports

- Improved readability of the auto-confirm policy component template by formatting the button element.
- Cleaned up import statements in the auto-confirm policy component test file for consistency.

* Update WebVaultPromptService tests to validate firstTimeDialog property

- Added assertion to ensure the firstTimeDialog property is correctly passed in the policy data during dialog closure in WebVaultPromptService tests.

* Refactor policy edit components to support migration to new policy steps

- Added TODO comments in BasePolicyEditComponent and PolicyEditDialogComponent to indicate the removal of the confirm method when the `MigrateMyVaultToMyItems` feature flag is deprecated.
- Updated vNextOrganizationDataOwnershipPolicyComponent to ensure proper handling of organizationId.
- Enhanced MultiStepPolicyEditDialogComponent template for improved subtitle handling and readability.

* Refactor policy edit components to utilize Angular's input function

- Replaced traditional @Input() properties with the new input() function in BasePolicyEditComponent for better reactivity.
- Updated policy edit dialog component to set inputs using the new method for improved clarity and consistency.
- Adjusted various policy components to ensure compatibility with the new input handling, enhancing overall code maintainability.

* fix(policy-edit): update policy access method to use function call syntax

Changed the way policy properties are accessed in the auto-confirm policy component template, ensuring compatibility with the updated policy structure.

* refactor(session-timeout): update policyResponse handling in component and tests

Modified the SessionTimeoutPolicyComponent to use function call syntax for accessing policyResponse. Updated corresponding unit tests to reflect this change, ensuring consistent handling of policy data across the component and its tests.

* refactor(policy-edit-dialog): simplify test structure and improve saveDisabled logic

Updated the unit tests for MultiStepPolicyEditDialogComponent to eliminate the use of fakeAsync and detectChanges, replacing them with direct state manipulation and TestBed.flushEffects(). This change enhances test clarity and reliability. Additionally, refactored the account age calculation in WebVaultExtensionPromptService to use UTC midnight for accurate day counting, addressing potential off-by-one errors.

* Fix change to prompt service which was unneeded

* refactor(policy-edit): enhance savePolicy method and inject dependencies

Updated the BasePolicyEditComponent to inject AccountService, KeyService, and PolicyApiServiceAbstraction. Refactored the savePolicy method to streamline the policy saving process, ensuring proper handling of organization keys and error management. Adjusted AutoConfirmPolicyEditComponent and vNextOrganizationDataOwnershipPolicyComponent to utilize the new savePolicy implementation.

* refactor(policy-edit): remove unused AccountService dependency

Removed the AccountService dependency from MasterPasswordPolicyComponent and ResetPasswordPolicyComponent as it was not utilized. Added a getter for autoConfirmPolicy in AutoConfirmPolicyEditComponent to enhance code clarity.

* refactor(policy-edit): update sideEffect callbacks in AutoConfirmPolicyEditComponent

Modified the sideEffect properties in the AutoConfirmPolicyEditComponent to use arrow functions, ensuring proper context binding for the savePolicy and navigateToExtensionPromptStep methods.

* refactor(policy-edit): update sideEffect to use arrow function in vNextOrganizationDataOwnershipPolicyComponent

Changed the sideEffect property in the vNextOrganizationDataOwnershipPolicyComponent to use an arrow function for the savePolicy method, ensuring proper context binding.

* Fixes tests for PR

* refactor(vault): improve account age calculation to use UTC boundaries

Updated the account age calculation in WebVaultExtensionPromptService to utilize UTC midnight boundaries, preventing issues with Daylight Saving Time skewing the day count.

* Refactor PolicyEditDialogComponent to improve signal usage for save button state management

- Changed saveDisabled property to use a private signal for better encapsulation.
- Updated template bindings to call loading() and saveDisabled() as functions for correct state handling.
- Enhanced observables management for save button disable logic to ensure proper state updates.

* Fix optional chaining in policy confirmation and add policy steps to vNext organization data ownership component

* Update tests for vNext organization data ownership component to use fixture inputs and add missing service mocks

---------

Co-authored-by: Brandon <btreston@bitwarden.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-04-08 11:17:14 -04:00
Jared Snider
65e37bf577
Auth/pm-34506 - Login Strategy Session Cache Expiration Adjustment (#20009)
* PM-34506 - Fix inverted ternary in CACHE_EXPIRATION_KEY deserializer

* PM-34506 - LoginStrategyService tests - fix test name
2026-04-08 11:13:08 -04:00
Jared McCannon
78626a608d
[PM-34255] - SCIM Key Fix (#20036)
* Prompt for MP when requesting SCIM key and pass to endpoint.

* Adding dialog and message

* Added some tests for the changes
2026-04-08 09:59:25 -05:00
Todd Martin
49c98190fe
fix(ci): Update to use bw-ghapp for opening SDK update PR 2026-04-08 10:51:22 -04:00
Bryan Cunningham
3022c75c8e
[CL-1124] updated badge max width (#19864)
* use new badge api for icon

* new default max width for badges

* update js doc comment

* remove margin that was not rendering previously and keep whitespace for spacing
2026-04-08 10:19:17 -04:00
Vicki League
e8e2e81a7b
[CL-1130] Fix storybook a11y and console errors for platform files (#19918) 2026-04-08 09:34:54 -04:00
Kyle Spearrin
be9099defb
[PM-15489] 2fa account recovery (#19894)
* claude plan

* PR feedback

* implement 2fa reset to account recovery policy

* tests

* fix locales

* PR feedback

* PR fixes

* PR feedback

* fix CI build errors
2026-04-08 09:10:31 -04:00
Brad
0a7ad4f445
[PM-34593] Show Access Intelligence chart dates in CSV in local time #19983
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
- Updates the dates in Access Intelligence chart CSV export to show in user's local time
2026-04-07 16:52:24 -07:00
Rui Tomé
b10e9482cb
[PM-34177] Fix feature flag key value for Organization Invite Links (#20039)
* [PM-34177] Fix feature flag key value for Organization Invite Links

* Rename feature flag key from OrganizationInviteLinks to GenerateInviteLink for clarity and consistency.
2026-04-07 19:21:24 +01:00
Rui Tomé
5e0a6845ea
[PM-34177] Add feature flag for Organization Invite Links (#20033) 2026-04-07 18:12:21 +01:00
Jared
cbf0bd6a0b
Add fix-angular-fixmes skill to resolve Angular FIXME migration comments (#19426)
* Add fix-angular-fixmes skill to resolve Angular FIXME migration comments

This new skill provides a structured approach to address recurring FIXME comments related to Angular modernization, specifically for CL-764 (Migrate to OnPush) and CL-903 (Migrate to Signals). It includes detailed steps for discovering FIXMEs, implementing necessary changes, and validating the updates. The skill emphasizes the use of Angular CLI for migrations and outlines a cleanup checklist to ensure all related comments and imports are properly managed.

* Refactor fix-angular-fixmes skill to address eslint-disable suppression comments

Updated the skill to focus on resolving eslint-disable suppression comments throughout the Bitwarden clients codebase. The description and steps have been revised to emphasize fixing underlying issues rather than merely removing comments. Enhanced the discovery process for suppressions and clarified the approach for migrating to OnPush and Signals, ensuring a more structured cleanup of technical debt.

* Refine fix-angular-fixmes skill to enhance guidance on Angular modernization

Updated the skill to provide clearer instructions for migrating to OnPush and Signals, emphasizing the use of Angular CLI for migrations and manual cleanup of related comments. The documentation now includes specific steps for handling FIXME comments and clarifies the scope of the skill in relation to broader Angular modernization practices.

* Enhance fix-angular-fixmes skill with updated ESLint suppression handling

Revised the skill to improve guidance on resolving eslint-disable suppression comments, including specific patterns for discovery and detailed instructions for addressing Angular modernization issues. Clarified the relationship between this skill and broader Angular practices, particularly regarding OnPush and Signals, while emphasizing the importance of fixing underlying issues rather than merely removing comments.

* Update .claude/skills/fix-angular-fixmes/SKILL.md

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

* Update .claude/skills/fix-angular-fixmes/SKILL.md

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

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-04-07 12:48:01 -04:00
Bernd Schoolmann
f3aff99db5
[PM-33554] Don't log out when trust denied for sdk key rotation (#19961)
* Don't log out when trust denied

* Cleanup
2026-04-08 00:07:13 +09:00
Andreas Coroiu
26cb88bd8c
Bitwarden IPC improvements/refactor (#19935)
* fix: types after SDK change

* feat: update SDK
2026-04-07 17:05:37 +02:00
Vijay Oommen
e0a9496bd6
[PM-34230] Blumira Integration using HEC (#20008) 2026-04-07 09:29:54 -05:00
renovate[bot]
0276d2e22a
[deps] Platform: Update webpack-cli to v7 (#19849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 16:21:41 +02:00
neuronull
faec84c2e0
Enable the custom.regex package manager to enable rust toolchain updates (#20035) 2026-04-07 08:13:09 -06:00
Bryan Cunningham
b94e2ebf1e
update gray-050 primitive (#20016) 2026-04-07 09:40:19 -04:00
Stephon Brown
9180d75244
[PM-34685][Defect] Subscription status for organizations not updating with feature flag enabled (#20018) 2026-04-07 07:57:24 -04:00
Nik Gilmore
ca0e443592
[PM-34500] Add PM-34500-strict-cipher-decryption feature flag (#19973)
* Add PM-34500-strict-cipher-decryption feature flag
2026-04-06 16:38:58 -07:00
Shane Melton
69f9c7d30d
[PM-25688] Migrate Folder API request model to TS strict (#17269)
* [PM-25688] Migrate folder.request.ts to TS strict

* [PM-25688] Remove ts-strict-ignore from FolderWithIdRequest and update importer service to use FolderRequest instead

* [PM-25688] Add unit test to ensure Folder Id is never set for import request

* [PM-25688] Introduce FolderWithOptionalIdRequest for Import service
2026-04-06 13:24:40 -07:00
Jordan Aasen
c7e6678765
Revert "add missing i18n key" (#19975) (#20011)
This reverts commit caf65d7391.
2026-04-06 11:30:18 -07:00
Amy Galles
cd4698c9c0
[BRE 1670] update token for build workflows (#19660)
* replace PAT with github app token

* test deploy

* remove test conditions

* replace PAT with github app token

* add repositories

* add if to match related steps

* temporarily disable ifs to test token generation

* dry run

* remove test conditions

* fix built-in token

* trying with github token

* speed up test process

* trying with github token

* revert to working state

* try again with built in token

* remove test conditions

* try again with built in token

* try test conditions

* try test conditions

* try test conditions

* try test conditions

* try test conditions

* remove test conditions

* found straggling test conditions

* upddating branches
2026-04-06 11:12:59 -07:00
SmithThe4th
65583f6452
[PM-32687] Create Claude skill to add more item types easily (#19301)
* Added cipher type skill

* Refined the cipher type skills a bit

* Removed reference to personal docs folder claude kept referencing

* Fixed comments from PR

* Added new critical points

* Removed cross-repo prerequisites

* Removed the arguments

* added optional params

* update user-invocable

* update create command path

* update argument hint to be a string rather than array

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
2026-04-06 13:07:09 -05:00
Jordan Aasen
898f21abe2
Revert "add missing i18n key" (#19975)
This reverts commit caf65d7391.
2026-04-06 12:46:58 -05:00
Ben Brooks
5f43b501ca
[PM-33580] fix: skip change-password notification when no ciphers exist for URL (#19761)
* [PM-33580] fix: skip change-password notification when no ciphers exist for URL
* [PM-33580] consolidate password-only notification branches into single block

---------

Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
2026-04-06 09:42:07 -07:00
bitwarden-devops-bot
4a13f45409
Bumped client version(s) 2026-04-06 15:59:38 +00:00
neuronull
9c6eeddf5b
Add script to install Rust env. Use in CI and pre-commit hooks. (#19891) 2026-04-06 08:52:07 -06:00
Daniel García
767a979314
[PM-32783] Cached electron storage (#19590)
* [PM-32783] Cached electron storage

* Fix strict types

* Fix has bug

* Revert accidental change

* Revert import

* Fix review comments

* Add flag
2026-04-06 16:32:37 +02:00
Nick Krantz
3fea195737
[PM-22890] Automatically open Extension in FireFox (#19456)
* check for open popup with polling to allow for more deviation in browser behavior

* firefox bug has been resolved, remove check for firefox

* add check for `getContexts` returning `undefined` rather than a promise in MV2 scenarios

* remove old tests

* fix merge conflict mistake
2026-04-06 09:26:32 -05:00
Mike Amirault
c755016915
[PM-33993] Fix CLI bug that allowed File Send downloads to save at arbitrary paths (#19890) 2026-04-06 09:57:19 -04:00
Leslie Tilton
3ef15f3eaf
[PM-33797] AIV2: Standardize Models and Services: Page Components (#19930)
* Add page level components

* Add missed applications html file

* Update styling on password change metric component to match other widget border colors

* Add storybooks, add story mocks file

* Move testing files. Rename and move activity tab. Move password change metric component

* Move review applications view and new applications dialog to live under activity folder

* Rename applications-v2 to applications-tab for consistency with activity-tab rename

* Update properties access modifiers

* Removed review applications view stories now included in new applications dialog component stories. Cleanup

* Fixed selectors. Storybook cleanup
2026-04-06 08:53:56 -05:00
✨ Audrey ✨
b4924353b9
disable claude attribution (#19253) 2026-04-06 09:28:14 -04:00
Vijay Oommen
c60f2269bf
[PM-34230] Skill for HEC integration (#19914) 2026-04-06 08:26:00 -05:00
Rico
90cc83fbc2
Update config.yml (#4775)
Moving Customer Support to top as requested by Aaron Marshall
2026-04-06 12:45:34 +00:00
Rico
abe1dca122
Update config.yml (#4555)
CS wants to bring more attention to the autofill option, requesting changing to UPPERCASE
2026-04-06 12:27:50 +00:00
renovate[bot]
83fbaec0f7
[deps] Architecture: Update Minor and patch linting updates (#17491)
* [deps] Architecture: Update Minor and patch linting updates

* Fix npm conflicts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
2026-04-06 08:20:58 -04:00
bw-ghapp[bot]
4497b65926
Autosync the updated translations (#19960)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-04-06 14:12:23 +02:00
bw-ghapp[bot]
70316103b3
Autosync the updated translations (#19959)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-04-06 13:57:35 +02:00
Bernd Schoolmann
2c7ce3c8db
Revert "Default autostart to true for desktop apps (#19906)" (#20003)
This reverts commit ea732b6866.
2026-04-06 19:04:50 +09:00
Bernd Schoolmann
ea732b6866
Default autostart to true for desktop apps (#19906) 2026-04-06 17:32:58 +09:00
Brad
e0c45fdd62
[PM-34556, PM-34558, PM-34557] Access Intelligence trend chart design tweaks (#19977)
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
- Updates the line labels for the "applications" view in the trend chart. Now matches Figma design

- Right aligns the chart's period selector dropdown items. Now matches Figma design

- Chart wraps period selector and shrinks view selector button at small screen sizes, fixes overflow issue.
2026-04-03 16:54:21 -05:00
Jake Fink
adc49c14e6
[PM-34225] generate keypair even if there is no current one on password login (#19896)
* generate keypair even if there is no current one on password login

* fix imports for cli

* fix test

* fix more tests

* remove regen from login strategy

* add test for new regen condition

* change test to reflect what actually happens when public key is missing
2026-04-03 17:28:28 -04:00
Todd Martin
5cd2c19f55
chore(tech-debt): [PM-33963] Remove legacy Duo Web SDK v2 from desktop
* Remove legacy Duo Web SDK v2

* Removed #duo-frame references.
2026-04-03 17:04:06 -04:00
Bryan Cunningham
5d530adc2a
remove base directive import (#19978)
* remove base directive import

* remove unused icon button import
2026-04-03 16:36:37 -04:00
Todd Martin
63e0d07a39
chore(docs): Update state readme warning callout. 2026-04-03 16:21:23 -04:00
Dave
52a507bc59
Revert "fix(login): clear validation errors on region change (#19407)" (#19979)
This reverts commit 1a1c5f4df2.
2026-04-03 16:02:28 -04:00
Jordan Aasen
2aff7f7640
[PM-33426 ] - add popup focus wrap directive (#19666)
* add popup focus wrap directive

* fix comment
2026-04-03 12:39:13 -07:00
Jordan Aasen
d22a5a82c9
migrate cipher export and sub-models (#19050) 2026-04-03 11:29:02 -07:00
Matteo Bianchi
1a1c5f4df2
fix(login): clear validation errors on region change (#19407) 2026-04-03 14:09:46 -04:00