* show card and identity ciphers in the autofill suggestions only if the active tab appears to have fields for that type of cipher
* handle cases where collectPageDetailsFromTab$ does not emit
* update tests
* [PM-13892] Introduce canClone$ method on CipherAuthorizationService
* [PM-13892] Use new canClone$ method for the 3dot menu in browser extension
* [PM-13892] Add todo for vault-items.component.ts
* [PM-13907] Move canLaunch logic to CipherView
* [PM-13907] Add external link icon to vault list items
* [PM-13907] Remove launch option from more options dropdown
* [PM-13849] Add double click to launch support
* web - hide assign to collections button when the user has no organizations
* browser - hide assign to collections button when the user has no organizations
* hide assign to collections in the bulk edit menu when the user doesn't belong to an organization
* [PM-13715] Launching page from cipher does not set correct autofill action
* [PM-13715] Fix autofill not triggering for correct cipher after page has been launched from browser extension
* Added inputs to the view and edit component to disable or remove the delete button when a user does not have manage rights
* Refactored editByCipherId to receive cipherview object
* Fixed issue where adding an item on the individual vault throws a null reference
* Fixed issue where adding an item on the AC vault throws a null reference
* Allow delete in unassigned collection
* created reusable service to check if a user has delete permission on an item
* Registered service
* Used authorizationservice on the browser and desktop
Only display the delete button when a user has delete permission
* Added comments to the service
* Passed active collectionId to add edit component
renamed constructor parameter
* restored input property used by the web
* Fixed dependency issue
* Fixed dependency issue
* Fixed dependency issue
* Modified service to cater for org vault
* Updated to include new dependency
* Updated components to use the observable
* Added check on the cli to know if user has rights to delete an item
* Renamed abstraction and renamed implementation to include Default
Fixed permission issues
* Fixed test to reflect changes in implementation
* Modified base classes to use new naming
Passed new parameters for the canDeleteCipher
* Modified base classes to use new naming
Made changes from base class
* Desktop changes
Updated reference naming
* cli changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Updated references
* browser changes
Updated reference naming
Passed new parameters for the canDeleteCipher$
* Modified cipher form dialog to take in active collection id
used canDeleteCipher$ on the vault item dialog to disable the delete button when user does not have the required permissions
* Fix number of arguments issue
* Added active collection id
* Updated canDeleteCipher$ arguments
* Updated to pass the cipher object
* Fixed up refrences and comments
* Updated dependency
* updated check to canEditUnassignedCiphers
* Fixed unit tests
* Removed activeCollectionId from cipher form
* Fixed issue where bulk delete option shows for can edit users
* Fix null reference when checking if a cipher belongs to the unassigned collection
* Fixed bug where allowedCollection passed is undefined
* Modified cipher by adding a isAdminConsoleAction argument to tell when a reuqest comes from the admin console
* Passed isAdminConsoleAction as true when request is from the admin console
* add password history view component in vault lib
* integrate PasswordHistoryView into individual vault
* add password history v2 to browser extension
* update color of password history link
* add check for `cipherId` before rendering password history
* refactor vault-list-item to be a button so it is keyboard accessible
- an anchor tag without an `href` isn't included in the tab order
* allow bit-item-content focus state to be visible
- cdk-virtual-scroll-viewport applied certain styles that hid overflow. Because each bit-item-group isn't a scroll container for vault items, these should be safe to alter.
* Add password dialog component.
* Properly direct to browser password history screen.
* Add padding to history items.
* Update test to correct password history route.
* Remove unneeded provider.
* Use relative path for SharedModule.
* simplify logic and fix some pattern-matching bugs
* add first pass at parsing combined expiry year and month from user input
* clean up code
* fix broken three-digit parsing case
* fix case where splitCombinedDateValues returns empty strings when the input is only a delimiter
* fix incorrect expectation of falsy negative integers
* clean up code
* split out logic from parseYearMonthExpiry
* move utils from vault to autofill
* add appearance option to disable animations
* add check to only show the form after it's populated to avoid flash of inaccurate values
* switch to form loading while waiting for form values
* autofill name for new ciphers
* only include name and uri when the extension is not popped out
* only populate name and uri for login ciphers
* source the URL directly from the new item dropdown component
* fix new item dropdown tests
* Added skipLocationChange while navigating to the view cipher to prevent pushing view cipher route to state
* Fix navigation bug after restore or delete
* Simplified to just use popupRouterCacheService.back
* remove nord and solarized dark from AppearanceV2 component
- This component already behind the extension refresh feature flag
* update the users theme to system when nord or solarized dark is selected
* For desktop, still allow all theme types by overriding the default theme service.
* change theme on the fly rather than updating local state.
- When the feature flag is removed then a migration will have to take place
* Add MessagingService to LoginCredentialView component.
* Add comments.
* Add WIP PremiumUpgradeService
* Simplify web PremiumUpgradeServices into one service.
* Relocate service files.
* Add browser version of PremiumUpgradePromptService.
* Cleanup debug comments.
* Run prettier.
* rework promptForPremium to take organization id and add test.
* Add test for browser
* Rework imports to fix linter errors.
* Add Shane's reworked WebVaultPremiumUpgradePromptService.
* use shared expiration year normalization util function
* use shared exp year normalization in web and desktop client
* handle cases where input has leading zeroes
* add utils tests
* handle cases where input is all zeroes
* created trash and trash container component
* added trash to vault settings
created observable to get deleted ciphers
* export icon
added locales
* remove edit and delete footver from trash view cipher
* Added helper text when viewing deleted ciphers
* prevent premature access of isDeleted from the cipher object
* simplified the condition to show the edit button
* return cipherView for deletedCiphers$ since that is what is used in the component
* changed section header to h6
* added routing animation
* Added restore to footer
* [PM-10381] Add activeUserLastSync$ to SyncService
* [PM-10381] Introduce waitUtil operator
* [PM-10381] Use new activeUserLastSync$ observable to wait until a sync completes before attempting to get decrypted ciphers
* [PM-10381] Fix failing test
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* update back logic for add/edit component to account for how the user arrived at the add/edit screen
* add tests for handle back
* update comment for cipher saved navigation
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id
* Added account service mock
* fixed cipher test
* Fixed test
* removed async from encryptCipher
* updated encryptSharedCipher to pass userId to the encrypt function
* Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher
* pass in userid when setting masterKeyEncryptedUserKey
* Added activer usedId to new web refresh function
* refactor open-attachments component to push attachments route before opening the popout
* use popupRouterCache for navigating the user back
* use the PopupRouterCache for navigating the user after an attachment