* add branching logic for alternative card expiration autofill strategy
* simplify logic and fix some pattern-matching bugs
* add EnableNewCardCombinedExpiryAutofill feature flag
* update default format for card expiry date and update tests
* review reccs
* (No Logic) Fix typo in billing-api-service.abstraction file name
* (Cleanup) Remove payment method components and API methods from provider portal
Product team decided not to have a payment method page in the provider portal for consolidated billing. This just removes all the unused components and API methods.
* Add organization endpoints to support new payment method behavior
* Add payment-v2.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* (No Logic) Move existing payment.component into new payment component folder
* Add verify-bank-account.component
This component existed in the libs folder because we used it for the provider portal, but since we've removed payment functionality from the provider portal, I moved it into web in this commit.
* Add adjust-payment-dialog-v2.component
* (No Logic) Move existing adjust-payment-dialog.component into new adjust-payment-dialog component folder
* Add organization-payment-method.component
* Add feature flag: AC-2476-deprecate-stripe-sources-api
* Pivot organization payment method route on new feature flag
* Fix broken test
* [PM-10669] Notification bar appears inconsistently after login
* [PM-10669] Notification bar appears inconsistently after login
* [PM-10669] Migrating work from POC branch into feature branch
* [PM-10669] Incorporating styles for select element
* [PM-10669] Incorporating styles for select element
* [PM-10669] Fixing notification bar lifespan const
* [PM-10669] Incorporating logic that conditionally loads specific bootstrap autofill feature files
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating logic to more smoothly handle transitioning between pages within the notification bar0
* [PM-10669] Incorporating a circle checkmark icon within the success message of the notification bar
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing an issue where the notification bar can potentially load in between loading states for a tab
* [PM-10669] Fixing how we handle keyup events on the submit button
* [PM-10669] Fixing how we handle keyup events on the submit button
* [PM-10669] Fixing jest tests within notification bar
* [PM-10669] Adding a jest tests to validate behavior within AutofillInit
* [PM-10669] Adding a jest tests to validate behavior within AutofillInit
* [PM-11170] Addressing test coverage within CollectAutofillContentService
* [PM-11170] Addressing test coverage within CollectAutofillContentService
* [PM-10669] Refactoring implementation
* [PM-10669] Adding documentation to the methods incorporated within the AutofillOverlayContentService
* [PM-10669] Incorporating jest tests for the AutofillOverlayContentService
* [PM-10669] Migrating logic associated with the DomQuerySevice away from the CollectAutofillContentService
* [PM-10669] Fixing required references to DomQueryService within the implementation
* [PM-10669] Holding off on re-incorporating the userTreeWalkerStrategyFlag
* [PM-10669] Incorporating jest tests for DomQueryService
* [PM-10669] Adding jest test to validate changes within AutofillService
* [PM-10669] Adding jest tests to validate changes within AutofillOverlayContentService
* [PM-10669] Adding documentation to the OverlayNotificationsBackground class
* [PM-10669] Adding documentation to the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Incorporating jest tests to validate the OverlayNotificationsBackground class
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Refactoring OverlayNotificationsContentService and incorporating logic that triggers a fade out of the notification bar on success of a saved password
* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService
* [PM-10669] Finalizing jest tests for OverlayNotificationsContentService
* [PM-10669] Adding new copy for the password saved/updated event in the notification bar
* [PM-10669] Fixing visual presentation of sucesss message
* [PM-10669] Fixing visual presentation of sucesss message
* [PM-10418] Incorporating fallback for when we cannot capture the form button effectively
* [PM-10669] Incorporating fixes for form submission button not being captured
* [PM-10669] Incorporating a guard to ensure that an AJAX submission captures form data after the user has entered their credentials
* [PM-10669] Incorporating a field qualification rule to ensure that we capture forms that are non-viewable on load
* [PM-10669] Incorporating a document readyState listener to ensure that we populate the notification bar once the document body is loaded
* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests
* [PM-10669] Incorporating a match pattern for subdomains of a main domain when filtering out web requests
* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson
* [PM-10669] Incorporating a redundant methodology to capture `GET` requests that trigger after a form submisson
* [PM-10669] Adding jest tests to validate changes within OverlayNotificationsBackground
* [PM-10669] Adjusting timeout for modified login credentials to ensure user can enter data on form
* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms
* [PM-10669] Refining how we handle re-capturing user credentails on before request to better handle multi-part forms
* [PM-10669] Adjusting jest tests to ensure code coverage
* [PM-10669] Fixing issues with Safari
* [PM-10669] Fixing an invalid qualification rule
* [PM-10669] Ensuring that we capture input changes correctly when a field is going from a hidden to non-hidden state
* [PM-10669] Fixing jest tests within overlay content service
* [PM-10669] Fixing jest tests within overlay content service
* [PM-10669] Adding a jest test to validate changes to overlay content service
Save the extension popup route history and restore it after closing and re-opening the popup.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* [PM-8841] Passkeys script injection breaks loading of specific websites that are expecting an empty DOM on init
* [PM-8841] Implementing feature flag to allow for dynamic registration of the delayed page-script-append mv2 script
* [PM-10420] Autofill focus jumps around after autofilling identity ciphers
* [PM-10420] Autofill focus jumps around after autofilling identity ciphers
* [PM-10420] Autofill focus jumps around after autofilling identity ciphers
* [PM-10420] Incorporating the feature flag within jest to test the validity of both implementations
* [PM-10420] Refactoring how we compile the combined list of keywords
* [PM-10420] Adding JSDocs to the implemented methods
* Add changes for the upgrade dialog
* Resolve the free org to any org type besides Families
* Resolve the pr comments on navigation
* resolve family plan upgrade from free
* alert server if device trust is lost
* add test
* add tests for extra errors
* fix build
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* Implement multi-worker encryption service
* Fix feature flag being flipped and check for empty input earlier
* Add tests
* Small cleanup
* Remove restricted import
* Rename feature flag
* Refactor to BulkEncryptService
* Rename feature flag
* Fix cipher service spec
* Implement browser bulk encryption service
* Un-deprecate browserbulkencryptservice
* Load browser bulk encrypt service on feature flag asynchronously
* Fix bulk encryption service factories
* Deprecate BrowserMultithreadEncryptServiceImplementation
* Copy tests for browser-bulk-encrypt-service-implementation from browser-multithread-encrypt-service-implementation
* Make sure desktop uses non-bulk fallback during feature rollout
* Rename FallbackBulkEncryptService and fix service dependency issue
* Disable bulk encrypt service on mv3
* Change condition order to avoid expensive api call
* Set default hardware concurrency to 1 if not available
* Make getdecrypteditemfromworker private
* Fix cli build
* Add check for key being null
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Finalization of Jest test for the implementation
* [PM-5189] Fixing existing jest tests before undergoing larger scale rework of tests
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Working through jest tests for OverlayBackground
* [PM-5189] Working through jest tests for OverlayBackground
* [PM-5189] Reworking how we handle updating ciphers on unlock and updating reference to auth status to use observable
* [PM-5189] Fixing issue with how we remove the inline menu when a field is populated
* [PM-5189] Fixing issue with programmatic redirection of the inlne menu
* [PM-5189] Fixing issue with programmatic redirection of the inlne menu
* [PM-5189] Adjusting how we handle fade out of the inline menu element
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Implementing jest tests for the OverlayBackground
* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built
* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built
* [PM-5189] Fixing a weird side issue that appears when a frame within the page triggers a reposition after the inline menu has been built
* [PM-8027] Fixing a typo
* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed
* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Adding jest tests for added methods in AutofillInit
* [PM-5189] Refactoring implementation
* [PM-5189] Implementing jest tests for the CollectAutofillContentService
* [PM-5189] Implementing jest tests for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for the AutofillOverlayContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuIframeServce
* [PM-5189] Fixing a typo
* [PM-5189] Fixing a typo
* [PM-5189] Correcting typing information
* [PM-5189] Fixing some typos
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation0
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Implementing jest tests for AutofillInlineMenuContentService
* [PM-5189] Fixing an issue found with iframe service
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Refactoring implementation
* [PM-5189] Removing TODO message
* [PM-5189] Increasing the time we delay the closure of the inline menu
* [PM-5189] Fixing an issue with how we handle closing the inline menu after a programmtic redirection
* [PM-5189] Removing unnecessary property
* [PM-5189] Removing unnecessary property
* [PM-5189] Fixing an issue with how scroll events trigger a reposition of the inline menu when the field is not focused;
* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets
* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets
* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets
* [PM-5189] Implementing a set threshold for the maximum depth for which we are willing to calculate sub frame offsets
* [PM-5189] Fixing jest tests
* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift
* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift
* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present
* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present
* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page
* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page
* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift
* [PM-5189] Implementing a methodology for triggering subframe updates from layout-shift
* [PM-8869] Autofill features broken on Safari
* [PM-8869] Autofill features broken on Safari
* [PM-5189] Working through subFrameRecalculation approach
* [PM-5189] Fixing an issue found within Safari
* [PM-8027] Reverting flag from a fallback flag to an enhancement feature flag
* [PM-8027] Fixing jest tests
* [PM-5189] Reworking how we handle updating ciphers within nested sub frames
* [PM-5189] Reworking how we handle updating ciphers within nested sub frames
* [PM-5189] Reworking how we handle updating ciphers within nested sub frames
* [PM-5189] Reworking how we handle updating ciphers within nested sub frames
* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned
* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned
* [PM-5189] Fixing issue found in Safari with how the inline menu is re-positioned
* [PM-5189] Fixing jest tests
* [PM-5189] Fixing jest tests
* [PM-5189] Refining how we handle fading in the inline menu elements
* [PM-5189] Refining how we handle fading in the inline menu elements
* [PM-5189] Refining how we handle fading in the inline menu elements
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Reworking how we handle updating the inline menu position
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* [PM-5189] Working through content script port improvement
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit 857008413f.
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit f219d71070.
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit f389263b64.
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit 8a48e576e1.
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit e30a1ebc5d.
* Revert "[PM-5189] Working through content script port improvement"
This reverts commit da357f46b3.
* [PM-5189] Reverting content script port rework
* [PM-5189] Fixing jest tests for AutofillOverlayContentService
* [PM-5189] Adding documentation for the AutofillOverlayContentService
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Throttling how often sub frame calculations can be triggered from the focus in listener
* [PM-5189] Finalizing jest tests for AutofillOverlayContentService
* [PM-5189] Finalizing jest tests for AutofillOverlayContentService
* [PM-5189] Finalizing jest tests for AutofillOverlayContentService
* [PM-5189] Removing custom debounce method that is unused
* [PM-5189] Removing custom debounce method that is unused
* [PM-2857] Reworking how we handle invalidating cache when a tab chagne has occurred
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Fixing issues found within code review behind how we position elements
* [PM-5189] Adding jest tests for OverlayBackground methods
* [PM-5189] Adding jest tests for OverlayContentService methods
* [PM-5189] Working through further issues on positioning of inline menu
* [PM-5189] Working through further issues on positioning of inline menu
* [PM-5189] Working through further issues on positioning of inline menu
* [PM-5189] Working through further issues on positioning of inline menu
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Working through jest tests for OverlayBackground and refining repositioning delays
* [PM-5189] Fixing an issue found when switching between open windows
* [PM-5189] Fixing an issue found when switching between open windows
* [PM-5189] Removing throttle from resize listeners within the content script
* [PM-5189] Removing throttle from resize listeners within the content script
* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame
* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame
* [PM-5189] Fixing issue within Safari relating to repositioning elements from outer frame
* [PM-5189] Adding some documentation and adjust jest test for util method
* [PM-5189] Reverting naming structure for OverlayBackground method
* [PM-5189] Fixing a missed promise reference within OverlayBackground
* [PM-5189] Removing throttle from resize listeners within the content script
* Revert "[PM-5189] Removing throttle from resize listeners within the content script"
This reverts commit 62cf0f8f24.
* [PM-5189] Re-adding throttle and reducing delay
* [PM-5189] Fixing an issue with onButton click settings not being respected when a reposition event occurs
* [PM-5189] Adding a missing test to OverlayBackground
* [PM-5189] Fixing an issue where we trigger a blur event when the inline menu is hovered, but the page takes focus away
* [PM-9342] Inline menu does not show on username field for a form that has a password field with an invalid autocomplete value
* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details
* [PM-9342] Incorporating logic to handle multiple autocomplete values within a captured set of page details
* [PM-9342] Changing logic for how we identify new password fields to reflect a more assertive qualification
* [PM-9342] Adding feedback from code review
* [PM-5189] Fixing an issue where the port key for an inline menu element could potentially be undefined if the window focus changes too quickly
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* [PM-9267] Implement feature flag for inline menu re-architecture (#9845)
* [PM-9267] Implement Feature Flag for Inline Menu Re-Architecture
* [PM-9267] Incorporating legacy OverlayBackground implementation
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Incorporating legacy overlay content scripts
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Finalizing feature flag implementation
* [PM-9267] Adjusting naming convention for page files
* [PM-9267] Adjusting naming convention for page files
* [PM-5189] Fixing an issue where we can potentially show the inline menu incorrectly after a user switches account
* PM-4950 - Fix hint and verify delete components that had the data in the wrong place (#9877)
* PM-4661: Add passkey.username as item.username (#9756)
* Add incoming passkey.username as item.username
* Driveby fix, was sending wrong username
* added username to new-cipher too
* Guarded the if-block
* Update apps/browser/src/vault/popup/components/vault/add-edit.component.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fixed broken test
* fixed username on existing ciphers
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-4878: Add passkey information to items when signing in (#9835)
* Added username to subtitle
* Added subName to cipher
* Moved subName to component
* Update apps/browser/src/vault/popup/components/fido2/fido2-cipher-row.component.ts
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* Fixed double code and added comment
* Added changeDetection: ChangeDetectionStrategy.OnPush as per review
---------
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
* [AC-2791] Members page - finish component library refactors (#9727)
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent
* [deps] Platform: Update angular-cli monorepo to v16.2.14 (#9380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-8789] Move desktop_native into subcrate (#9682)
* Move desktop_native into subcrate
* Add publish = false to crates
* [PM-6394] remove policy evaluator cache (#9807)
* [PM-9364] Copy for Aggregate auto-scaling invoices for Teams and Enterprise customers (#9875)
* Change the seat adjustment message
* Move changes from en_GB file to en file
* revert changes in en_GB file
* Add feature flag to the change
* use user verification as a part of key rotation (#9722)
* Add the ability for custom validation logic to be injected into `UserVerificationDialogComponent` (#8770)
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Restructure the `org-redirect` guard to be Angular 17+ compliant (#9552)
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* don't initialize kdf with validators, do it on first set (#9754)
* add testids for attachments (#9892)
* Bug fix - error toast in 2fa (#9623)
* Bug fix - error toast in 2fa
* Bug fix - Yubikey code obscured
* 2FA error fix
* Restructure the `is-paid-org` guard to be Angular 17+ compliant (#9598)
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Bumped client version(s) (#9895)
* [PM-9344] Clarify accepted user state (#9861)
* Prefer `Needs confirmation` to `Accepted` display status
This emphasizes that action is still required to complete setup.
* Remove unused message
* Bumped client version(s) (#9906)
* Revert "Bumped client version(s) (#9906)" (#9907)
This reverts commit 78c2829793.
* fix duo subscriptions and org vs individual duo setup (#9859)
* [PM-5024] Migrate tax-info component (#9872)
* Changes for the tax info migration
* Return for invalid formgroup
* Restructure the `org-permissions` guard to be Angular 17+ compliant (#9631)
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Restructure the `provider-permissions` guard to be Angular 17+ compliant (#9609)
* Document the `provider-permissions` guard in code
* Restructure the `provider-permissions` guard to be Angular 17+ compliant
* [deps] Platform: Update @types/argon2-browser to v1.18.4 (#8180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Bumped client version(s) (#9914)
* [PM-7162] Cipher Form - Item Details (#9758)
* [PM-7162] Fix weird angular error regarding disabled component bit-select
* [PM-7162] Introduce CipherFormConfigService and related types
* [PM-7162] Introduce CipherFormService
* [PM-7162] Introduce the Item Details section component and the CipherFormContainer interface
* [PM-7162] Introduce the CipherForm component
* [PM-7162] Add strongly typed QueryParams to the add-edit-v2.component
* [PM-7162] Export CipherForm from Vault Lib
* [PM-7162] Use the CipherForm in Browser AddEditV2
* [PM-7162] Introduce CipherForm storybook
* [PM-7162] Remove VaultPopupListFilterService dependency from NewItemDropDownV2 component
* [PM-7162] Add support for content projection of attachment button
* [PM-7162] Fix typo
* [PM-7162] Cipher form service cleanup
* [PM-7162] Move readonly collection notice to bit-hint
* [PM-7162] Refactor CipherFormConfig type to enforce required properties with Typescript
* [PM-7162] Fix storybook after config changes
* [PM-7162] Use new add-edit component for clone route
* [deps]: Update @yao-pkg/pkg to ^5.12.0 (#9820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Autosync the updated translations (#9922)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9923)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9924)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* [AC-2830] Unable to create a free organization (#9917)
* Resolve the issue free org creation
* Check that the taxForm is touched
* [PM-7162] Fix broken getter when original cipher is null (#9927)
* [PM-8525] Edit Card (#9901)
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* [PM-9440] Fix: handle undefined value in migration 66 (#9908)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* Rename "encryptionAlgorithm" to "hashAlgorithmForEncryption" for clarity (#9891)
* [PM-7972] Account switching integration with "remember email" functionality (#9750)
* add account switching logic to login email service
* enforce boolean and fix desktop account switcher order
* [PM-9442] Add tests for undefined state values and proper emulation of ElectronStorageService in tests (#9910)
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
* [AC-2805] Consolidated Billing UI Updates (#9893)
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* [PM-9460][deps] Tools: Update electron to v31 (#9921)
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-1452] Restrict access to 'Organization Info' and 'Two-Step Login' settings pages with a permission check (#9483)
* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [PM-9437] Use CollectionAccessDetailsResponse type now that is always the type returned from the API (#9951)
* Add required env variables to desktop native build script (#9869)
* [AC-2676] Remove paging logic from GroupsComponent (#9705)
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* [PM-9441] Catch and log exceptions during migration (#9905)
* feat: catch and log exceptions during migration
* Revert "feat: catch and log exceptions during migration"
This reverts commit d68733b7e5.
* feat: use log service to log migration errors
* Autosync the updated translations (#9972)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Autosync the updated translations (#9973)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
* Updated codeowners for new design system team (#9913)
* Updated codeowners for new design system team.
* Moved Angular and Bootstrap dependencies
* Moved additional dependencies.
* Updated ownership
Co-authored-by: Will Martin <contact@willmartian.com>
---------
Co-authored-by: Will Martin <contact@willmartian.com>
* [SM-1016] Fix new access token dialog (#9918)
* swap to bit-dialog title & subtitle
* remove dialogRef.disableClose & use toastService
* Add shared two-factor-options component (#9767)
* Communicate the upcoming client vault privacy changes to MSPs (#9994)
* Add a banner notification to the provider portal
* Feature flag the banner
* Move banner copy to messages.json
* Allow for dismissing the banner
* Auth/PM-7321 - Registration with Email Verification - Registration Finish Component Implementation (#9653)
* PM-7321 - Temp add input password
* PM-7321 - update input password based on latest PR changes to test.
* PM-7321 - Progress on testing input password component + RegistrationFinishComponent checks
* PM-7321 - more progress on registration finish.
* PM-7321 - Wire up RegistrationFinishRequest model + AccountApiService abstraction + implementation changes for new method.
* PM-7321 - WIP Registration Finish - wiring up request building and API call on submit.
* PM-7321 - WIP registratin finish
* PM-7321 - WIP on creating registration-finish service + web override to add org invite handling
* PM-7321 - (1) Move web-registration-finish svc to web (2) Wire up exports (3) wire up RegistrationFinishComponent to call registration finish service
* PM-7321 - Get CLI building
* PM-7321 - Move all finish registration service and content to registration-finish feature folder.
* PM-7321 - Fix RegistrationFinishService config
* PM-7321 - RegistrationFinishComponent- handlePasswordFormSubmit - error handling WIP
* PM-7321 - InputPasswordComp - Update to accept masterPasswordPolicyOptions as input instead of retrieving it as parent components in different scenarios will need to retrieve the policies differently (e.g., orgInvite token in registration vs direct call via org id post SSO on set password)
* PM-7321 - Registration Finish - Add web specific logic for retrieving master password policies and passing them into the input password component.
* PM-7321 - Registration Start - Send email via query param to registration finish page so it can create masterKey
* PM-7321 - InputPassword comp - (1) Add loading input (2) Add email validation to submit logic.
* PM-7321 - Registration Finish - Add submitting state and pass into input password so that the rest of the registration process keeps the child form disabled.
* PM-7321 - Registration Finish - use validation service for error handling.
* PM-7321 - All register routes must be dynamic and change if the feature flag changes.
* PM-7321 - Test registration finish services.
* PM-7321 - RegisterRouteService - Add comment documenting why the service exists.
* PM-7321 - Add missing input password translations to browser & desktop
* PM-7321 - WebRegistrationFinishSvc - apply PR feedback
* [deps] Autofill: Update rimraf to v5.0.8 (#10008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* [PM-9318] Fix username on protonpass import (#9889)
* Fix username field used for ProtonPass import
ProtonPass has changed their export format and userName is not itemEmail
* Import additional field itemUsername
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8943] Update QRious script initialization in Authenticator two-factor provider (#9926)
* create onload() for qrious as well as error messaging if QR code cannot be displayed
* button and message updates and formpromise removal
* load QR script async
* rename and reorder methods
* Delete Unused Bits of StateService (#9858)
* Delete Unused Bits of StateService
* Fix Tests
* remove getBgService for auth request service (#10020)
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Anders Åberg <anders@andersaberg.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: SmithThe4th <gsmith@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: vinith-kovan <156108204+vinith-kovan@users.noreply.github.com>
Co-authored-by: Bitwarden DevOps <106330231+bitwarden-devops-bot@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
Co-authored-by: Alex Morask <144709477+amorask-bitwarden@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Addison Beck <hello@addisonbeck.com>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Add provider portal members page behind a FF
* Fix reinvite issue
* Import scrolling module
* Add deprecations to old classes
* Move members.component init to constructor
* Rename new-base.people.component to base.members.component
* Hide bulk reinvite when no users can be re-invited on AC members page
* Rename events() to openEventsDialog()
* Fix return type for members component getUsers()
* Make table headers sortable
* Extract row height class to ts file
* Convert open methods to static methods for bulk dialogs
* Rename and refactor member-dialog.component
* Prevent event emission for searchControl and set filter in members component constructor
* use featureFlaggedRoute rather than using FF in components
* Add BaseBulkConfirmComponent for use in both web and bit-web
* Add BaseBulkRemoveComponent for use in both web and bit-web
* Thomas' feedback on base confirm/remove
* Remaining feedback
* 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
* added feature flag
* added new menu drop down and put behind feature flag
* added permanentlyDeleteSelected to the menu
* added permanentlyDeleteSelected to the menu
* wired up logic to show to hide menu drop down items
* modified the bulk collection assignment to work with end user vault
* wired up delete and move to folder
* merged bulk management actions header into old leveraging the feature flag
* added ability to move personal items to an organization and set active collection when user is on a collection
* made collection required by default
* handled organization cipher share when personal items and org items are selected
* moved logic to determine warning text to component class
* moved logic to determine warning text to component class
* Improved hide or show logic for menu
* added bullet point to bulk assignment dialog content
* changed description for move to folder
* Fixed issue were all collections are retrived instead of only can manage, and added logic to get collections associated with a cipher
* added inline assign to collections
* added logic to disable three dot to template
* Updated logic to retreive shared collection ids between ciphers
* Added logic to make attachment view only, show or hide
* Only show menu options when there are options available
* Comments cleanup
* update cipher row to disable menu instead of hide
* Put add to folder behind feature flag
* ensured old menu behaviour is shown when feature flag is turned off
* refactored code base on code review suggestions
* fixed bug with available collections
* Made assign to collections resuable
made pluralize a pipe instead
* Utilized the resuable assign to collections component on the web
* changed description message for collection assignment
* fixed bug with ExpressionChangedAfterItHasBeenCheckedError
* Added changedetectorref markForCheck
* removed redundant startwith as seed value has been added
* made code review suggestions
* fixed bug where assign to collections shows up in trash filter
* removed bitInput
* refactored based on code review comments
* added reference ticket
* [PM-9341] Cannot assign to collections when filtering by My Vault (#9862)
* Add checks for org id myvault
* made myvault id a constant
* show bulk move is set by individual vault and it is needed so assign to collections does not show up in trash filter (#9876)
* Fixed issue where selectedOrgId is null (#9879)
* Fix bug introduced with assigning items to a collection (#9897)
* [PM-9601] [PM-9602] When collection management setting is turned on view only collections and assign to collections menu option show up (#10047)
* Only show collections with edit access on individual vault
* remove unused arguments
* Add shared two-factor-options component
* Add new refactored two-factor-auth component and totp auth componnet behind feature flag
* Fix default value for twofactorcomponentrefactor featureflag
* remove infinite scroll, use virtual scroll instead
* use TableDataSource for search
* allow sorting by name
* replacing PlatformUtilsService.showToast with ToastService
* misc FIXMEs
* Added new report card and FeatureFlag for MemberAccessReport
* Add new "isEnterpriseOrgGuard"
* Add member access icon
* Show upgrade organization dialog for enterprise on member access report click
* verify member access featureflag on enterprise org guard
* add comment with TODO information for follow up task
* Improved readability, removed path to wrong component and refactored buildReports to use the productType
* added TODO to remove the feature flag on cleanup
* changing ProductType to ProductTierType on isEnterpriseOrgGuard
* [PM-8027] Inlin menu appears within input fields that do not relate to user login
* [PM-8027] Inlin menu appears within input fields that do not relate to user login
* [PM-8027] Inlin menu appears within input fields that do not relate to user login
* [PM-8027] Working through logic heuristics that will help us determine login form fields
* [PM-8027] Fixing jest test
* [PM-8027] Reworking inline menu to qualify and setup the listeners for each form field after page deatils have been collected
* [PM-8027] Cleaning up implementation details
* [PM-8027] Cleaning up implementation details
* [PM-8027] Cleaning up implementation details
* [PM-8027] Updating update of page details after mutation to act on an idle moment in the browser
* [PM-8027] Updating how we guard against excessive getPageDetails calls
* [PM-8027] Refining how we identify a username login form field
* [PM-8027] Refining how we identify a password login form field
* [PM-8027] Refining how we identify a username login form field
* [PM-8027] Fixing jest tests for the overlay
* [PM-8027] Fixing jest tests for the collectPageDetails method
* [PM-8027] Removing unnecessary code
* [PM-8027] Removing unnecessary code
* [PM-8027] Adding jest test to validate new behavior
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Working through jest tests for the InlineMenuFieldQualificationService
* [PM-8027] Finalization of Jest test for the implementation
* [PM-8027] Fixing a typo
* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed
* [PM-8027] Incorporating a feature flag to allow us to fallback to the basic inline menu fielld qualification method if needed
* [PM-8027] Fixing issue with username fields not qualifyng as a valid login field if a viewable password field is not present
* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page
* [PM-8027] Fixing an issue where a field that has no form and no visible password fields should be qualified if a single password field exists in the page
* [PM-8869] Autofill features broken on Safari
* [PM-8869] Autofill features broken on Safari
* [PM-5189] Fixing an issue found within Safari
* [PM-8027] Reverting flag from a fallback flag to an enhancement feature flag
* [PM-8027] Fixing jest tests
* PM-7324 - Register new registration start comp at signup route on web
* PM-7324 - Add registerSendVerificationEmail logic in API service layer.
* PM-7324 - Update registration start comp to actually send information to API and trigger email.
* PM-7324 - progress on opt in for marketing emails redesign.
* PM-7324 - Add feature flag and feature flag guard to sign up route.
* PM-7324 - RegistrationEnvSelector - emit initial value
* PM-7324 - Registration Start comp - wire up setReceiveMarketingEmailsByRegion logic.
* PM-7324 - Registration start html - use proper link for email pref management.
* PM-7324 - Translate text
* PM-7324 - Design pass
* PM-7324 - design pass v2
* PM-7324 - Update Tailwind config to add availability of anon layout to desktop and browser extension
* PM-7324 - Desktop - AppRoutingModule - Add new signup route protected by the email verification feature flag.
* PM-7324 - BrowserExtension - AppRoutingModule - Add signup route protected by feature flag
* PM-7324 - Feature flag all register page navigations to redirect users to the new signup page.
* PM-7324 - Update AnonLayoutWrapperComponent constructor logic to avoid passing undefined values into I18nService.t method
* PM-7324 - Accept org invite web comp - adjust register url and qParams
* PM-7324 - Add AnonLayoutWrapperData to desktop & browser since we don't need titleId.
* PM-7324 - Revert anon layout wrapper comp changes as they were made separately and merged to main.
* PM-7234 - Fix registration start component so the login route works for the browser extension.
* PM-7324 - Registration start story now building again + fix storybook warning around BrowserAnimationsModule
* PM-7324 - Registration Start - add missing tw-text-main to fix dark mode rendering.
* PM-7324 - Update storybook docs
* PM-7324 - Get stub of registration finish component so that the verify email has something to land on.
* PM-7324 - Registration start - receive marketing materials should never be required.
* PM-7324 - Add finish signup route + required translations to desktop & browser.
* PM-7324 - AnonLayoutWrapperComponent - Resolve issues where navigating to a sibling anonymous route wouldn't update the AnonLayoutWrapperData.
* PM-7324 - Remove unnecessary array
* PM-7324 - Per PR feedback, improve setReceiveMarketingEmailsByRegion
* PM-7324 - Per PR feedback, inject login routes via route data
* PM-7324 - Document methods in account api service
* PM-7324 - PR feedback - jsdoc tweaks