1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00
Commit Graph

2463 Commits

Author SHA1 Message Date
Bernd Schoolmann
5a1b0744f0 [PM-17665] Move cryptofunction service to km (#13285)
* Move cryptofunction service to km

* Fix formatting

* Fix import

* Fix build on desktop

* Fix build on browser and tests
2025-04-10 11:09:35 +02:00
Jeffrey Holland
46470cce2a PM-19102 Autofill new identity information in the popout (#13822)
* PM-17187 Autofill new card information in the popout

* Add new identity autofill to browser extension

* Add ability to save values from autoselect fields
2025-04-10 08:08:13 +02:00
Rui Tomé
e0e85c25a2 [PM-16091] Add SsoExternalId to the member dialog and hide ExternalId if there is no value to display (#14126)
* Add ssoExternalId to OrganizationUserAdminView and OrganizationUserDetailsResponse

- Updated OrganizationUserAdminView to include ssoExternalId property.
- Enhanced OrganizationUserDetailsResponse constructor to initialize ssoExternalId from response data.

* Add SSO External ID copy to messages.json

* Implement SSO External ID field in member dialog

- Added a new input field for ssoExternalId in the member dialog component.
- Introduced visibility logic for both externalId and ssoExternalId based on feature flags.
- Updated form control initialization to include ssoExternalId.
2025-04-09 15:33:32 +01:00
Bernd Schoolmann
a2cd3ecc1c [PM-19838] Untrust devices that cannot be rotated (#14165)
* Untrust devices that cannot be rotated

* Add tests and only send request on more than 0 failed devices

* Address feedback
2025-04-09 14:26:20 +02:00
rr-bw
a4040b6b6b refactor(set-change-password): [Auth/PM-17649] Move CompareInputs Validator (#14173)
This PR
- Moves the `compareInputs` validator to `libs/auth` (with some minor updates to the validator)
- Adds unit tests for `compareInputs`
- Removes the deprecated input validators from `InputsFieldMatch` along with the `inputs-field-match.validator.ts` file
2025-04-08 12:42:41 -07:00
Andreas Coroiu
772b42f5b5 [PM-18039] Add initial verison of IpcServices to client (#13373)
* feat: add foreground ipc service

* refactor: create abstract ipc service in libs

* wip: remove IPC service complexity

The code was making some wrong assumptions about how IPC is going to work. I'm removing everything and starting the content-script instead

* feat: working message sending from page to background

* refactor: move into common

* feat: somewhat complete web <-> browser link

* wip: ping command from web

* fix: import path

* fix: wip urls

* wip: add console log

* feat: successfull message sending (not receiving)

* feat: implement IPC using new refactored framework

* wip: add some console logs

* wip: almost working ping/pong

* feat: working ping/pong

* chore: clean-up ping/pong and some console logs

* chore: remove unused file

* fix: override lint rule

* chore: remove unused ping message

* feat: add tests for message queue

* fix: adapt to name changes and modifications to SDK branch

* fix: missing import

* fix: remove content script from manifest

The feature is not ready for prodution code yet. We will add dynamic injection with feature-flag support in a follow-up PR

* fix: remove fileless lp

* fix: make same changes to manifest v2

* fix: initialization functions

Add missing error handling, wait for the SDK to load and properly depend on the log service

* feat: use named id field

* chore: update sdk version to include IPC changes

* fix: remove messages$ buffer

* fix: forgot to commit package-lock

* feat: add additional destination check

* feat: only import type in ipc-message

* fix: typing issues

* feat: check message origin
2025-04-08 15:06:39 +02:00
Bernd Schoolmann
cf0e693caa [PM-18697] Add new symmetric key runtime representation and move encrypt service to it (#13578)
* Remove AES128CBC-HMAC encryption

* Increase test coverage

* Refactor symmetric keys and increase test coverage

* Re-add type 0 encryption

* Fix ts strict warning

* Re-add support for encrypt hmac-less aes

* Add comment about inner()

* Update comment

* Deduplicate encryption type check

* Undo test changes

* Lift out encryption type check to before splitting by encryption type

* Change null to undefined

* Fix test
2025-04-08 12:42:42 +02:00
rr-bw
81350a2ee1 Revert "refactor(set-change-password): [Auth/PM-17649] Move and test compareI…" (#14171)
This reverts commit ecb4b2d0b7.
2025-04-07 18:34:35 -07:00
rr-bw
ecb4b2d0b7 refactor(set-change-password): [Auth/PM-17649] Move and test compareInputs validator (#13553)
- Move the `compareInputs` validator to `libs/auth`
- Add tests for the `compareInputs` validator
- Delete the deprecated `InputsFieldMatch` class (inputs-field-match.validator.ts)
2025-04-07 15:04:24 -07:00
rr-bw
2267876860 refactor(set-change-password): [Auth/PM-18206] Update InputPasswordComponent to handle multiple flows (#13745)
Updates the InputPasswordComponent so that it can eventually be used in multiple set/change password scenarios.

Most importantly, this PR adds an InputPasswordFlow enum and @Input so that parent components can dictate which UI elements to show.
2025-04-07 11:58:50 -07:00
Jonas Hendrickx
38f193ee6c [PM-19713][BEEEP] Improve performance of whether user can view subsc… (#14062) 2025-04-07 17:00:19 +02:00
Kyle Spearrin
254cad29b3 [PM-8951] set pin validation to min length of 4 (#13312)
* set pin validation to min length of 4

* use reactive forms

* PM-8951 - SetPin - remove dialog close logic if pin is invalid so validation errors can be shown to the user.

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2025-04-07 10:39:26 -04:00
Jason Ng
31cc2c57ee [CL-421] add new notification variant to badge (#14130)
* add new notification variant to badge
2025-04-07 10:37:34 -04:00
Bernd Schoolmann
1c44640ea5 [PM-16541] Key rotation & enrollment trust for emergency access & organizations (#12655)
* Implement key rotation v2

* Pass through masterpassword hint

* Properly split old and new code

* Mark legacy rotation as deprecated

* Throw when data is null

* Cleanup

* Add tests

* Fix build

* Update libs/key-management/src/key.service.spec.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/web/src/app/auth/settings/change-password.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Add documentation

* Centralize loading logic

* Implement trust dialogs

* Fix build and clean up

* Add tests for accept organization component

* Fix enrollment

* Update apps/web/src/app/admin-console/organizations/manage/organization-trust.component.html

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Cleanup according to feedback

* Change div to ng-container

* Init uninited strings

* Fix type errors on dialog config

* Fix typing

* Fix build

* Fix build

* Update libs/key-management-ui/src/key-rotation/key-rotation-trust-info.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Fix linting

* Undo legacy component import change

* Simplify dialog text

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-04-07 13:41:19 +02:00
Shane Melton
6503cc64fd [PM-19906] Add appStopClick to prevent default event (#14134) 2025-04-04 15:34:02 -07:00
Shane Melton
a7fe4877d7 [PM-17563] Security task background synchronization (#14086)
* [PM-17563] Implement listenForTaskNotifications in default-task.service.ts

* [PM-17563] Update syncService to include userId in syncCompleted message payload

* [PM-17563] Update default-task.service to react to both pending task notifications and completed syncs

* [PM-17563] Add unit tests around task notification listening

* [PM-17563] Only check for at risk password tasks if tasks are enabled

* [PM-17563] Make userId required even if undefined

* [PM-17563] Use abstract TaskService instead of default implementation in MainBackground

* [PM-17563] Cleanup userId filtering
2025-04-04 13:42:44 -07:00
Patrick-Pimentel-Bitwarden
1af8fe2012 feat(device-approval-persistence): [PM-19380] Device Approval Persistence (#13958)
* feat(device-approval-persistence): [PM-19380] Device Approval Persistence - Added lookup on standard auth requests.

* fix(device-approval-persistence): [PM-19380] Device Approval Persistence - Fixed issue with null value trying to be parsed from the fromJSON function.




---------

Co-authored-by: Todd Martin <tmartin@bitwarden.com>
2025-04-04 15:44:48 -04:00
Daniel James Smith
15db9d61a9 Add Edge (csv) as a import format option (#13971)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-04 20:38:19 +02:00
Nick Krantz
576e438dbd [PM-18918] Navigate directly to at risk passwords page (#14044)
* refactor `openPopup` vault message to `OpenAtRiskPasswords`

* navigate directly to the at risk passwords page

* ensure the at-risk-passwords page navigates back to the vault

* reset popup index page

* avoid setting `hasNavigated` for the initial route

* Revert "avoid setting `hasNavigated` for the initial route"

This reverts commit 68bd9268ae.

* always reset popup page to the index

---------

Co-authored-by: Shane Melton <smelton@bitwarden.com>
2025-04-04 08:42:07 -07:00
Jason Ng
263598d9e0 [PM-18790] browser intro carousel component (#14097)
* build intro carousel for browser to show for new installations
2025-04-04 10:52:18 -04:00
Vicki League
64bbdcd638 Revert "fix menu trigger fallback position (#14040)" (#14112)
This reverts commit b0ccadcc0f.
2025-04-03 15:09:10 -04:00
Justin Baur
e697f73fd5 [PM-19806] Add Special Foreground Notifications Service (#14094)
* Add Special Foreground Notifications Service

* Add link to method
2025-04-03 08:47:32 -04:00
Jordan Aasen
bd490e3af9 [CL-390] - Spotlight Component (#14085)
* WIP spotlight and onboarding nudge

* finalize spotlight component

* finalize spotlight component

* revert changes

* re-add changes

* re-add frozen prop

* add documentation

* move to vault

* update to vault

* small css fixes to spotlight

* smaller button

* fix height for non-button

* remove unecessary class

* clean up styling

* more style cleanup

* favor gap instead of mt
2025-04-02 16:15:59 -07:00
cd-bitwarden
e73a6fb16d []PM-17744] Don't allow cloning the fido2Credentials (#13795)
* Don't allow cloning the fido2Credentials

* Do not allow user to copy the fido credentials when cloining

* removing unecessary code
2025-04-02 16:22:04 -05:00
Bernd Schoolmann
1450a033b3 [PM-19469] Add logs for unlock time (#13972)
* Add logs for unlock time

* Undo local flag override

* Update message

* Update messages

* Fix build on chrome
2025-04-02 23:19:53 +02:00
Leslie Tilton
660dd19bd0 Fix send list item icon sizing (#14020) 2025-04-02 15:26:32 -05:00
Will Martin
76cb3fd38d [CL-623] export CDK dialog deps from libs/components (#14074)
* add cdk dialog deps to CL dialog barrel file

* find and replace cdk dialog import

* run prettier
2025-04-02 15:08:38 -04:00
Jordan Aasen
538db63c50 [PM-432] - Protect entire item when Master Password Re-prompt is selected - desktop (#14035)
* prompt for MP on cipher view

* only keep reprompt while cipher is open

* reset cipher password prompt after opening another cipher
2025-04-02 11:52:49 -07:00
Nick Krantz
3c83165b4e [PM-17598] Long custom fields (#13668)
* add custom directive to use the angular CDK resize textarea directive

* swap to textarea to allow for full content to be shown when view text or hidden custom fields

* add text-field styling to web sass file

* move angular import to CL scss file

* add `textarea` to selector to enforce directive usage only on textareas
2025-04-02 09:58:31 -07:00
Brandon Treston
9b3c28fcea [PM-19746] Add new permission check to browser (#14075)
* add new permisssions check to browser

* add permission logic to view

* fix tests

* cleanup

* fix permissions model for CLI and desktop

* feedback
2025-04-02 12:49:08 -04:00
Daniel Riera
9080a5a024 PM-19378 remove v1 notification bar path (#13973)
* PM-19378
- Remove NotificationBarAddLoginImproments flag
- Remove divergent paths in various files
- Fix tests to reflect new singular path

* PM-19378
- Remove applyRedesign from relevant files
- Update styling to reflect changes

* remove notification-bar

* edit styling for to accodmmodate v3 in iframe
2025-04-02 09:30:47 -04:00
Daniel James Smith
f13bc2766b Set selected format to json, when the zip format option is removed (#14092)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-04-02 15:28:40 +02:00
Jordan Aasen
afcb656d12 [PM-17747] - remove emergency access attachments dialog. fix 404 (#13854)
* remove emergency access attachments dialog. fix 404

* fix types

* fix type issue
2025-04-01 16:48:41 -07:00
Jordan Aasen
b0ccadcc0f fix menu trigger fallback position (#14040) 2025-04-01 14:15:54 -07:00
Thomas Avery
17f661e3d1 [PM-19287] Feature flag for encrypt service (#13894)
* Extract getFeatureFlagValue to pure function

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add broadcasting abstractions and OnServerConfigChange interface.

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add implementation of onServerConfigChange on encrypt services

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add onServerConfigChange implementation for encrypt worker

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Wire up broadcasting in dependency injection

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>

* Add unit tests

* Handle subscribing for onServerConfigChange in init services

---------

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2025-04-01 14:14:00 -05:00
Jordan Aasen
fa0a7af8ed disable drag for single website uri (#14082) 2025-04-01 17:46:59 +00:00
Jordan Aasen
c73404e5f6 [PM-18869][defect] - browser - vault list not updating after favorite/unfavorite (#13669)
* fix type errors to allow vault list update after favoriting

* add null to failedToDecryptCiphers$ return type

* add null to failedToDecryptCiphers$ return type
2025-04-01 10:38:23 -07:00
Jason Ng
3003d129c9 [PM-18984] Vault Nudges Service (#13970)
* build vault nudge service for upcoming onboarding nudges
2025-04-01 13:38:11 -04:00
Jake Fink
a3c9a42d13 [PM-19172] Passes UserId through change email component and adds tests (#13686)
* add tests and pass userid

* add tests for getOrDeriveMasterKey

* remove extra coalesce for token
2025-04-01 11:54:13 -04:00
Vicki League
575e8b691f [CL-570] Deprecate old icons (#13663) 2025-04-01 11:34:04 -04:00
Shane Melton
c3e562e75d [PM-17563] [PM-19754] Migrate Security Task Module to libs/common (#14036)
* [PM-17563] Remove references to Angular from TaskService

* [PM-17563] Move Task module to libs/common/vault to avoid Angular dependency

* [PM-17563] Fix bad imports

* [PM-17563] Fix a few more missed imports
2025-04-01 07:27:05 -07:00
Miles Blackwood
4e413283a8 [PM-16635] Remove InlineMenuFieldQualification feature flag references. (#13230)
* Remove InlineMenuFieldQualification feature flag references.

Removes all business logic related to InlineMenuFieldQualification Feature Flag, while leaving the flag in enum itself intact. No corresponding pull on server, where there exists no current references.

* Removes the feature flag from enum.

* Remove inlineMenuFieldQualificationFlagSet from InlineMenuFieldQualificationService.

* Removes deprecated isFieldForLoginFormFallback method.
2025-03-31 12:36:31 -04:00
Bernd Schoolmann
6849d3aa98 [PM-2199] Implement userkey rotation for all TDE devices (#13576)
* Implement key rotation v2

* Pass through masterpassword hint

* Properly split old and new code

* Mark legacy rotation as deprecated

* Throw when data is null

* Cleanup

* Add tests

* Fix build

* Update libs/key-management/src/key.service.spec.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Update apps/web/src/app/auth/settings/change-password.component.ts

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Add documentation

* Centralize loading logic

* Add proof-of-concept for tde rotation

* Fix build

* Only include trusted devices in rotation request

* Undo featureflag change

* Fix tests

* Prettier format

* Fix build

* Undo changes to migrate legacy component

* Address feedback & add tests

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-03-31 18:16:11 +02:00
Daniel James Smith
7992e0247e Fix wrong file extension being set when exporting with attachments (#14067)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 15:06:27 +00:00
Bernd Schoolmann
15738f16ae [PM-18038] Fix safari using outdated biometrics protocol (#13287)
* Fix safari using outdated biometrics protocol

* Remove logging

* Remove log

* Move canEnableBiometricUnlock to biometric service

* Fix build

* Add tests

* Fix type error

* Attempt to fix build

* Fix build

* Fix test failure
2025-03-31 16:59:01 +02:00
Bernd Schoolmann
22039d038d [PM-3475] Remove deprecated keys (#13266)
* Remove deprecated keys

* Fix cli build

* Fix build
2025-03-31 16:58:02 +02:00
Daniel James Smith
0311681803 Fix filename not including "_encrypted_" when selecting encrypted vault exports (#14066)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 16:55:04 +02:00
Daniel James Smith
49924512b8 [PM-19656] Fix zip option not being set correctly after navigating to Admin Console (#14058)
* Simplify if to reduce nesting

* Start subscribing to changes of the vaultSelector as soon as possible during ngOnInit

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-03-31 15:55:20 +02:00
Todd Martin
51bfbcf090 chore(UI Refresh): [PM-19679] Remove unauth-ui-refresh flag from clients
* Completed feature flag grouping

* Added organization of default value section.

* Clarified comment.

* Removed flag

* Removed merge error that duplicated comment.
2025-03-31 09:11:47 -04:00
Todd Martin
907abc9dae Complete feature flag grouping by team (#14054)
* Completed feature flag grouping

* Added organization of default value section.

* Clarified comment.
2025-03-30 15:49:52 -04:00