* 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
* Created mappings for client domain object to SDK
* Add abstract decrypt observable
* Added todo for future consideration
* Added implementation to cipher service
* Added adapter and unit tests
* Created cipher encryption abstraction and service
* Register cipher encryption service
* Added tests for the cipher encryption service
* changed signature
* Updated feature flag name
* added new function to be used for decrypting ciphers
* Added new encryptedKey field
* added new function to be used for decrypting ciphers
* Manually set fields
* Added encrypted key in attachment view
* Fixed test
* Updated references to use decrypt with feature flag
* Added dependency
* updated package.json
* lint fix
* fixed tests
* Fixed small mapping issues
* Fixed test
* Added function to decrypt fido2 key value
* Added function to decrypt fido2 key value and updated test
* updated to use sdk function without prociding the key
* updated localdata sdk type change
* decrypt attachment content using sdk
* Fixed dependency issues
* updated package.json
* Refactored service to handle getting decrypted buffer using the legacy and sdk implementations
* updated services and component to use refactored version
* Updated decryptCiphersWithSdk to use decryptManyLegacy for batch decryption, ensuring the SDK is only called once per batch
* Fixed merge conflicts
* Fixed merge conflicts
* Fixed merge conflicts
* Fixed lint issues
* Moved getDecryptedAttachmentBuffer to cipher service
* Moved getDecryptedAttachmentBuffer to cipher service
* ensure CipherView properties are null instead of undefined
* Fixed test
* ensure AttachmentView properties are null instead of undefined
* Linked ticket in comment
* removed unused orgKey
* 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
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.
* [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>
* 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.
* 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
* remove old add-edit-custom-fields component
- Also removes the individual vault add-edit-component where the custom fields component was used
- All of these components were unused
* remove unused translations for web
* [PM-18707] Use different BroadcasterSubscriptionId in base view component to avoid collision with desktop view component
* [PM-18707] Use userId instead of payloadUserId for cipher notification syncs
* [PM-19032] Live Sync on Desktop (#13851)
* migrate the vault-items to an observables rather than async/promises
- this helps keep data in sync with the service state and avoids race conditions
* migrate the view component to an observables rather than async/promises
- this helps keep data in sync with the service state and avoids race conditions
* decrypt saved cipher from server
* bump timeout for upserting ciphers
* mark `go` as async in desktop vault
- previously it was a floating promise
* Revert "mark `go` as async in desktop vault"
This reverts commit fd28f40b18.
* Revert "bump timeout for upserting ciphers"
This reverts commit e963acc377.
* move vault utilities to `common` rather than `lib` to avoid circular dependencies
* use `perUserCache$` for `cipherViews$` to avoid new subscriptions from being created
* use userId from observable rather than locally set to be the most up to date
* [PM-18707] Add clearBuffer$ input to perUserCache$ helper so that the internal share replay buffers can be cleared
* [PM-18707] Rework forceCipherViews$ to clearBuffer$ refactor
- Add dependency for cipherDecryptionKeys$ for the cipherViews so that decryption is never attempted without keys
* [PM-18707] Add overload to perUserCache to satisfy type checker
* [PM-18707] Fix overloads
* [PM-18707] Add check for empty failed to decrypt ciphers
* [PM-18707] Mark vault component for check after observable emits.
The cipherViews$ observable now persists between subscriptions, meaning that updates via the sync push notifications can occur outside the AngularZone causing delays in updating the view.
---------
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
* 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>
* [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
* 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
* migrate css classes
* remove bulk share dialog components and related modules and i18n keys
* Revert "remove bulk share dialog components and related modules and i18n keys"
This reverts commit 40060b6011.
* display inline information error message
* Add collection service
* Refactor the code
* Add a feature flag to the change
* Add the modal pop for free org
* Use custom error messages passed from the validator
* Add the js document
* Merge changes in main
* Add the changes after file movement
* remove these floating promises
* Adding unit test and seprating the validation
* fix the unit test request
* Remove the conditional statment in test
* remove min-width on body element for extension prompt page
* reset meta viewport content for extension prompt page
* set max width of svg to avoid any overflow on mobile devices
* use inline display to avoid icon overflow on mobile devices
* use max width on the icon to fix overflow rather than editing the anon layout
* Refactored totp service to use sdk
Fixed strict typescript issues
* Fixed dependency issues
* Returned object that contains code and period, removed get interval function
* removed dependencies
* Updated to use refactored totp service
* removed sdk service undefined check
* removed undefined as an input from the getCode function
* Made getcode$ an observable
* refactored to use getcodee$
* Filter out emmissions
* updated sdk version
* Fixed readability nit
* log error on overlay if totp response does not return a code
* fix(totpGeneration): [PM-11941] Totp countdown not working on clients
* Used optional chaining if totpresponse returns null or undefined