* Remove inividual user key states and migrate to account cryptographic state
* Fix browser
* Fix tests
* Clean up migration
* Remove key-pair creation from login strategy
* Add clearing for the account cryptographic state
* Add migration
* Cleanup
* Fix linting
* Add validation for organization user status in CLI Confirm command
- Implemented a new method to validate the status of an organization user before confirmation.
- Added checks for various user states: invited, confirmed, revoked, and accepted.
- Enhanced error handling to provide clearer feedback based on user status.
* Refactor validation logic in ConfirmCommand to remove unnecessary user ID check
- Removed the check for null userId in the validateOrganizationUserStatus method.
- Simplified the validation process for organization user status before confirmation.
* Add unit tests for ConfirmCommand in CLI
- Created a new test suite for the ConfirmCommand to validate its functionality.
- Implemented tests for various scenarios including bad requests, user status validations, and successful confirmations.
- Enhanced error handling tests to ensure proper responses for missing organization keys and API failures.
* Member details model updates
* Add application model for risk insights reports following company architecture
* Add summary model for risk insights reports following company architecture
* Updated comment in risk insights summary data
* Add models following company architecture for risk insights generated report data
* Use deep jsonify for class json structure
* Use deepjsonify for class partial json structure
* Add risk insights model following client model architecture
* Fix type check errors
* Add state- and key-definitions for persisting serverCommunicationConfig(s)
* Add implementation of the SDK-defined ServerCommunicationConfigRepository
* Add ServerCommunicationConfigService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Centralize edit permission checks in CipherAuthorizationService instead of using the disableForm parameter passed to VaultItemDialogComponent. This refactoring improves consistency with how delete and restore permissions are handled, establishes a single source of truth for authorization logic, and simplifies caller components.
This change also fixes the bug in ticket, which allows Users to properly edit Ciphers inside of the various Admin Console report types.
Adds a "Select all" checkbox to the table in the Access Intelligence applications tab. This allows users to quickly select or deselect all applications currently showing in the table for marking as critical apps.
* pm-31420 add download button feature to new applications tab for access intelligence feature
* PM-31420 fixing unit tests
* pm-31420 adding types
* pm-31420 fixing types and merging in main
* Enhance layout responsiveness in vault components by adding flex properties to improve structure and ensure proper height management.
* Refactor vault component layout to rid of my changes
* Update apps/web/src/app/vault/individual-vault/vault.component.html
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
---------
Co-authored-by: Jackson Engstrom <jengstrom@bitwarden.com>
The eslint rule now distinguishes between icon classes (bwi, bwi-lock, etc.)
and helper utility classes (bwi-fw, bwi-sm, bwi-lg, etc.) defined in the SCSS.
Helper classes like bwi-fw are legitimate utility classes that modify appearance
and can be used with bit-icon or other components without triggering warnings.
Updated the rule to maintain an allowlist of helper classes and only error when
actual icon classes are used directly.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* Add check and test for empty inputs into isValidRpId
* Ensure the origin's scheme is https
* Improve parsing and validation of rpId
* Move https requirement check further down as we accept http for localhost
* Add documentation
* Remove ts-strict-ignore
* ts-strict: Fix possibly null on parsedOrigin.hostname
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Fixing some tech debt before implementing actual fix of implementation
* Adding new components to handle the different routes for the integrations page to make use of bit-tab-nav-bar to follow background-fill UI spec
* Implement organization integrations page with routing and state management
- Added routing for organization integrations including device management, event management, single sign-on, and user provisioning.
- Created OrganizationIntegrationsState to manage integrations and organization data.
- Introduced OrganizationIntegrationsResolver for preloading organization and integration data.
- Updated components to utilize the new state management and resolver.
- Refactored integration routes to follow updated naming conventions.
* Refactor organization integrations components to use signals and observables; enhance async handling in templates and add debug logging
* Enhance organization integrations module with routing updates and state management improvements
- Added OrganizationIntegrationsState for better state management.
- Updated routing to redirect to single sign-on by default.
- Integrated OrganizationIntegrationsResolver for preloading data.
- Refactored components to utilize new state management and improved async handling.
* Refactor SingleSignOnComponent to remove OnInit lifecycle and debug logging
- Simplified SingleSignOnComponent by removing the OnInit implementation.
- Eliminated debug logging for integrations in ngOnInit.
- Cleaned up imports for better readability.
* Refactor WebHeaderComponent to simplify background handling
- Removed the useAltBackground input signal from WebHeaderComponent.
- Updated the HTML template to conditionally apply styles based solely on the child element count of the tabs container.
* Refactor organization integrations components for improved readability and performance
- Updated HTML templates to remove optional chaining for organization properties.
- Removed unnecessary debug logging and comments in the OrganizationIntegrationsResolver.
- Simplified DeviceManagementComponent by eliminating the OnInit lifecycle hook.
* Refactor organization integrations components to use direct state properties
- Updated components to access organization and integrations directly from state instead of using observables.
- Simplified HTML templates by removing async pipes and using direct function calls for better readability.
- Ensured consistent naming conventions for organization and integrations variables across components.
* Enhance WebHeaderComponent by adding bitTypography attribute to the title element for improved styling consistency
* Refactor organization state to use 'undefined' instead of 'null' for organization signal and remove OnInit lifecycle hook from UserProvisioningComponent for cleaner code.
* Refactor EventManagementComponent to remove OnInit lifecycle hook for cleaner code and improved readability.
* Update organization state to set organization value to 'undefined' when null is provided, enhancing state management consistency.
* Update WebHeaderComponent to allow optional title and icon inputs, enhancing flexibility in header configuration.
* Update WebHeaderComponent to allow account property to be nullable, improving type safety and handling of user data.
* follow existing popout guard pattern to force popout on firefox when filepicker is exposed
* move firefox guard to tools ownership & revert changes to auth owned file
* initial refactor to consolidate logic using file-picker-popout.guard
* remove safari from guard & disable forced popout in vault import
* enforce popout on Safari with test coverage
* use userAgent and consistent detection for platform detection
* refactor guard tests involving routes
* replace imports lost during merge
* remove text sends from popout requirement and update tests
* add tooltip and screen-reader text describing popout behavior