1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-21 20:04:02 +00:00
Commit Graph

90 Commits

Author SHA1 Message Date
Rui Tomé
b5bddd0b06 [PM-17154] Limit item deletion feature flag removal (#15094)
* Refactor components to remove limitItemDeletion feature flag usage

This commit simplifies the logic in various components by removing the limitItemDeletion feature flag. The conditions for displaying restore and delete actions are now based solely on the cipher's permissions, enhancing code clarity and maintainability.

* Refactor cipher deletion logic to remove the feature flag and collection ID dependency

This commit updates the cipher deletion logic across multiple components and services by removing the unnecessary dependency on collection IDs. The `canDeleteCipher$` method now solely relies on the cipher's permissions, simplifying the code and improving maintainability.

* Remove LimitItemDeletion feature flag from feature-flag enum and default values

* Remove configService from ServiceContainer and MainBackground constructor parameters

* Remove configService from RestoreCommand instantiation in OssServeConfigurator and VaultProgram classes
2025-06-10 09:57:34 +01:00
Nick Krantz
729d5d3134 [PM-21546] Migrate from enum to constant object (#14975)
* add generic `union-of-values` helper

* migrate `GeneratorDialogAction` to a constant

* migrate `VaultState` to a constant

* migrate `AtRiskCarouselDialogResult` to a constant

* migrate `CredentialGeneratorDialogAction` to a constant

* migrate `FolderAddEditDialogResult` to a constant

* migrate `ViewCipherDialogResult` to a constant

* migrate `VisibleVaultBanner` to a constant

* migrate `VaultFilterLabel` to a constant

* migrate `WebVaultGeneratorDialogResult` to a constant

* migrate `BulkDeleteDialogResult` to a constant

* migrate `BulkMoveDialogResult` to a constant

* migrate `AddEditCipherDialogResult` to a constant

* migrate `VaultItemDialogResult` to a constant

* migrate `BrowserPromptState` to a constant

* migrate `NudgeType` to a constant

* migrate `SecurityTaskStatus` to a constant

* migrate `CipherRepromptType` to a constant

* migrate `SecureNoteType` to a constant

* migrate `FieldType` to a constant

* migrate `LinkedIdType` to a constant

* migrate `CollectionAssignmentResult` to a constant

* migrate `AddEditFolderDialogResult` to a constant

* migrate `AttachmentDialogResult` to a constant

* fix CipherType in delete organization dialog

* fix `in` statement in VaultFilter

* Fix build errors across enum updates

* fix two more CipherType castings

* update CipherResponse `CipherType`

* define type for `fieldType` parameter

* refine how `cipherTypeNames` is generated and add utility function for grabbing cipher type name

* use `CipherType` rather than `number`

* add stricter typing for `FieldType`

* add fixme for `CipherType` to be ADR-0025 compliant

* remove error throw for `toCipherTypeName` and instead update typing to have `| undefined`

* add helpers for CipherType conversions

* prefer `undefined`
2025-06-05 08:45:52 -05:00
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
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
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
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
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
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
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
Oscar Hinton
d0c91db3b3 [CL-614] More spacing fixes (#13955)
* Fix all dialogs to use ng-container for bitDialogFooter

* Fix button spacing

* Fix send icon spacing
2025-03-25 08:56:36 -07:00
Thomas Rittson
ef72f513b1 eslint: report unused disable directives (#13463)
Remove any unused disable directives and FIXMEs in our code
2025-03-10 09:33:08 -04:00
Thomas Rittson
2425cda4d7 [PM-18356] Reconcile ownership of import export and reporting (#13439)
* Move AC import, export and reporting to Tools ownership
2025-02-20 12:06:43 +10:00
Alec Rippberger
fa8ee6fa02 feat(auth): [PM-15534] log user in when submitting recovery code
- Add recovery code enum and feature flag
- Update recovery code text and warning messages
- Log user in and redirect to two-factor settings page on valid recovery code
- Run full sync and handle login errors silently
- Move updated messaging behind feature flag

PM-15534
2025-02-18 16:52:29 -06:00
Daniel James Smith
fc62d80b70 Rename @bitwarden/importer/ui to @bitwarden/importer-ui (#13268)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-02-06 12:59:52 -05:00
Daniel James Smith
f6eb08c3b7 Rename @bitwarden/importer/core to @bitwarden/importer-core (#13182)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-02-05 08:31:12 -06:00
Vincent Salucci
22edfd4283 fix: move feature flag to correct grouping, update casing, update callers, refs PM-17763 (#13184) 2025-01-31 12:18:17 -06:00
Jimmy Vo
7a1121dff4 [pm-17763] Add limitItemDeletion property to UI. (#13162) 2025-01-30 15:30:34 -05:00
Oscar Hinton
f50f5ef70b Remove unused imports for modal service (#12904)
We're auditing the remaining usages of ModalService so that we may kill the feature. These are unused imports which can be safely removed.
2025-01-23 19:22:22 +01:00
Brandon Treston
a949f793ed [PM-15506] Implement vNextOrganizationService (#12839)
* [PM-15506] Wire up vNextOrganizationService for libs/common and libs/angular (#12683)

* Wire up vNextOrganizationService in PolicyService

* Wire vNextOrganizationService in SyncService

* wire vNextOrganizationService for EventCollectionService

* wire vNextOrganizationService for KeyConnectorService

* wire up vNextOrganizationService for CipherAuthorizationService

* Wire up vNextOrganizationService in PolicyService

* Wire vNextOrganizationService in SyncService

* wire vNextOrganizationService for EventCollectionService

* wire vNextOrganizationService for KeyConnectorService

* wire up vNextOrganizationService for CipherAuthorizationService

* wire vNextOrganizationService for share.component

* wire vNextOrganizationService for collections.component

* wire vNextOrganizationServcie for add-account-credit-dialog

* wire vNextOrganizationService for vault-filter.service

* fix browser errors for vNextOrganizationService implementation in libs

* fix desktop errors for vNextOrganizationService implementation for libs

* fix linter errors

* fix CLI errors on vNextOrganizationServcie implementations for libs

* [PM-15506] Wire up vNextOrganizationService for web client (#12810)

PR to a feature branch, no need to review until this goes to main.

* implement vNextOrganization service for browser client (#12844)

PR to feature branch, no need for review yet.

* wire vNextOrganizationService for licence and some web router guards

* wire vNextOrganizationService in tests

* remove vNext notation for OrganizationService and related

* Merge branch 'main' into ac/pm-15506-vNextOrganizationService

* fix tsstrict error

* fix test, fix ts strict error
2025-01-22 15:20:25 -05:00
Thomas Rittson
e4e436b768 [PM-15182] Remove remove-provider-export-permission feature flag (#12878)
* Remove remove-provider-export feature flag

* Remove ts-strict comment

* Revert changes to tests
2025-01-16 13:12:29 +10:00
Conner Turnbull
91d6963074 [PM-14366] Deprecated active user state from billing state service (#12273)
* Updated billing state provider to not rely on ActiveUserStateProvider

* Updated usages

* Resolved browser build

* Resolved web build

* Resolved CLI build

* resolved desktop build

* Update apps/cli/src/tools/send/commands/create.command.ts

Co-authored-by:  Audrey  <ajensen@bitwarden.com>

* Move subscription visibility logic from component to service

* Resolved unit test failures. Using existing userIds where present

* Simplified activeUserId access

* Resolved typescript strict errors

* Resolved broken unit test

* Resolved ts strict error

---------

Co-authored-by:  Audrey  <ajensen@bitwarden.com>
2025-01-07 10:25:26 -05:00
Matt Gibson
9c1e2ebd67 Typescript-strict-plugin (#12235)
* Use typescript-strict-plugin to iteratively turn on strict

* Add strict testing to pipeline

Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.

* turn on strict for scripts directory

* Use plugin for all tsconfigs in monorepo

vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.

* remove plugin from configs that extend one that already has it

* Update workspace settings to honor strict plugin

* Apply strict-plugin to native message test runner

* Update vscode workspace to use root tsc version

* `./node_modules/.bin/update-strict-comments` 🤖

This is a one-time operation. All future files should adhere to strict type checking.

* Add fixme to `ts-strict-ignore` comments

* `update-strict-comments` 🤖

repeated for new merge files
2024-12-09 20:58:50 +01:00
Jared Snider
4b6f70a13d Auth/PM-15155 - 2FA Component Renames (#12092)
* PM-15155 - Move 2FA setup components into own folder

* PM-15155 - Two-factor-authenticator --> Two-factor-setup-authenticator

* PM-15155 - TwoFactorEmail --> TwoFactorSetupEmail

* PM-15155 - TwoFactorBaseComponent --> TwoFactorSetupMethodBaseComponent

* PM-15155 - Rename two-factor-setup folder to just two-factor as it is a management screen not just a setup screen

* PM-15155 - TwoFactorWebauthn --> TwoFactorSetupWebauthn

* PM-15155 - TwoFactorDuo --> TwoFactorSetupDuo

* PM-15155 - TwoFactorYubikey --> TwoFactorSetupYubikey
2024-11-22 12:33:46 -05:00
Addison Beck
e6c68b7138 Remove LimitCollectionCreationDeletionSplit feature flag (#11258)
* Remove references to feature flag

* Remove feature flag enum
2024-11-22 13:58:21 +10:00
Thomas Rittson
9e9f977eb3 [PM-11360] Remove export permission for providers (#12062)
* Split organization.canAccessImportExport
* Fix import permission to include CanCreateNewCollections
* Remove provider export permission (feature flagged)
2024-11-22 07:58:03 +10:00
Vincent Salucci
dce8c0a61a fix: refactor enabled state of org name field, refs PM-14533 (#11879) 2024-11-06 10:12:24 -06:00
Bernd Schoolmann
b486fcc689 [Pm-13097] Rename cryptoservice to keyservice and move it to km ownership (#11358)
* Rename cryptoservice to keyservice

* Rename cryptoservice to keyservice

* Move key service to key management ownership

* Remove accidentally added file

* Fix cli build

* Fix browser build

* Run prettier

* Fix builds

* Fix cli build

* Fix tests

* Fix incorrect renames

* Rename webauthn-login-crypto-service

* Fix build errors due to merge conflicts

* Fix linting
2024-10-24 19:41:30 +02:00
Addison Beck
073ee4739b Split Organization.LimitCollectionCreationDeletion into two separate business rules (#11223)
* Declare feature flag

* Introduce new model properties

* Reference feature toggle in template

* Fix bugs caught during manual testing
2024-10-17 06:34:34 -04:00
Thomas Rittson
363acf58f9 [PM-12740] Move CollectionAdminService to AC Team (#11269) 2024-10-01 18:07:13 -04:00
Cesar Gonzalez
c276d5dfa5 [PM-281] A11y visual distinction required for page links (#9878)
* [PM-281] Visual distinction required for login page links

* add bitLink to report links

* add bitLink to billing history

* [PM-281] Adding more references to bitLink and incorporating changes to aria labels for a variety of buttons

* Added editItemWithName to announce links within reports even better

---------

Co-authored-by: Vicki League <vleague@bitwarden.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-09-20 09:04:48 -05:00
Jordan Aasen
2882fa3077 [AC-2268] - migrate toast to CL service for admin-console (#10663)
* migrate toast to CL service for admin-console

* fix spec

* add missing dep for toastService

* fix toastService args

* fix toastService args

* fix toastService args
2024-08-30 11:16:06 -07:00
Vincent Salucci
471dd3bd7b [PM-10294] Remove FC v1 from Clients (#10422)
* chore: remove fc v1 from org.canEditAnyCollection and update callers, refs PM-10294

* chore: remove fc v1 from collectionView.canEdit and update callers, refs PM-10294

* chore: remove fc v1 from organization.canEditAllCiphers and update callers, refs PM-10294

* chore: remove fc v1 from canDeleteAnyCollection, collection views, update callers, refs PM-10294

* chore: remove fc v1 from canEditUser/GroupAccess, refs PM-10294

* chore: remove fc v1 from canViewCollectionInfo, refs PM-10294

* chore: remove fc v1 from account component, refs PM-10294

* fix: remove fc v1 from collections component, refs PM-10294

* fix: update vault-items component, refs PM-10294

* fix: remove fc v1 from collection-dialog and collections components, refs PM-10294

* chore: remove ConfigService from group-add-edit and account components, refs PM-10294

* chore: change canEditAnyCollection to getter and update callers, refs PM-10294

* chore: change canEditUnmanagedCollections to getter and update callers, refs PM-10294

* chore: change canDeleteAnyCollection to getter and update callers, refs PM-10294

* chore: remove deprecated observable and update comments with v1, refs PM-10294

* chore: remove ununsed ConfigService from collection-dialog component, refs PM-10294

* chore: remove final fc v1 ref for vault-collection-row, refs PM-10294
2024-08-13 10:45:41 -05:00
Thomas Rittson
f9b623b37c Add AC Team eslint configuration (#9971) 2024-07-09 14:33:07 +01:00
Rui Tomé
a9abc772c2 [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only

* Guard TwoFactor route - Owners only and Organization must be able to use 2FA

* Update guards to use function syntax

---------

Co-authored-by: Addison Beck <hello@addisonbeck.com>
2024-07-03 12:45:49 -04:00
Addison Beck
b7e3f5bc68 Restructure the org-permissions guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code

* Restructure the `org-permissions` guard to be Angular 17+ compliant

* Update the `org-permissions` guard to use `ToastService`

* Simplify callback function sigantures

* Remove unused test object

* Fix updated route from merge
2024-07-02 09:53:06 -05:00
Jake Fink
a5e7fde413 fix duo subscriptions and org vs individual duo setup (#9859) 2024-07-02 10:44:27 -04:00
Addison Beck
9551691fde Restructure the org-redirect guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code

* Make assertions about the way the `org-redirect` guard should behave

* Restructure the `org-redirect` guard to be Angular 17+ compliant

* Convert data parameter to function parameter

* Convert a data parameter to a function parameter that was missed

* Pass redirect function to default organization route
2024-07-01 11:54:00 -04:00
vinith-kovan
ab83e822f7 [PM-2056] update two factor duo dialog (#8976)
* migrating two factor duo component

* migrating two factor duo component

* two factor duo component migration

* two factor duo component migration

* removed null check from two-factor-setup

* cleanup duo changes

* remove ikey and skey references

* clean up

---------

Co-authored-by: Jake Fink <jfink@bitwarden.com>
2024-06-26 23:25:42 +05:30
vinith-kovan
b38629b4c9 [AC-2411] migrate account component (#8854)
* migrate account component

* account component review comment addressed

* account component review comment addressed

---------

Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
2024-06-26 23:16:32 +05:30
Daniel James Smith
c35bbc522c [PM-9051][PM-8641] Use reusable export-component on web (#9741)
* Add export-web.component

Introduce new export-web component
Delete old component
export.module - With export-web being standalone there's no need for a importModule
Change routing to load new component

* Prepare export.component to receive a orgId via the hosting-component

* Remove unused onSaved as it's replaced by onSuccessfulExport

* Refactor org-vault-export.component

Introduce new org-vault-export.component.html as the old component relied on the markup from password manager
Refactor org-vault-export.component
Retrieve organizationId from Route and pass it into the shared export.component
Ensure when exporting from AC to include all data from the selected org
org-vault-export.module - With the new component being standalone there's no need for a importModule
Change routing to load new org-vault-export component

* PM-8641 - Add success toast to base-export component
This ensures a success toast is shown on all clients consistently
Add missing entries into clients messages.json

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-06-25 19:17:03 +02:00
Alex Morask
b6c46745a5 Add default OrganizationUpdateRequest values when FormControls are disabled (#9774) 2024-06-25 10:45:21 -04:00
Oscar Hinton
cbb2fa9442 [PM-8972] Migrate callouts to the new CL callout (#9710)
* Migrate callouts to the new CL callout
2024-06-20 15:45:48 +02:00
Vincent Salucci
b169207b74 [AC-2647] Remove Flexible Collections MVP code (#9518)
* chore: organization.ts, remove refs to flexibleCollections and isManager, refs AC-2647

* chore: clean up callers of removed methods from organization.ts, refs AC-2647

* chore: access-selector, remove fc input and update permissionList param, refs AC-2647

* chore: update permissionList caller, update group-add-edit fc refs, and remove accessAll, refs AC-2647

* chore: update member-dialog fc callers, refs AC-2647

* chore: update bulk-collections-dialog fc callers, refs AC-2647

* chore: update collection-dialog fc callers, refs AC-2647

* chore: update simple fc caller to misc files, refs AC-2647

* chore: update member-dialog fc callers, refs AC-2647

* chore: remove accessAll references and update callers, refs AC-2647

* chore: update comment to specify v1 usage, refs AC-2647

* chore: remove unused message keys and code calls to use those messages, refs AC-2647

* chore: remove readonly false from access-selector model map function, refs AC-2647
2024-06-10 11:59:20 -05:00
vinith-kovan
1cec69e377 [PM 2164] api-key component migration (#8562)
* api-key component migration

* api-key component migration

* api-key component migration

* api-key component migration
2024-06-05 22:44:33 +05:30
Thomas Rittson
f2fcf5ce2e [AC-2522] Remove collection enhancements opt-in (#9283)
* Remove FlexibleCollectionsMigration feature flag and code

* Remove api method
2024-05-24 09:00:40 +10:00
KiruthigaManivannan
f6d28bed70 PM-2166 Update Purge vault dialog (#8658)
* PM-2166 Update purge vault dialog

* PM-2166 Fixed ESlint issue
2024-05-21 18:37:01 +05:30
KiruthigaManivannan
1180c60e91 Pm 7843 two factor verification is empty on organization duo 2 fa (#9086)
* PM-7843 Two Factor Verification is Empty on Organization duo 2fa

* PM-7843 Addressed review comments

* PM-7843 Bug fixed
2024-05-09 11:12:45 -04:00
KiruthigaManivannan
77d854b5c1 PM-7843 Two Factor Verification is Empty on Organization duo 2fa (#9008)
* PM-7843 Two Factor Verification is Empty on Organization duo 2fa

* PM-7843 Addressed review comments
2024-05-05 14:54:22 -04:00