* feat: add Identity Sso Required Response type as possible response from token endpoint.
* feat: consume sso organization identifier to redirect user
* feat: add get requiresSso to AuthResult for more ergonomic code.
* feat: sso-redirect on sso-required for CLI and Desktop
* chore: fixing type errors
* test: fix and add tests for new sso method
* docs: fix misspelling
* fix: get email from AuthResult instead of the FormGroup
* fix:claude: when email is not available for SSO login show error toast.
* fix:claude: add null safety check
* PM-27628 conditions for send and export links in left navbar
* PM-27628 resolved claude comment for pr
* PM-27628 resolved claude comment for pr
* PM-27628 reverted earlier display conditionals and changed label
* PM-27628 changed out keys as well
* PM-27628 revert description key change
* [PM-29138] fix defect with pricing service on self host
* use iscloud instead of manually checking region
* fixing strict compile issues
* spacing updates from design review
* final spacing edits
* pr feedback
* typechecking
* [PM-22750] Add upgradeOldCipherAttachment method to CipherService
* [PM-22750] Refactor download attachment component to use signals
* [PM-22750] Better download url handling
* [PM-22750] Cleanup upgradeOldCipherAttachments method
* [PM-22750] Refactor cipher-attachments.component to use Signals and OnPush
* [PM-22750] Use the correct legacy decryption key for attachments without their own content encryption key
* [PM-22750] Add fix attachment button back to attachments component
* [PM-22750] Fix newly added output signals
* [PM-22750] Fix failing test due to signal refactor
* [PM-22750] Update copy
* Add IncreaseBulkReinviteLimitForCloud feature flag
* Enhance PeopleTableDataSource with bulk operation limits and feature flag integration
- Introduced a new feature flag to increase the bulk reinvite limit for cloud environments.
- Added an observable to determine if the increased limit is enabled based on the feature flag and environment.
- Updated the logic for enforcing checked user limits in bulk operations, allowing for a maximum of 4000 users when the feature flag is active.
- Refactored the constructor to initialize the new observable and manage the maximum allowed checked count dynamically.
* Add unit tests for PeopleTableDataSource to validate user limit enforcement and status counts
* Refactor MembersComponent to integrate increased bulk limit feature
- Added support for conditional user limit enforcement in bulk operations based on a feature flag.
- Introduced new dependencies for ConfigService and EnvironmentService to manage configuration settings.
- Updated methods to utilize the new getCheckedUsers function, which enforces limits when the feature is enabled.
- Refactored data source initialization to accommodate the new logic for handling checked users.
* Refactor enforceCheckedUserLimit method in PeopleTableDataSource to use filtered data for user limit enforcement and to keep checked the top rows.
Removed unnecessary comments and improved readability.
* Add bulk reinvite success messages to localization files
This update introduces new localization keys for bulk reinvite success notifications, including a general success message and a limited success message that provides details on the number of users re-invited and those excluded due to limits. This enhances user feedback during bulk operations.
* Enhance bulk reinvite functionality with toast notifications
This update modifies the MembersComponent to display success messages via toast notifications when the feature flag for increased bulk limits is enabled. If the limit is exceeded, a detailed message is shown, otherwise a general success message is displayed. The legacy dialog is retained for cases when the feature flag is disabled, ensuring consistent user feedback during bulk reinvite operations.
* Rename MaxBulkReinviteCount to CloudBulkReinviteLimit
* Refactor user retrieval logic in MembersComponent to conditionally enforce bulk limits
This update modifies the MembersComponent in both the admin console and provider management sections to replace the direct calls to getCheckedUsers() with a conditional check for increased bulk limit feature. If enabled, it enforces user limits; otherwise, it retrieves all checked users. The deprecated getCheckedUsers method has been removed to streamline the code.
* Add constructor to MembersTableDataSource for improved dependency injection
This update introduces a constructor to the MembersTableDataSource class in both the admin console and provider management sections, allowing for better dependency injection of ConfigService, EnvironmentService, and DestroyRef. This change enhances the overall structure and maintainability of the code.
* Refactor PeopleTableDataSource and MembersComponent to implement new bulk limit logic
This update modifies the PeopleTableDataSource to introduce a new property for managing increased bulk limits and refactors the MembersComponent to utilize this logic. The enforcement of user limits during bulk operations is now conditional based on the feature flag, allowing for a more flexible handling of user selections. Additionally, the method for limiting and unchecking excess users has been updated for clarity and efficiency.
* Refactor PeopleTableDataSource tests to update limit enforcement logic
This update modifies the test cases for the PeopleTableDataSource to reflect the new method for limiting and unchecking excess users. The method name has been changed from `enforceCheckedUserLimit` to `limitAndUncheckExcess`, and the tests have been adjusted accordingly to ensure they accurately validate the new functionality. Additionally, unnecessary tests have been removed to streamline the test suite.
* Change CloudBulkReinviteLimit back to 4000
* Refactor MembersComponent to utilize new getCheckedUsersInVisibleOrder method
This update modifies the MembersComponent to conditionally retrieve checked users based on the increased bulk limit feature. If enabled, it uses the new getCheckedUsersInVisibleOrder method to maintain visual consistency in the filtered/sorted table view. This change enhances the handling of user selections during bulk operations.
* Refactor PeopleTableDataSource to use Signals for increased bulk limit feature and update related tests. Removed unused imports and dependencies on DestroyRef in MembersTableDataSource components.
* Refactor MembersComponent to remove unused Signal for increased bulk limit and directly utilize dataSource method for feature flag checks.
* Implement getCheckedUsersWithLimit method to streamline user retrieval based on feature flag; update MembersComponent to utilize this new method for bulk actions.
* enforce session timeout policy
* better angular validation
* lint fix
* missing switch break
* fallback when timeout not supported with highest available timeout
* failing unit tests
* incorrect policy message
* vault timeout type adjustments
* fallback to "on browser refresh" for browser, when policy is set to "on system locked", but not available (Safari)
* docs, naming improvements
* fallback for current user session timeout to "on refresh", when policy is set to "on system locked", but not available.
* don't display policy message when the policy does not affect available timeout options
* 8 hours default when changing from non-numeric timeout to Custom.
* failing unit test
* missing locales, changing functions access to private, docs
* removal of redundant magic number
* missing await
* await once for available timeout options
* adjusted messaging
* unit test coverage
* vault timeout numeric module exports
* unit test coverage
* Access Intelligence display for only enterprise
* modifying the access intelligence routing to properly match. Added documentation.
* tasks remove useriskinsights flag
* fixing tasks test cases
* tasks should only check for enterprise
* fixing uncommitted changes
* reverting unecessary change from all activites
* adding back missing test case
* add premium badge to web filter when the user does not have access to premium
* remove feature flag pass through in favor of showing/hiding archive vault observable
* refactor archive observable to be more generic
* add archive premium badge for the web
* show premium badge inline for archive filter
* show premium subscription ended message when user has archived ciphers
* fix missing refactor
* remove unneeded can archive check
* reference observable directly
* reduce the number of firstValueFroms by combining observables into a single stream
* fix failing tests
* add import to storybook
* update variable naming for premium filters
* pass event to `promptForPremium`
* remove check for organization
* fix footer variable reference
* refactor back to `hasArchiveFlagEnabled$` - more straight forward to the underlying logic
* update archive service test with new feature flag format
* Implement automatic kdf upgrades
* Fix kdf config not being updated
* Update legacy kdf state on master password unlock sync
* Fix cli build
* Fix
* Deduplicate prompts
* Fix dismiss time
* Fix default kdf setting
* Fix build
* Undo changes
* Fix test
* Fix prettier
* Fix test
* Update libs/angular/src/key-management/encrypted-migration/encrypted-migrations-scheduler.service.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Update libs/angular/src/key-management/encrypted-migration/encrypted-migrations-scheduler.service.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Only sync when there is at least one migration
* Relative imports
* Add tech debt comment
* Resolve inconsistent prefix
* Clean up
* Update docs
* Use default PBKDF2 iteratinos instead of custom threshold
* Undo type check
* Fix build
* Add comment
* Cleanup
* Cleanup
* Address component feedback
* Use isnullorwhitespace
* Fix tests
* Allow migration only on vault
* Fix tests
* Run prettier
* Fix tests
* Prevent await race condition
* Fix min and default values in kdf migration
* Run sync only when a migration was run
* Update libs/common/src/key-management/encrypted-migrator/default-encrypted-migrator.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* Fix link not being blue
* Fix later button on browser
---------
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
* revert using tooltip in title directive
* add back tooltip delay from revert
* add back label to carousel buttons
* fix documentation that does not need reverted
* remove unnecessary label attr
* use tooltip in a11y directive
* remove commented code
* add deprecation warning to appA11yTitle directive
* use label for tooltip in carousel nav
* wait for timeout before assertion
* remove unnecessary title directive use
* fix private variable lint errors
* increase tooltip show delay
* fix spec delay and export as constant
* use delay constant
---------
Co-authored-by: Vicki League <vleague@bitwarden.com>
* feat(user-decryption-options) [PM-26413]: Update UserDecryptionOptionsService and tests to use UserId-only APIs.
* feat(user-decryption-options) [PM-26413]: Update InternalUserDecryptionOptionsService call sites to use UserId-only API.
* feat(user-decryption-options) [PM-26413] Update userDecryptionOptions$ call sites to use the UserId-only API.
* feat(user-decryption-options) [PM-26413]: Update additional call sites.
* feat(user-decryption-options) [PM-26413]: Update dependencies and an additional call site.
* feat(user-verification-service) [PM-26413]: Replace where allowed by unrestricted imports invocation of UserVerificationService.hasMasterPassword (deprecated) with UserDecryptionOptions.hasMasterPasswordById$. Additional work to complete as tech debt tracked in PM-27009.
* feat(user-decryption-options) [PM-26413]: Update for non-null strict adherence.
* feat(user-decryption-options) [PM-26413]: Update type safety and defensive returns.
* chore(user-decryption-options) [PM-26413]: Comment cleanup.
* feat(user-decryption-options) [PM-26413]: Update tests.
* feat(user-decryption-options) [PM-26413]: Standardize null-checking on active account id for new API consumption.
* feat(vault-timeout-settings-service) [PM-26413]: Add test cases to illustrate null active account from AccountService.
* fix(fido2-user-verification-service-spec) [PM-26413]: Update test harness to use FakeAccountService.
* fix(downstream-components) [PM-26413]: Prefer use of the getUserId operator in all authenticated contexts for user id provided to UserDecryptionOptionsService.
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* feat(billing): update messages to add reasons
* feat(billing): update survey with switching reason based on param
* fix(billing): revert value of switching reasons
* fix(billing): revert removal of tooExpensive message
* fix(billing): Add plan type to params and update switching logic
* fix(billing): update to include logic
* fix(billing): PR feedback