* [AC-2484] Fix bug where Custom Users with "Delete any collection" permission incorrectly see "Can Edit" permission for Unassigned Collection
* [AC-2484] Undo change on permission tooltip permission check
* [AC-2484] Fix permission text for unassigned collection
* Move pop-out.component into platform ownership
* Make pop-out.component standalone
* Fix no-floating-promises
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* initial commit
* fixed issue with clearing search index state
* clear user index before account is totally cleaned up
* added logout clear on option
* removed redundant clear index from logout
* Implemented user verification logic for the different use cases, added functions to pompt for user to set pin
* added missing await and removed else if conditionals
* fixed no return after user sets pin
* added comment to further explain user verification when user is coming from lock screen
* [PM-7836] UV not properly used when creating an item from [+] or Save passkey as new item (#8993)
* added user verification using the save new login button and + button
* removed commented out code
* [PM-7808][PM-7848] UV Preferred/Required, Item has MP reprompt, user without MP incorrectly bypasses UV and When UV = discouraged, cannot save passkey to item using [+] button (#9015)
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
* Create notifications settings component
* Move excluded-domains component over to be owned by team-autofill
* Add notifications entry to settings screen
* Move excluded domains from settings to notifications settings screen
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* move pinKeyEncryptedUserKey
* move pinKeyEncryptedUserKeyEphemeral
* remove comments, move docs
* cleanup
* use UserKeyDefinition
* refactor methods
* add migration
* fix browser dependency
* add tests for migration
* rename to pinService
* move state to PinService
* add PinService dep to CryptoService
* move protectedPin to state provider
* update service deps
* renaming
* move decryptUserKeyWithPin to pinService
* update service injection
* move more methods our of crypto service
* remove CryptoService dep from PinService and update service injection
* remove cryptoService reference
* add method to FakeMasterPasswordService
* fix circular dependency
* fix desktop service injection
* update browser dependencies
* add protectedPin to migrations
* move storePinKey to pinService
* update and clarify documentation
* more jsdoc updates
* update import paths
* refactor isPinLockSet method
* update state definitions
* initialize service before injecting into other services
* initialize service before injecting into other services (bw.ts)
* update clearOn and do additional cleanup
* clarify docs and naming
* assign abstract & private methods, add clarity to decryptAndMigrateOldPinKeyEncryptedMasterKey() method
* derived state (attempt)
* fix typos
* use accountService to get active user email
* use constant userId
* add derived state
* add get and clear for oldPinKeyEncryptedMasterKey
* require userId
* move pinProtected
* add clear methods
* remove pinProtected from account.ts and replace methods
* add methods to create and store pinKeyEncryptedUserKey
* add pinProtected/oldPinKeyEncrypterMasterKey to migration
* update migration tests
* update migration rollback tests
* update to systemService and decryptAndMigrate... method
* remove old test
* increase length of state definition name to meet test requirements
* rename 'TRANSIENT' to 'EPHEMERAL' for consistency
* fix tests for login strategies, vault-export, and fake MP service
* more updates to login-strategy tests
* write new tests for core pinKeyEncrypterUserKey methods and isPinSet
* write new tests for pinProtected and oldPinKeyEncryptedMasterKey methods
* minor test reformatting
* update test for decryptUserKeyWithPin()
* fix bug with oldPinKeyEncryptedMasterKey
* fix tests for vault-timeout-settings.service
* fix bitwarden-password-protected-importer test
* fix login strategy tests and auth-request.service test
* update pinService tests
* fix crypto service tests
* add jsdoc
* fix test file import
* update jsdocs for decryptAndMigrateOldPinKeyEncryptedMasterKey()
* update error messages and jsdocs
* add null checks, move userId retrievals
* update migration tests
* update stateService calls to require userId
* update test for decryptUserKeyWithPin()
* update oldPinKeyEncryptedMasterKey migration tests
* more test updates
* fix factory import
* update tests for isPinSet() and createProtectedPin()
* add test for makePinKey()
* add test for createPinKeyEncryptedUserKey()
* add tests for getPinLockType()
* consolidate userId verification tests
* add tests for storePinKeyEncryptedUserKey()
* fix service dep
* get email based on userId
* use MasterPasswordService instead of internal
* rename protectedPin to userKeyEncryptedPin
* rename to pinKeyEncryptedUserKeyPersistent
* update method params
* fix CryptoService tests
* jsdoc update
* use EncString for userKeyEncryptedPin
* remove comment
* use cryptoFunctionService.compareFast()
* update tests
* cleanup, remove comments
* resolve merge conflict
* fix DI of MasterPasswordService
* more DI fixes
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
* Create appearance settings component
* Add entry in settings to navigate to the appearance settings page
* Add transition animation for settings to appearance and back
* Remove settings from options that are now under appearance
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Move folder.component to vault/popup/settings
* Move sync.component to vault/popup/settings
* Create vault settings component
Move controls from settings.component.html to vault-settings.component.html
Register VaultSettingsComponent within app.module
Register route for VaultSettingsComponent
Add new string in en/messages.json
* Fix routing for back navigation on child pages of vault settings
* Add transitions to vault-settings sub-pages
* Add transition for account-security
* Add an await to popping out the extension
* Use "Vault" instead of "Vault settings" as title
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1707] Add feature flag
* [AC-1707] Prevent loading ciphers for provider users in the org vault when the feature flag is enabled
* [AC-1707] Ensure new canEditAllCiphers logic only applies to organizations that have FC enabled
* [AC-1707] Update editAllCiphers helper to check for restrictProviderAccess feature flag
* [AC-1707] Remove un-used vaultFilterComponent reference
* [AC-1707] Hide vault filter for providers
* [AC-1707] Add search to vault header for provider users
* [AC-1707] Hide New Item button for Providers when restrict provider access feature flag is enabled
* [AC-1707] Remove leftover debug statement
* [AC-1707] Update canEditAllCiphers references to consider the restrictProviderAccessFlag
* [AC-1707] Fix collections component changes from main
* [AC-1707] Fix some feature flag issues from merge with main
* [AC-1707] Avoid 'readonly' collection dialog for providers
* [AC-1707] Fix broken Browser component
* [AC-1707] Fix broken Desktop component
* [AC-1707] Add restrict provider flag to add access badge logic
* [AC-2555] Fix missing feature flags in CollectionsComponent
* [AC-2555] Do not filter collections when opening the cipher collections dialog in the org vault
* suppress welcome window on install when extension is in dev mode
* use platformUtilsService.isDev instead of process.env.ENV
* use devFlags.skipWelcomeOnInstall instead of platformUtilsService.isDev
* update old dev_flags casing in base configs
* Ensure AuthStatus Changes Before Exiting
* Do Not Display Account Without Name Or Email
* Fix Environment Selectors
* Add AccountService.clean to Web
* Update Emergency Access To Get Their Own Key
* Migrate Organization Keys To Get Their Own Key
* Remove Optional Parameters
* Update Abstraction Parameter Name to Match Implementation
* Add @throws Doc