1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-24 20:23:24 +00:00
Commit Graph

408 Commits

Author SHA1 Message Date
Oscar Hinton
3cad691f13 Remove standalone true from ac (#15036)
Remove standalone: true from every instance since it's the default as of Angular 19.
2025-06-03 08:51:36 +10:00
Jared McCannon
4290136a2a Fixed which collection observable was passed to the nested traverse. (#15008) 2025-05-30 09:36:10 -05:00
Jared McCannon
058eb9a04b [PM-19127] - Nested Traverse Optimization (#14881)
* Draft optimization of getNestedCollectionTree

* Added feature flag to wrap nestedTraverse_vNext. added the old implementation back in for feature flagging.

* Correction from CR

* Copied tests over for the vNext method.

---------

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2025-05-29 10:17:30 -05:00
cyprain-okeke
0715597e8e [PM-21603]Invite Member sub text seat count does not account for sponsorships (#14954)
* Resolve the membership count

* Get the occupied Seat count from metadata
2025-05-29 15:06:07 +01:00
Oscar Hinton
5423ab3268 [PM-21934] Upgrade to eslint 9 (#14754)
Upgrades to Eslint v9. Since this is a major version there were breaking changes, but since we've previously migrated to flat configs in #12806 those were minimal.
2025-05-27 13:13:15 -04:00
✨ Audrey ✨
97a591e738 [PM-16793] port credential generator service to providers (#14071)
* introduce extension service
* deprecate legacy forwarder types
* eliminate repeat algorithm emissions
* extend logging to preference management
* align forwarder ids with vendor ids
* fix duplicate policy emissions; debugging required logger enhancements

-----

Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
2025-05-27 09:51:14 -04:00
Brandon Treston
207fd3af1d [PM-17148] Remove banner and state, migrate state (#14882)
* remove banner and state, migrate state

* add migration, bump version
2025-05-23 13:55:47 -04:00
Nick Krantz
f52e4e27a0 [PM-12770] Assign to Collections Hint (#14529)
* allow use of common spec in lib/vault tests

* pass readonly collections to the assign collection component

- The assign to collections component filters them out already.
-They're also needed to display copy within the component

* add hint to assign to collections component when there are read only collections assigned to a cipher already

* add readonly hint to desktop

* only show collection hint for collections that are assigned to the provided ciphers

* consider admin/owner edit everything permission when assigning to collections

* fix icon in test
2025-05-22 11:09:33 -05:00
Brandon Treston
9417d8a943 [PM-18633] Remove feature flagged logic (#14856)
* remove feature flagged logic

* clean up
2025-05-22 09:35:39 -04:00
Ike
ae35cb4e65 [PM-20540] Deep-link refactor to fix SSO deep links (#14587)
* PM-20540 - TwoFactorAuthComponent - Refactor determineDefaultSuccessRoute to rely on user's auth status as the loginStrategyService's state is cleared after successful AuthN

* PM-20540 - DeepLinkGuard - Refactor to exempt login-initiated so that TDE + unlock with MP + deep link works.

* doc: Add documentation and change folder structure.
* test: add test for new excluded route.

---------

Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2025-05-21 08:24:17 -04:00
Rui Tomé
ef592bf23a [PM-20050] Readonly members page for users with Account Recovery permission only (#14647)
* Add SeparateCustomRolePermissions feature flag

* Allow 'Manage Account Recovery' to be configured separately from 'Manage Users'

* Add showUserManagementControls$ observable to show/hide user management controls based on user permissions

* Update user management controls visibility to be dependant on user permissions.
2025-05-19 13:17:12 +01:00
Vicki League
4b32d1f9dd Revert "[CL-622][CL-562][CL-621][CL-632] various drawer improvements (#14120)" (#14827)
This reverts commit a0429d7d09.
2025-05-16 16:02:03 -04:00
Oscar Hinton
499715cac3 Upgrade typescript to 5.5 (#14794)
Typescript 5.5 is supported by our existing Angular version and the next major. Since there are some breaking changes we're creating a separate PR to handle this upgrade and tackling the breaking changes.

TS seems to have changed how they type infer boolean conditions and it infers into type is which means the overloaded function has a different signature. Explicitly marking the return type as boolean makes the TS compiler happy without the behaviour changing.
2025-05-16 09:23:38 +02:00
Oscar Hinton
ac49e594c1 Add standalone false to all non migrated (#14797)
Adds standalone: false to all components since Angular is changing the default to true and we'd rather not have the angular PR change 300+ files.
2025-05-15 10:44:07 -04:00
Will Martin
a0429d7d09 [CL-622][CL-562][CL-621][CL-632] various drawer improvements (#14120)
- add focus trap to drawers
- add config to open existing dialogs as drawers
- make drawer take up fill width/height on smaller screens
2025-05-15 10:32:52 -04:00
Vijay Oommen
896c9bd583 [PM-20997] Part 1 of PM-20117 - Styling Changes (#14527) 2025-05-13 13:59:03 -05:00
Patrick-Pimentel-Bitwarden
0b0397c3f0 fix(enums-eslint): Enum Rule for ESLint (#14650)
* fix(enums-eslint): Enum Rule for ESLint - Added enums in the warnings for eslint.

* fix(enums-eslint): Enum Rule for ESLint - Updated to error in both places for enums.

* fix(enums-eslint): Enum Rule for ESLint - Added new eslint plugin for warning on enums.

* fix(enums-eslint): Enum Rule for ESLint - Changed based on suggestion.

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* refactor(browser-platform-utils): Remove Deprecation and Fix Code - Changed usages of firefox to private and moved the usages to the preferred public method and removed the deprecations.

* fix(enums-eslint): Enum Rule for ESLint - Updated to error and added disable rules for all other places.

* fix(enums-eslint): Enum Rule for ESLint - Undid other changes by accident
2025-05-13 10:07:38 -04:00
Bernd Schoolmann
b2c118d607 Move admin-console code to new encrypt service interface (#14547) 2025-05-13 15:41:57 +02:00
Rui Tomé
0407ed5b90 [PM-19022] Separate Manage Account Recovery and Manage Users custom role (#14629)
* Add SeparateCustomRolePermissions feature flag

* Allow 'Manage Account Recovery' to be configured separately from 'Manage Users'
2025-05-08 20:00:42 +01:00
Oscar Hinton
78dafe2265 Cleanup migrated components (#14625)
Cleans up migrated components by removing unnecessary old behaviour.

- Removes ng-template and ViewChild used by the old Modal Service.
- Remove aria-dismiss used by old Modals.
- Remove aria-haspopup and aria-expanded on bitMenuTriggerFor since it's handled by the directive.
2025-05-08 09:16:11 -07:00
Brandon Treston
f9edf048e3 [PM-19383] admins unable to download attachments (#14652)
* add admin support for downloading attachments

* fix delete and upload

* fix delete admin to return a response

* fix upload

* add missing param

* use getCipherAdmin

* fix cli

* fix QA bugs

* null check

* fix test

* cleanup

* add null check

* change comment
2025-05-08 09:49:15 -04:00
Vicki League
8ecb32f30f [CL-333] Icon Refresh Feature Branch (#14298)
* [CL-571] Update icons to new fileset and metaphors (#14163)

* [CL-518] Convert icons docs to stories (#14299)

* [CL-574] Update inline autofill icons (#14379)

---------

Co-authored-by: William Martin <contact@willmartian.com>
2025-05-07 17:07:14 -04:00
Thomas Rittson
df40954b61 [PM-14613] Remove account deprovisioning feature flag (#14353) 2025-05-07 11:23:18 +10:00
Leslie Tilton
5166a9c730 [PM-19716][PM-19714] Move files to Data Insights & Reporting team (DIRT) ownership (#14571)
* Move access-intelligence and reports files from tools to dirt folder for new ownership. Update imports for these files

* Move bit-common/src/reports/risk-insights > dirt

* Update codeowners file for dirt team ownership

* Addressed linting issues by executing `npm run prettier`

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-05-06 10:32:48 +02:00
Bernd Schoolmann
fdfb0196d0 [PM-20108] Update account recovery trust prompt, delete organization trust prompt (#14218)
* Update trust prompt and move to shared km module

* Delete organization trust component

* Update org trust warning message
2025-05-02 18:51:01 +02:00
Alex Morask
c8d6e48996 [PM-18955] Use OrganizationWarningsService on AC Collections Page behind FF (#14437)
* Add getWarnings to OrganizationBillingApiService

* Add OrganizationWarningsService

* Add feature flag

* Add standalone warning components that consume new service

* Add new components to AC collections vault when FF is enabled

* Add OrganizationWarningsService spec

* Run prettier on spec file

* Thomas' feedback
2025-05-01 17:13:18 -04:00
Rui Tomé
a92afe1efb [PM-17690] Improve collection search to consider nested collections (#14420)
* Add getFlatCollectionTree function and corresponding tests

- Implemented getFlatCollectionTree to flatten a tree structure of collections.
- Added unit tests for getFlatCollectionTree to verify functionality.

* Refactor VaultComponent to utilize getFlatCollectionTree to search within all sub-levels

- Updated vault.component.ts to import and use getFlatCollectionTree for flattening collection nodes during search.
- Ensured consistent handling of collections across both vault and admin-console components.
2025-04-30 11:40:55 +01:00
Rui Tomé
9cd08e8a9f [PM-18322] Fix: Allow organization admins to upload attachments for items without direct access (#14361)
* Wire organization ID into AttachmentsV2Component for org-based ciphers

* Enhance AttachmentsV2Component to accept organization ID for improved handling of org-based ciphers

* Integrate organization ID into VaultComponent for AttachmentsV2Component to enhance org-based cipher handling

* Add unit tests for CipherAttachmentsComponent to validate attachment saving behavior for admins

- Introduced mocks for ApiService and OrganizationService in the test setup.
- Updated tests to check `saveAttachmentWithServer` calls with the correct parameters, including an `isAdmin` flag for admin API usage.

* Fix unit tests for AttachmentsV2Component by adding mocks for ApiService and OrganizationService

* Fix AttachmentsV2Component tests
2025-04-29 12:42:02 +01:00
cyprain-okeke
1457a97640 Fix the message display (#14419) 2025-04-29 09:21:37 +01:00
Jordan Aasen
b589951c90 [PM-18520] - Update desktop cipher forms to use the same UI as web app and extension - (#13992)
* WIP - cipher form refactor

* cipher clone

* cipher clone

* finalize item view and form changes

* fix tests

* hide changes behind feature flag

* set flag to false

* create vault items v2. add button selector

* revert change to flag and vault items

* add attachments

* revert change to tsconfig

* move module

* fix modules

* cleanup

* fix import

* fix import

* fix import

* remove showForm

* update feature flag

* wip - cleanup

* fix up services

* cleanup

* fix type errors

* fix lint errors

* add dialog component

* revert changes to menu

* revert changes to menu

* fix vault-items-v2

* set feature flag to FALSE

* add missing i18n keys. fix collection state

* remove generator. update modules. bug fix

* fix restricted imports

* mark method as deprecated. add uri arg back

* fix shared.module

* fix shared.module

* fix shared.module

* add uri

* check and prompt for premium when opening attachments dialog

* move VaultItemDialogResult back

* fix import in spec file

* update copy functions

* fix MP reprompt issue
2025-04-23 11:13:44 -07:00
Bryan Cunningham
cbab354c0e Hide bit-icon component from screen readers by default (#14295)
* adds aria-hidden to bit-icon when no aria-label provided

* add ariaLabel to logo svg usages

* add ariaLabel documentation

* default ariaLable value to undefined

* add logo label to translations

* adds i18n pipe to component

* Add binding to example docs
2025-04-18 10:38:19 -04:00
Jonas Hendrickx
e026799071 [PM-13128] Enable Breadcrumb Policies (#13584)
* [PM-13128] Enable Breadcrumb Policies

* [PM-13128] Enable Breadcrumb Policies

* [PM-13128] wip

* [PM-13128] wip

* [PM-13128] wip

* [PM-13128] wip

* remove dead code

* wip

* wip

* wip

* refactor

* Fix for providers

* revert to functional auth guard

* change prerequisite to info variant

* address comment

* r

* r

* r

* tests

* r

* r

* fix tests

* feedback

* fix tests

* fix tests

* Rename upselling to breadcrumbing

* Address feedback

* Fix build & tests

* Make the guard callback use Observable instead of a promise

* Pm 13128 suggestions (#14041)

* Rename new enum value

* Show the upgrade button when breadcrumbing is enabled

* Show mouse pointer when cursor is hovered above badge

* Do not make the dialogs overlap

* Align badge middle

* Gap

* Badge should be a `button` instead of `span`

* missing button@type

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Alex Morask <amorask@bitwarden.com>
2025-04-18 09:57:27 -04:00
Jonas Hendrickx
e0df1ecf0c [PM-19180] Calculate sales tax correctly for sponsored plans (#14129)
* [PM-19180] Sponsored family org no sales tax because they're free

* [PM-19180][DRAFT] Calculate sales tax correctly for sponsored plans with additional storage

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2025-04-17 11:33:13 -04:00
cyprain-okeke
fa268437ef [PM-17774] Build page for admin sponsored families (#14243)
* Added nav item for f4e in org admin console

* shotgun surgery for adding "useAdminSponsoredFamilies" feature from the org table

* Resolved issue with members nav item also being selected when f4e is selected

* Separated out billing's logic from the org layout component

* Removed unused observable

* Moved logic to existing f4e policy service and added unit tests

* Resolved script typescript error

* Resolved goofy switchMap

* Add changes for the issue orgs

* Added changes for the dialog

* Rename the files properly

* Remove the commented code

* Change the implement to align with design

* Add todo comments

* Remove the comment todo

* Fix the uni test error

* Resolve the unit test

* Resolve the unit test issue

* Resolve the pr comments on any and route

* remove the any

* remove the generic validator

* Resolve the unit test

* Resolve the wrong message

* Resolve the duplicate route

---------

Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com>
Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
2025-04-17 14:59:09 +01:00
cyprain-okeke
6bd3fceaa1 fix: align upgrade badge with header text in Event Logs (#14213) 2025-04-16 17:27:48 +01:00
Conner Turnbull
db16c98a1d [PM-17773] Added "Sponsored Families" dropdown nav item in the admin console (#14029)
* Added nav item for f4e in org admin console

* shotgun surgery for adding "useAdminSponsoredFamilies" feature from the org table

* Resolved issue with members nav item also being selected when f4e is selected

* Separated out billing's logic from the org layout component

* Removed unused observable

* Moved logic to existing f4e policy service and added unit tests

* Resolved script typescript error

* Resolved goofy switchMap

---------

Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
2025-04-16 11:58:54 -04:00
Bernd Schoolmann
b09305577f [PM-19603] Change asymmetric interface to only allow key encapsulation (#14046)
* Change asymmetric interface to only allow key encapsulation

* Fix naming

* Clean up naming

* Update libs/common/src/key-management/crypto/abstractions/encrypt.service.ts

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

* Update libs/common/src/key-management/crypto/services/encrypt.service.implementation.ts

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

* Update libs/common/src/key-management/crypto/abstractions/encrypt.service.ts

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

* Fix test

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2025-04-15 16:39:02 +02: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
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
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
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
Rui Tomé
960b77ddd7 [PM-18524] Make the External ID in the Collection dialog conditional (#14096)
* [PM-18524] Make the external ID in the collection dialog conditional

* [PM-18524] Update external ID in collection dialog to always be disabled

* [PM-18524] Display ExternalID field only in Admin Console

- Add isAdminConsoleActive flag to CollectionDialogParams
- Update isExternalIdVisible$ observable to respect context
- Set flag when dialog is opened from Admin Console routes

* [PM-18524] Enable/disable External ID field based on feature flag
2025-04-03 14:13:47 +01:00
Jimmy Vo
b35556adfc [PM-19003] Update the limit item deletion message. (#14078) 2025-04-02 16:00:48 -04: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
cyprain-okeke
d0606922ce make the mode dark mode compatible (#14073) 2025-04-02 09:23:18 +01:00
Vicki League
575e8b691f [CL-570] Deprecate old icons (#13663) 2025-04-01 11:34:04 -04:00
cyprain-okeke
740d0251b8 [PM-19368]Add new collection from individual vault is not displaying Upgrade option rather than Save (#13965)
* Resolve the pop up issue and update button

* Rename a method properly
2025-03-31 15:08:03 +01:00
Rui Tomé
b6e9596c84 [PM-18523] Make the External ID in the Group dialog conditional (#14006)
* Add SsoExternalIdVisibility feature flag

* Implement visibility logic for Group external ID based on SsoExternalIdVisibility feature flag
2025-03-27 14:53:32 +00:00
cd-bitwarden
7efbf95482 [PM-12035] Vault filter updates to use SingleUserState (#13641)
* vault filter use SingleUserState

* fixing tests

* Changes so that userId is passed to service, instead of access in service

* passing activeUserId from the components to service

* Sugggested changes

* updating functions to be abstract on vault-filter.service

* updating all functions to be abstract on vault filter service
2025-03-27 10:33:16 -04:00
Brandon Treston
1887b75c77 fix width (#14005) 2025-03-27 10:17:11 -04:00