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

2523 Commits

Author SHA1 Message Date
Thomas Avery
95ea1b22ae [PM-17987] Add feature flag (#13991)
* Add feature flag

* Add unit tests.
2025-04-14 12:47:09 -05:00
Bryan Cunningham
ac1210a7ed remove margin from checkbox hint (#14251) 2025-04-14 12:56:30 -04:00
Vijay Oommen
7e621be6cb [PM-18969] CSV importers should create nested collections (#14007) 2025-04-14 10:46:58 -05:00
Alexander Aronov
8885f5da24 [PM-19914][PM-19913] trim domains and long fields in forwarders (#14141)
* PM-19913: Added max length to the generated_for and description peroperties in the FirefoxRelay API payload
* [PM-19913] Added maxLength restriction to the website and generatedBy methods. Added maxLength limit of 200 to the description of addy.io
2025-04-14 08:42:41 -04:00
Andreas Coroiu
8b64087b32 [PM-18040] Inject ipc content script dynamically (#13674)
* feat: add content script manager

* feat: inject into all pages

* feat: only inject if flag is enabled

* fix: wrong constructor parameters
2025-04-14 14:41:08 +02:00
Todd Martin
f7934b98c6 fix(login): [PM-11502] Support Remember Email option consistently
* Moved saving of SSO email outside of browser/desktop code

* Clarified comments.

* Tests

* Refactored login component services to manage state

* Fixed input on login component

* Fixed tests

* Linting

* Moved web setting in state into web override

* updated tests

* Fixed typing.

* Fixed type safety issues.

* Added comments and renamed for clarity.

* Removed method parameters that weren't used

* Added clarifying comments

* Added more comments.

* Removed test that is not necessary on base

* Test cleanup

* More comments.

* Linting

* Fixed test.

* Fixed base URL

* Fixed typechecking.

* Type checking

* Moved setting of email state to default service

* Added comments.

* Consolidated SSO URL formatting

* Updated comment

* Fixed reference.

* Fixed missing parameter.

* Initialized service.

* Added comments

* Added initialization of new service

* Made email optional due to CLI.

* Fixed comment on handleSsoClick.

* Added SSO email persistence to v1 component.

* Updated login email service.

* Updated setting of remember me

* Removed unnecessary input checking and rearranged functions

* Fixed name

* Added handling of Remember Email to old component for passkey click

* Updated v1 component to persist the email on Continue click

* Fix merge conflicts.

* Merge conflicts in login component.

* Persisted login email on v1 browser component.

* Merge conflicts

* fix(snap) [PM-17464][PM-17463][PM-15587] Allow Snap to use custom callback protocol

* Removed Snap from custom protocol workaround

* Fixed tests.

* Updated case numbers on test

* Resolved PR feedback.

* PM-11502 - LoginEmailSvcAbstraction - mark methods as abstract to satisfy strict ts.

* Removed test

* Changed to persist on leaving fields instead of button click.

* Fixed type checking.

---------

Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-04-10 18:58:49 -04:00
Alec Rippberger
4772362928 refactor(auth): [PM-8976] migrate two-factor setup component to Tailwind and standalone
- Remove Bootstrap styles from two-factor-setup component and replace with Tailwind equivalents
- Convert two factor components to standalone components to move away from LooseComponents
- Replace ul/li list with bit-item-group and bit-item components
- Integrate with the bit design system

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
2025-04-10 14:13:11 -05:00
Bryan Cunningham
f24a4d139d remove hint margin in radio button (#14223) 2025-04-10 14:42:15 -04:00
Bryan Cunningham
c59b321dbb adds button story and docs for button with icon spacing (#14198)
* add story & docs for button with icon spacing

* add back block story removed in error

* remove unnecessary args
2025-04-10 14:17:37 -04:00
Alex Morask
eea0bb6d6e [PM-18870] Convert Organization to Business Unit (#14131)
* Add setupBusinessUnit to OrganizationBillingApiService

* Add setup-business-unit.component

* Updated designs and cleanup work

* Update existing logos for Provider Portal and Admin Console

* Fix broken test
2025-04-10 10:06:23 -04:00
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