This PR deletes the legacy lock components from the Angular clients and also removes feature flag control from the routing. The lock component will now be based entirely on the new, recently refreshed LockComponent in libs/auth/angular.
* force viewOnly to be true for emergency access
* add input to hide password history, applicable when the view is used from emergency view
* add extension refresh version of the emergency view dialog
* allow emergency access to view password history
- `ViewPasswordHistoryService` accepts a cipher id or CipherView. When a CipherView is included, the history component no longer has to fetch the cipher.
* remove unused comments
* Add fixme comment for removing non-extension refresh code
* refactor password history component to accept a full cipher view
- Remove the option to pass in only an id
* starting
* setup first page for new device verification notice
* update designs for first page. rename components and files
* added second page for new device verification notice
* update notice page one with bit radio buttons. routing logic. user email
* updated routing for new device verification notice to show before vault based on flags, and can navigate back to vault after submission
* fix translations. added remind me later link and nav to page 2
* sync the design for mobile and web
* update routes in desktop
* updated styles for desktop
* moved new device verification notice guard
* update types for new device notice page one
* add null check to page one
* types
* types for page one, page two, service, and guard
* types
* update component and guard for null check
* add navigation to two step login btn and account email btn
* remove empty file
* update fill of icons to support light & dark modes
* add question mark to email access verification copy
* remove unused map
* use links for navigation elements
- an empty href is needed so the links are keyboard accessible
* remove clip path from exclamation svg
- No noticeable difference in the end result
* inline email message into markup
---------
Co-authored-by: Nick Krantz <nick@livefront.com>
* Adding more test cases
* Removing unnecessary file
* Test cases update
* Adding the fixme for strict types
* moving the fixme
* add risk insight data service and wire up components to it
* hook up all applications to risk insights report service. add loading state
* link up remaining props to risk insight report
* wire up children to risk insight data service
* add missing copy. remove loading state from risk insights
* fix types
* fix DI issue
* remove @Injectable from RiskInsightsDataService
---------
Co-authored-by: Tom <ttalty@bitwarden.com>
Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com>
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* use organization properties for access permissions
* clean up refactor
* simplify logic
* refactor canAccessIntegrationEditor to have all the permission checks
Consolidates existing SSO components into a single unified component in
libs/auth, matching the new design system. This implementation:
- Creates a new shared SsoComponent with extracted business logic
- Adds feature flag support for unauth-ui-refresh
- Updates page styling including new icons and typography
- Preserves web client claimed domain logic
- Maintains backwards compatibility with legacy views
PM-8114
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
* Add the on trial payment option on new UI
* Rename variables correctly
* Resolve the isTrialPaymentOptional and use observable
* use firstValueFrom and remove subscribe
* Resolve the selected plantype
* Changes for free Org
* refactor: update domain verification terminology to claimed domains
* feat: add description for claimed domains in domain verification
* Add informational link to claimed domains description in domain verification component
* Update domain verification references to claimed domains in organization layout and SSO component
* Add validation message for invalid domain name format in domain verification
* Add domain claim messages and descriptions to localization files
* Update domain verification navigation text based on feature flag
* Update domain verification dialog to support account deprovisioning feature flag
* Update domain verification component to support account deprovisioning feature flag
* Refactor domain verification dialog to use synchronous feature flag for account deprovisioning
* Refactor domain verification routing to resolve title based on account deprovisioning feature flag
* Update SSO component to conditionally display domain verification link based on account deprovisioning feature flag
* Update event service to conditionally display domain verification messages based on account deprovisioning feature flag
* Update domain verification warning message
* Refactor domain verification navigation text handling based on account deprovisioning feature flag
* Refactor domain verification dialog to use observable for account deprovisioning feature flag
* Refactor domain verification component to use observable for account deprovisioning feature flag
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* [PM-15559] Update admin dialog flows to first try the local state before using the API when not required
* [PM-15559] Clear initial values after creating a new cipher so that they do not override the newly created cipher for subsequent edits
Add timeout state management for two-factor authentication flows in web, desktop,
and browser extension clients. Includes:
- New timeout screen component with 5-minute session limit
- Updated UI elements and styling
- Comprehensive test coverage
Refs: PM-13659
* Remove bitItem and use plain bitLink button for opening generator history
* Revert desktop back to use bitItem
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Changes for web impact by the policy
* Changes to address PR comments
* refactoring changes from pr comments
* Resolve the complex conditionals comment
* resolve the complex conditionals comment
* Resolve the pr comments on user layout
* revert on wanted change
* Refactor and move logic and template into its own component
* Move to a folder owned by the Billing team
* Create CredentialGeneratorHistoryDialogComponent to be re-used on web and desktop
* Add button to open credential histpry on web
* Add button to open credential history on desktop (#12101)
- Register route to open new CredentialGeneratorHistoryDialogComponent when FeatureFlag/GeneratorToolsModernization is enabled
- Add button to credential generator
- Add missing keys to en/messages.json
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Refactor organization user API service to support bulk deletion of users
* Add copy for bulk user delete dialog
* Add bulk user delete dialog component
* Add bulk user delete functionality to members component
* Make bulk user actions in the members component conditional based on the selected members
* Refactor members component to only display bulk user deletion option if the Account Deprovisioning flag is enabled
* Refactor bulk action visibility in members component based on Account Deprovisioning flag
* Patch build process
* Refactor bulk action visibility conditions in members component
* Simplify status checks in members component by using loose equality and removing redundant boolean comparisons
* Refactor bulk action visibility logic in members component to use computed properties for improved readability and maintainability
* Refactor bulk action visibility logic in members component to eliminate redundant methods and improve readability
* Revert "Patch build process"
This reverts commit 917c969f00.
* Refactor bulk action visibility logic in members component
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Creates a refreshed and consolidated `LoginDecryptionOptionsComponent` for use on all visual clients, which will be used when the `UnauthenticatedExtensionUIRefresh` feature flag is on.
* PM-12077 - Initial work on web process reload - more testing required.
* PM-12077 - Clarify comment
* PM-12077 - Improving UX of logout with process reload.
* PM-12077 - Final tweaks for process reload
* PM-12077 - Remove no longer accurate comment.
* PM-12077 - Per PR feedback, clean up logout reason
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* Manually route to signup page when the email verification feature flag is enabled
* Revert "Manually route to signup page when the email verification feature flag is enabled"
This reverts commit f3a2b412b9.
* Do not show toast when redirecting to signup
Creates a refreshed and consolidated LoginViaAuthRequestComponent for use on all visual clients, which will be used when the UnauthenticatedExtensionUIRefresh feature flag is on.
* Add the new policy
* Add the free family policy behind flag
* Patch build process
* Revert "Patch build process"
This reverts commit 4024e974b1.
* [PM-13346] Email notification impacts (#11967)
* Changes error notification for disabled offer
* Add the feature to the change
* Add the missing dot
* Remove the authenicated endpoint
* Add the changes for error toast
* Resolve the lint issue
* rename file a correctly
* Remove the floating promise comments
* Delete unwanted comments
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* feat: update sdk service abstraction with documentation and new `userClient$` function
* feat: add uninitialized user client with cache
* feat: initialize user crypto
* feat: initialize org keys
* fix: org crypto not initializing properly
* feat: avoid creating clients unnecessarily
* chore: remove dev print/subscription
* fix: clean up cache
* chore: update sdk version
* feat: implement clean-up logic (#11504)
* chore: bump sdk version to fix build issues
* chore: bump sdk version to fix build issues
* fix: missing constructor parameters
* refactor: simplify free() and delete() calls
* refactor: use a named function for client creation
* fix: client never freeing after refactor
* fix: broken impl and race condition in tests
* feat: add sdk override to desktop build
* feat: add SDK version to browser about dialog
* feat: add sdk override to browser build
* fix: `npm ci` overriding the override
* fix: artifacts not properly downloaded
* fix: switch to new repository
* feat: add debug version function to web
* feat: add sdk-version to CLI
* feat: add version to desktop
* feat: add override to cli
* feat: add override to web
* fix: cli version acting as default command
* fix: consistent workflow input name
* feat: add error handling
* feat: upgrade sdk-internal
* fix: forgot to update package lock
* fix: broken CI build
move sdk version to a regular command
* chore: revert version changes
* refactor: move error handling code
* chore: bump SDK to 0.2.0.main-1
* fix: clean up references to inputs.sdk_commit
* refactor: rename `init` to `applyVersionToWindow`
* revert passphrase minimum
* add recommendation text to browser refresh; hide hint text when value exceeds recommendation
* migrate validators to generator configuration
* [CL-245] Update palette to new light and dark theme colors (#8633)
* [CL-245] Add new color swatches to storybook (#8697)
* [CL-238] update typography (#8997)
* [CL-230] [CL-296] Update button styles (#9345)
* [CL-237] Update menu styles for extension refresh (#9525)
* [CL-267] Add 100-level color variants and update primary-600 (#9550)
* [CL-286] Update badge to use focus-visible instead of focus (#9551)
* [CL-250] Update badge styles for extension refresh (#9572)
* [CL-234] callout style refresh (#9920)
* [CL-233] Update form field styles (#9776)
* [CL-239][CL-251][CL-342] dialog style refresh (#10096)
* [CL-239] simple dialog style refresh
* [CL-342] fix text overflow in dialog; add story
* [CL-244] readonly fields (#10164)
* [CL-352] Fix Angular errors related to form element changes (#10211)
* [CL-273] Update styles for checkbox and form control (#10146)
* [CL-274] Update styling for radio button (#10333)
* [CL-338] Remove extra space in item content when end slot is empty (#10350)
* [CL-377] Fix extension style conflict for input background (#10351)
* [CL-271] Update styles for toggle (#10377)
* [CL-381] Update spacing around form elements (#10432)
* [CL-229] Update icon button styles (#10405)
* [CL-380] Remove hover state from disabled form fields (#10639)
* [CL-405] Allow toggle group input to be full width (#10658)
* [CL-389] Exclude end slot label content from truncation (#10508)
* [CL-383] Remove manual focus when password toggle is clicked (#10749)
* [CL-278][CL-391] misc bit-item style fixes (#10758)
* [CL-391] use pointer cursor on hover when link or button
* [CL-210] Change base font size from 14px to 16px (#10779)
* [CL-291] Finalize styling for chip select (#10771)
* [CL-257] update banner component styles (#10766)
* [CL-443] Fix sizing issues (#10893)
* [CL-445] Fix small sizing and spacing issues (#10962)
* [CL-382] Reduce element shifting on readonly hover (#10956)
* [CL-396] Update theme colors to new hexes (#10968)
* [CL-395] Remove text headers color (#10997)
* [CL-404] Switch to primary-600 for all focus indicators (#11015)
* [CL-397] Remove primary-500 (#11036)
* [CL-447] Ensure DM Sans displays correctly at all font weights (#11041)
* [CL-448] Scrollbar Styles (#11111)
* CL-252/update toast (#10996)
* [CL-275] Update link styles (#11174)
* [CL-446] Update hover state for unselected chip selects (#11172)
* [CL-454] Improve color a11y for toast and banner interactive elements (#11200)
* [CL-457] Center input text for select and multiselect (#11239)
* [CL-455] Do not use responsive margin for sections in dialogs or extension (#11243)
* [CL-459] Fix chip behavior when opening menu while item is selected (#11227)
* [CL-388] Update vertical nav colors for new palette (#11226)
* scope styled scrollbar to only select elements (#11247)
* edit radio buttons to be block inputs and update spacing (#11291)
* [CL-453] Fix multiselect chip spacing and truncation (#11300)
* [PM-11131] Prevent duplicated sr labels on form field icon buttons (#11383)
* [CL-303] Prevent chip menu from running offscreen (#11348)
* [CL-476] Fix DM Sans font on Windows (#11409)
* implements scrollbar styles for firefox/chrome and safari (#11447)
* [CL-472] Fix search background color in extension (#11466)
* [CL-481] Style updates for bit-item, bit-card, and primary-100 (#11473)
* [CL-478] Remove underline on hover for most components (#11477)
* [CL-477] Remove focus styles for readonly input (#11510)
* [CL-487] Fix vault items virtual scroll height (#11581)
* [PM-8625] Increase popup width (#11686)
* [CL-494] Wrap long words in toggle group (#11659)
* [CL-13820] Add class to remove link underline (#11762)
* [CL-435] Prevent Windows extension from shifting (#11851)
* [CL-503] Add notification color variables (#11802)
* [PM-14043] Update size of toggle group label to fit more content (#11881)
* [CL-498] Set chip menu width minimum to chip select width (#11905)
---------
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Merissa Weinstein <merissa.k.weinstein@gmail.com>
Co-authored-by: Danielle Flinn <43477473+danielleflinn@users.noreply.github.com>
* Refactor organization user API service to support bulk deletion of users
* Add copy for bulk user delete dialog
* Add bulk user delete dialog component
* Add bulk user delete functionality to members component
* Refactor members component to only display bulk user deletion option if the Account Deprovisioning flag is enabled
* Patch build process
* Revert "Patch build process"
This reverts commit 917c969f00.
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* Renamed group service to group api service
* Updating models in various components.
* Updating internal service name. clean up.
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
* Initial comment
* Add changes for the create org with payment method
* Add the secrets manager trail flow
* Add the banners
* Add changes for the Disabled Org
* Add banner to payment method page
* Refactoring changes
* Resolve the bug on tha payment method
* Resolve lint error
* Resolve Pr comments
* resolve the lint issue
* Resolve the lint wrong file issue
* Rename object properly
* Resolve pr comments from sm team
* Resolve the pr comments from sm team
* Fix the failing test
* Resolve some issue with vault
* Resolve the comments from sm team
* Resolve some pr comments from vault team
* Resolve pr comments from auth team
* Exported ValidOrgParams enum
* Removed unnecessary interpolation
* Corrected bit-banner id for trial
* Resolve pr comments from auth team
* Resolve pr comments from auth team
* Removed unnecessary method
* Made OrganizationCreateRequest a subtype of OrganizationNoPaymentMethodCreateRequest
* Resolve review changes from sm
* Resolve review changes from dm
* Resolve the pr comments from billing
* move the free-trial to core
* Move free-trial change to right file
* Revert changes on the free trial page
* Resolve the comment on protected trial page
* Resolve the comment on protected trial page
* Revert the next async change
* resolve pr comment fro vault team
* resolve the default message comments
* remove unused method
* resolve email sending issue
* Fix the pop issue on payment method
* Fix some console errors
* Fix the pop refresh page
* move the trial services to billing folder
* resolve pr comments
* Resolve the import issues
* Move the observable up
* Resolve blank payment method for trialing org
* Changes to disable icon is removed onsubmit
* Remove unused references
* add a missing a period at the end of it
* resolve the reload issue
* Resolve the disable icon issue
* Fix the admin access bug
* Resolve the lint issue
* Fix the message incorrect format
* Formatting fixed
* Resolve the access issue of other users role
* Hide 'remove' option for organization managed members
* Refactor member component to conditionally show remove and delete buttons based on account deprovisioning feature flag
* Refactor member dialog component to conditionally show remove and delete buttons based on account deprovisioning feature flag
* Refactor member dialog and members components to simplify conditional rendering of remove and delete buttons based on account deprovisioning feature flag
* rename acess intelligence to risk insights
* keep branch name
* replace all instances of AccessIntelligence. strip raw data + members to just the table
* revert change to feature flag name
* add feature flag for critical apps
* change flag name
* Update libs/common/src/enums/feature-flag.enum.ts
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* allow admin console to see all collections when viewing a cipher
- When "manage all" option is selected all collections should be editable
* update cipher form service to use admin endpoints
* when saving a cipher, choose to move to collections first before saving any other edits
- This handles the case where a cipher is moving from unassigned to assigned and needs to have a collection to save any other edits
* set admin flag when the original cipher has zero collections
- handling the case where the user un-assigns themselves from a cipher
* add check for the users ability to edit items within the collection
* save cipher edit first to handle when the user unassigns themselves from the cipher
* update filter order of collections
* use cipher returned from the collections endpoint rather than re-fetching it
* fix unit tests by adding canEditItems
* re-enable collection control when orgId is present
* fetch the updated cipher from the respective service for editing a cipher
* Added sorting to vault, name, permission and group
Added default sorting
* Fixed import
* reverted test on template
* Only add sorting functionality to admin console
* changed code order
* Fixed leftover test for sortingn
* Fixed reference
* sort permissions by ascending order
* Fixed bug where a collection had multiple groups and sorting alphbatically didn't happen correctly all the time
* Fixed bug whne creating a new cipher item
* Introduced fnFactory to create a sort function with direction provided
* Used new sort function to make collections always remain at the top and ciphers below
* extracted logic to always sort collections at the top
Added similar sorting to sortBygroup
* removed org vault check
* remove unused service
* Sort only collections
* Got rid of sortFn factory in favour of passing the direction as an optional parameter
* Removed tenary
* get cipher permissions
* Use all collections to filter collection ids
* Fixed ascending and descending issues
* Added functionality to default sort in descending order
* default sort permissions in descending order
* Refactored setActive to not pass direction as a paramater
* rename acess intelligence to risk insights
* keep branch name
* replace all instances of AccessIntelligence. strip raw data + members to just the table
* revert change to feature flag name
* Update AccountService to include a method for setting the managedByOrganizationId
* Update AccountComponent to conditionally show the purgeVault button based on a feature flag and if the user is managed by an organization
* Add missing method to FakeAccountService
* Remove the setAccountManagedByOrganizationId method from the AccountService abstract class.
* Refactor AccountComponent to use OrganizationService to check for managing organization
* Rename managesActiveUser to userIsManagedByOrganization
* Hide the change email section if the user is managed by an organization
* Refactor userIsManagedByOrganization property to be non-nullable in organization data and response models
* Refactor organization.data.spec.ts to include non-nullable userIsManagedByOrganization property
* Refactor account component to conditionally show delete account button based on user's organization management status
* Add showDeleteAccount$ observable to AccountComponent
* Add managedByOrganization property to OrganizationUserUserDetailsResponse and OrganizationUserView
* Add managedByOrganization property to OrganizationUserDetailsResponse and OrganizationUserAdminView
* Add deleteOrganizationUser method to OrganizationUserApiService
* Add copy strings for organization user delete dialog
* Add copy string for organization user deleted toast
* Add delete organization user dialog component
* Add the option to delete managed organization users from the members list
* Refactor delete user confirmation dialog in MembersComponent to use DialogService
* Delete DeleteOrganizationUserDialogComponent
* Refactor delete button in member dialog component to change the icon and tooltip text to 'Remove'
* Add delete button to members dialog if the user is managed by the organization
* Revert "remove logic for personal ownership, not needed in AC"
This reverts commit f04fef59f4.
* allow for ownership to be controlled from the admin console when cloning a cipher