* 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`
* remove margin from the bottom of paragraph tag in generator spotlight
* update aria-label text to match translation key
* Remove `SendNudgeStatus` nudge type
* update web send page to use new title and description
* update old no sends title and description
* hide internal contents on generator nudge
* remove NudgeService from send-v2 test
Upgrade Angular to v19 using the update guide.
- Add `standalone: false` to any missed component in stories or tests.
- Update jest.config to follow the new best practices.
* Replace usage of text-musted with tw-text-muted
* Remove usage of class no-items
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* 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>
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.
* don't display orgs in account switcher for single org policy users
* add comment
* add test case
* fix storybook
* fix storybook again
* use variable name instead of comment
* 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
* Update duo-redirect to use Tailwind classes similar to sso.html
* Update dynamic classes to tailwind
* fix: updating styling
* Update button and logo styles to match previous
* Update button styles
* Update button styles
---------
Co-authored-by: Ike Kottlowski <ikottlowski@bitwarden.com>
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* 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>
* Add new encrypt service functions
* Undo changes
* Cleanup
* Fix build
* Fix comments
* Switch encrypt service to use SDK functions
* Add cose migration on userkey rotation
* Update sdk
* Set featureflag to default disabled
* Add tests
* Update sdk to build 168
* Make changes according to feedback
* Passed in userId on RemovePasswordComponent.
* Added userId on other references to KeyConnectorService methods
* remove password component refactor, test coverage, enabled strict
* explicit user id provided to key connector service
* redirect to / instead when user not logged in or not managing organization
* key connector service explicit user id
* key connector service no longer requires account service
* key connector service missing null type
* cli convert to key connector unit tests
* remove unnecessary SyncService
* error toast not showing on ErrorResponse
* bad import due to merge conflict
* bad import due to merge conflict
* missing loading in remove password component for browser extension
* error handling in remove password component
* organization observable race condition in key-connector
* usesKeyConnector always returns boolean
* unit test coverage
* key connector reactive
* reactive key connector service
* introducing convertAccountRequired$
* cli build fix
* moving message sending side effect to sync
* key connector service unit tests
* fix unit tests
* move key connector components to KM team ownership
* new unit tests in wrong place
* key connector domain shown in remove password component
* type safety improvements
* convert to key connector command localization
* key connector domain in convert to key connector command
* convert to key connector command unit tests with prompt assert
* organization name placement change in the remove password component
* unit test update
* key connector url required to be provided when migrating user
* unit tests in wrong place after KM code ownership move
* infinite page reload
* failing unit tests
* failing unit tests
---------
Co-authored-by: Todd Martin <tmartin@bitwarden.com>
* 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.