* [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
* send list items container
* update send list items container
* finalize send list container
* remove unecessary file
* undo change to config
* prefer use of takeUntilDestroyed
* add send items service
* and send list filters and service
* undo changes to jest config
* add specs for send list filters
* Revert "Merge branch 'PM-9853' into PM-9852"
This reverts commit 9f65ded13f, reversing
changes made to 63f95600e8.
* add send items service
* Revert "Revert "Merge branch 'PM-9853' into PM-9852""
This reverts commit 81e9860c25.
* finish send search
* fix formControlName
* add specs
* finalize send search
* layout and copy fixes
* cleanup
* Remove unneeded empty file
* Remove the erroneous addition of send-list-filters to vault-export tsconfig
* update tests
* hide send list filters for non-premium users
* fix and add specss
* Fix small typo
* Re-add missing tests
* Remove unused NgZone
* Rename selector for send-search
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
* Update unix biometrics for desktop biometrics rework
* Implement polkit policy setup
* Enable browser integration on Linux
* Remove polkit policy file
* Undo change to messages.json
* Fix biometrics setup, implement missing functions
* Implement osSupportsBiometrics
* Fix polkit settings message
* Remove unwraps in biometrics unix rust module
* Force password reprompt on start on linux with biometrics
* Merge branch 'main' into feature/unix-biometrics
* Allow browser extension to be unlocked on Linux via Polkit
* Implement availability check
* Cleanup
* Add auto-setup, manual setup, setup detection and change localized prompts
* Implement missing methods
* Add i18n to polkit message
* Implement missing method
* Small cleanup
* Update polkit consent message
* Fix unlock and print errors on failed biometrics
* Add dependencies to core crate
* Fix reference and update polkit policy
* Remove async-trait
* Add tsdoc
* Add comment about auto setup
* Delete unused init
* Update help link
* Remove additional settings for polkit
* Add availability-check to passwords implementation on linux
* Add availability test
* Add availability check to libsecret
* Expose availability check in napi crate
* Update d.ts
* Update osSupportsBiometric check to detect libsecret presence
* Improve secret service detection
* Add client half to Linux biometrics
* Fix windows build
* Remove unencrypted key handling for biometric key
* Move rng to rust, align linux bio implementation with windows
* Consolidate elevated commands into one
* Disable snap support in linux biometrics
---------
Co-authored-by: DigitallyRefined <129616584+DigitallyRefined@users.noreply.github.com>
* [PM-10554] Inline menu glitches on single form fields that are wrapped within inline menu
* [PM-10554] Adding jest tests to validate expected behavior
* [PM-10554] Adding jest tests to validate expected behavior
* [PM-10552] Vaules input between separate iframes are not populated in add-edit cipher popout
* [PM-10552] Working through issues found when attempting to add ciphers within iframes that trigger a blur event
* [PM-10552] Working through issues found when attempting to add ciphers within iframes that trigger a blur event
* [PM-10552] Fixing broken jest tests due to implementation changes
* [PM-10552] Implementing jest tests to validate behavior within OverlayBackground
* [PM-10554] Inline menu glitches on single form fields that are wrapped within inline menu
* [PM-10554] Adding jest tests to validate expected behavior
* [PM-10554] Adding jest tests to validate expected behavior
* [PM-10550] Card inline menu not displayed on popup payment form
* [PM-10550] Removing requirement for autocomplete to be "off" for identity fields when matching inline menu presentation
* [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
Enables one of the recommended rules of @angular-eslint. Since this rule was fairly trivial to fix and has no QA effects it seemed reasonable to migrate all code.
* only show account switching when enableAccountSwitching is true
* update the title of the account switcher component
* only show "Lock All" when more than one account is present
* implement account switching restrictions on non-extension refresh page
* Update i18n message strings from "auto-fill" to "autofill".
* Update tests, warnings and stories "auto-fill" to "autofill".
* Remove unnecessary new line removal.
* [PM-8524] Update appA11yTitle to keep attributes in sync after first render
* [PM-8524] Introduce UriOptionComponent
* [PM-9190] Introduce AutofillOptionsComponent
* [PM-9190] Add AutofillOptions to LoginDetailsSection
* [PM-9190] Add autofill options component unit tests
* [PM-9190] Add UriOptionComponent unit tests
* [PM-9190] Add missing translations
* [PM-9190] Add autofill on page load field
* [PM-9190] Ensure updatedCipherView is completely separate from originalCipherView
* [CL-348] Do not override items if there are no OptionComponents available
* [PM-9190] Mock AutoFillOptions component in Login Details tests
* [PM-9190] Cleanup storybook and missing web translations
* [PM-9190] Ensure storybook decryptCipher returns a separate object
* [BEEEP] Autofill Identity and Card Ciphers From Keyboard Shortcut
* [PM-10079] Add keyboard shortcut to autofill identity and credit card ciphers
* [PM-10079] Fixing jest tests
* [PM-10079] Added an enum for the autofill commands, and adjusted how we filter out cipher types before sorting them by last used when calling for ID and card ciphers
* [PM-10079] Updating copywriting for the autofill settings revolving around keyboard shortcuts
* [PM-10079] Setting a method within CipherService as private
* [PM-10138] Inline menu not properly validating as the top-most element within mutation observer
* [PM-10138] Identity inline menu appearing for invalid field types
* [PM-10138] Identity inline menu appearing for invalid field types
* [PM-10138] Fixing an issue present with references to card and identity ciphers
* [PM-10138] Fixing issues with initialization of the inline menu
* [PM-10138] Fixing issues with initialization of the inline menu
* [PM-10138] Removing inclusion of file protocol when injecting scripts
* make headings of v2 view component lowercase
* initial add of view identity sections
* adding identification fields
* add contact information section
* add copy ability to all identity fields
* add visibility toggle for passport and ssn
* add testids for all identity fields
* add test-ids to visibility toggles
* refactor visibility methods to be called in `ngOnInit` rather than on each render
* replace `disabled` with `readonly`
* Added translation keys
* created simple dialog
(cherry picked from commit c12257cf51ca5e0d773a160afb6860a8f5df66b7)
* added announcement svg
(cherry picked from commit 635103120b500103b93dc1a8cbefc34dd396445b)
* removed announcement svg, moved svg to component, refactored component
(cherry picked from commit 50db6aa40fd90d92afeeb60e919f98f268bd69b5)
* renamed state definition
(cherry picked from commit 4c3618c46ee5ffab7050fbc9f6d779ee59c0c26b)
* created vault ui onboarding service
(cherry picked from commit 19ba3c42656d4f891ba3635da06f3ff7656b6028)
* added vault ui dialog to vault component
(cherry picked from commit 56527c8e5eda7df2f222ceebdeba168e2f1ae278)
* moved updating the state to vault component
* updated the link and fixed minor issues
* moved onboarding logic from component to service and fixed review comments
* Rename <additional-information> component to <additional-options>
The Figma designs show and update to the Additional Information section. The heading changed to "Additional options". It probably makes sense to update the component name to match.
* Make view note header "note" lowercase.
* Add new translation messages for view header.
* Revert "Add new translation messages for view header."
This reverts commit 4e8877fe71.
* Make cipher headers lowercase via toLowerCase function
* Remove unused import.
* run npm ci && npm run prettier
* add back missing import
* [PM-9959] Expose Fido2SessionData interface
* [PM-9959] Ensure cipherType is passed during passkey creation
* [PM-9959] Add beforeSubmit hook to cipherForm
* [PM-9959] Add support for Fido2 credential creation in add-edit-v2
* [PM-9959] Ensure cipherType defaults to CipherType.Login if none is available
* [PM-9959] Add support for name and username to be passed in as query params for initial form values
* [PM-9962] Hide remove passkey button when cipher has "except passwords" permissions
* [PM-2857] Introducing logic that handles adding a credit card from the inline menu
* [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-2857] Fixing an issue with how we identify ciphers in the inline menu
* [PM-2857] Working through issues when adding a cipher from the inline menu for credit card ciphers
* [PM-2857] Working through issues when adding a cipher from the inline menu for credit card ciphers
* [PM-2857] Fixing an issue encountered with updating credit card info within the add/edit view
* [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-2857] Refactoring implementation for how we getCipherViews to ensure we only query card items when necessary
* [PM-2857] Refactoring implementation to simplify how we create cipherViews when adding a new item
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Finalizing jest tests
* [PM-2857] Finalizing jest tests
* [PM-2857] Adjusting an aspect of the inline menu icon
* [PM-2857] Adjusting aspect of inline menu field qualification
* [PM-2858] Inline menu identities autofill
* [PM-2857] Adjusting aspect of inline menu field qualification
* [PM-2858] Inline menu identities autofill
* [PM-2858] Incorporating logic required to selectively show and fill identity ciphers
* [PM-2858] Updating copy for unlock state to be generic
* [PM-2857] Updating copy for unlock state to be generic
* [PM-2857] Updating copy for unlock state to be generic
* [PM-2858] Updating copy for unlock state to be generic
* [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-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
* [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-2858] Fixing icon color
* [PM-2858] Adding subtitle for identity inline menu list items
* [PM-2858] Fixing jest tests
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through implementation of conditional identity fill logic on inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Working through identity field qualification for the inline menu
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Implementing add new identity
* [PM-2858] Implementing add new identity
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2858] Scaffolding add new identity logic
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2857] Setting up logic to ensrue we use a set email address as a fallback for a username
* [PM-2857] Fixing an issue with how we parse the last digits for credit card aria description
* [PM-2858] Reverting forced email address in inline menu identity autofill
* 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)
* [PM-2858] Fixing an issue found when the first or last names of an identity are not filled
* [PM-2858] Fixing an issue found where keyboard navigation can potentially close the inline menu
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Setting up login items to be presented when an account creation form is shown to the user
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation used for creating the inline menu cipher data
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Refactoring implementation
* [PM-2858] Changing how we populate login ciphers within create account
* [PM-2858] Adding documentation
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the OverlayBackground
* [PM-2858] Working through jest tests for the AutofillInlineMenuList class
* [PM-2858] Adding documentation to inline menu list methods
* [PM-2857] Fixing a jest test
* [PM-2858] Fixing jest tests within inline menu list
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within AutofillOverlayContentService
* [PM-2858] Addressing jest tests within InlineMenuFieldQualificationService
* [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>
* [PM-2858] Fixing an issue found where password fields addedin new account forms do not properly pull their value into the add cipher flow
* [PM-2858] Adjusting scrollbar stylings
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Adjusting how we handle instantiating the feature flag guarded overlay background and how we handle instantiating identities and card ciphers in the inline menu
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Incorporating some changes that ensure the inline menu list fades in as expected
* [PM-2858] Adjusting how we inject translations for a couple of aria label elements
* [PM-2858] Fixing duplicate globalThis references
---------
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>
* [PM-2857] Inline Menu Credit Card Autofill
* [PM-2857] Ensuring that we set up the fill of elements to work in an exclusive manner from other cipher types
* [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-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-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-2857] Fixing typing and jest issues
* [PM-2857] Inline Menu Credit Card Autofill
* [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-2857] Incorporating logic to present the inline menu credit card UI as designed
* [PM-2857] Refining card field qualification behavior
* [PM-2857] Incorporating differentiated copy when opening the inline menu on a field with no ciphers present
* [PM-2857] Introducing logic that handles adding a credit card from the inline menu
* [PM-5189] Fixing an issue where we trigger a blur event when the inline menu is hovered, but the page takes focus away
* [PM-9267] Adjusting naming convention for page files
* [PM-9267] Adjusting naming convention for page files
* [PM-9342] Inline menu does not show on username field for a form that has a password field with an invalid autocomplete value
* [PM-2857] Introducing logic that handles adding a credit card from the inline menu
* [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-2857] Fixing an issue with how we identify ciphers in the inline menu
* [PM-2857] Working through issues when adding a cipher from the inline menu for credit card ciphers
* [PM-2857] Working through issues when adding a cipher from the inline menu for credit card ciphers
* [PM-2857] Fixing an issue encountered with updating credit card info within the add/edit view
* [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-2857] Refactoring implementation for how we getCipherViews to ensure we only query card items when necessary
* [PM-2857] Refactoring implementation to simplify how we create cipherViews when adding a new item
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Finalizing implementation, writing jest tests, refactoring smaller elements
* [PM-2857] Fixing an issue with how we store identity and card cipher views
* [PM-2857] Finalizing jest tests
* [PM-2857] Finalizing jest tests
* [PM-2857] Adjusting an aspect of the inline menu icon
* [PM-2857] Adjusting aspect of inline menu field qualification
* [PM-2857] Adjusting aspect of inline menu field qualification
* [PM-2857] Updating copy for unlock state to be generic
* [PM-2857] Updating copy for unlock state to be generic
* [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-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
* [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-2857] Fixing an issue with how we parse the last digits for credit card aria description
* 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)
* [PM-2857] Fixing a jest test
* [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>
* setup SetPassword component
* accept query params
* add InputPasswordComponent to template
* add route
* add dynamic translation with org name
* feature flag route
* setup onInit
* add set password logic
* move to libs
* remove comments
* update AuthGuard routing
* use ToastService
* replace deprecated methods
* replace orgId input with policy input
* use getter for msg instead of ngOnInit
* cleanup
* refactor to use services
* more refactoring of service
* address browser routing and translations
* add desktop service
* simplify queryParam handler
* remove ngOnDestroy
* small edits
* use inject()
* add jsdocs
* create basic tests
* add success toasts on successfuly set password
* add tests
* update feature-flag
* move model to service
* refactor client services to override setPassword()
* add error handling to setPassword()
* move auto enroll logic to service
* update tests
* fix test
* adjust padding on password-callout list
* revert refactor of auto enroll logic
* refactor keyPair generation to own method
* update page title and button text
* update pageSubtitle and translations
* fix test
* add v2 autofill settings component
* add and update entries in message catalog for new autofill settings view
* add confirmation dialogs ahead of new tabs for browser settings from autofill settings
* fix autofill on page load warning styling and improper concatenation
* code cleanup
* 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>
* refactor "Assign collections" to "Assign to collections"
* show singular or plural version of collection assignment success message
* update singular and plural warning text
* refactor switch to be an `if`
* add "above-scroll-area" to popup page so that content can be excluded from the scroll area
* move filters and search above the scrollable area
* move bottom border to popup-page component
* fix duplicate scrollbar on popup page
* update padding to match popup header
* move all content of the popup page within the `main` element
* update documentation for `above-scroll-area` slot
* hide scrollable content when loading
* and send list filters and service
* undo changes to jest config
* add specs for send list filters
* send list items container
* update send list items container
* finalize send list container
* Revert "Merge branch 'PM-9853' into PM-9852"
This reverts commit 9f65ded13f, reversing
changes made to 63f95600e8.
* fix icons and class name
* fix names. add export
* add more coverage
* [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-8207] Implementing jest test for added functional element
* [PM-8207] Implementing jest test for added functional element
* [PM-8207] Implementing jest test for added functional element
* [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-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-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-9267] Adjusting naming convention for page files
* [PM-9267] Adjusting naming convention for page files
* [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-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
* [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
* 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)
* [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>
* Define matchers to test promise fulfillment
These are useful for validating that promises depend on other events prior to fulfilling.
* Expose custom matchers to jest projects
Team-specific projects are not touched here to try and reduce review burden.
* Block browser local operations awaiting reseed
This should closes a narrow race condition resulting from storage operations during a reseed event.
* Import from barrel file
This might fix the failing test, but I'm not sure _why_
* Document helper methods
* Validate as few properties as possible per test
* Simplify expected value representation
* Allow waiting in promise matchers
* Specify resolution times in promise orchestration tests.
* Test behavior triggering multiple reseeds.
* Fix typo
* Avoid testing implementation details
* Clear reseed on startup
in case a previous process was aborted in the middle of a reseed.
* Correct formatting
* Move SendV2component into send-v2 subFolder
* Create SendFormContainer and related services
* Add initial SendFormComponent which uses the SendFormContainer
* Remove AdditionalOptionsSectionComponent which will be added with a future PR
* Add libs/tools/send to root tsconfig
* Register libs/tools/send/send-ui with root jest.config.js
* Register libs/tools/send/send-ui with root tailwind.config.js
* Fix service injection on DefaultSendFormService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add shared duo component
* Fix duo import
* Fix wrong i18n service DI in duo desktop component
* Remove duo v2
* Add override to functions
* Remove web duo implementation
* Update apps/browser/src/auth/popup/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Update apps/desktop/src/auth/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Update libs/angular/src/auth/components/two-factor-auth/two-factor-auth-duo.component.ts
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* Fix missing service on duo components
* Fix missing service on base duo auth component
* Fix constructor super calls in duo auth component
* Fix duo auth components incorrectly extending base class
---------
Co-authored-by: Ike <137194738+ike-kottlowski@users.noreply.github.com>
* PM-6198 - Majority of client work done; WIP on registration finish comp
* PM-6198 - Registration Finish - Add registerVerificationEmailClicked logic
* PM-6198 - RegistrationLinkExpired component; added translations on other clients just in case we use the component on other clients in the future.
* PM-6198 - Clean up comment
* initial add of assign collections component
* grab cipherId from query params
* add organization selection for moving a cipher
* add multi-select for collections
* add transfer of cipher to an organization
* temp: do not show assign collections while a cipher already has an organization
* account for initial collections for a cipher
* block assign-collections route with feature flag
* replace hardcoded string with i18n
* separate out async calls to switchMap to avoid async subscribe
* use local cipher rather than decrypting again
* use anchor for better semantics
* migrate form submission to bitSubmit directive
* swap to "assign" rather than "save"
* integrate with base AssignCollections component
* clean up messages file
* remove unneeded takeUntilDestroyed
* remove unneeded bitFormButton
* remove unused translations
* lint fix
* refactor assign-collections component to take in a button reference
- This allows consuming components to not have to worry about loading/disabled states
- The base AssignCollections component will change the submit button when supplied
* 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
* initial add of custom fields
* add fields for custom field
* integrate custom field into cipher form service for text fields
* add hidden field type
* add boolean custom field
* add linked option type
* add testids for automated testing
* add edit option for each custom field
* update dialog component name to match add/edit nature
* add delete button for fields
* initial add of drag and drop
* collect tailwind styles from vault components
* add drag and drop functionality with announcement
* add reorder via keyboard
* update tests to match functionality
* account for partial edit of custom fields
* fix change detection for new fields
* add label's to the edit/reorder translations
* update dynamic heading to be inline
* add validation/required for field label
* disable toggle button on hidden fields when the user cannot view passwords
* remove the need for passing `updatedCipherView` by only using a single instance of `CustomFieldsComponent`
* lint fix
* use bitLink styles rather than manually defining tailwind classes
* use submit action, no duplicated button and allows for form submission via enter
* add documentation for `newField`
* Initial draft
* small cleanup
* show vaul items without passkeys
* Refactored a bit
* tests run for me?
* Fixed platform test
* null and undefined
* lint
* [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>
* [PM-6426] Create TaskSchedulerService and update usage of long lived timeouts
* [PM-6426] Implementing nextSync timeout using TaskScheduler
* [PM-6426] Implementing systemClearClipboard using TaskScheduler
* [PM-6426] Fixing race condition with setting/unsetting active alarms
* [PM-6426] Implementing clear clipboard call on generatePasswordToClipboard with the TaskSchedulerService
* [PM-6426] Implementing abortTimeout for Fido2ClientService using TaskSchedulerService
* [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService
* [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService
* [PM-6426] Implementing sessionTimeout for LoginStrategyService using TaskSchedulerService
* [PM-6426] Implementing eventUploadInterval using TaskScheduler
* [PM-6426] Adding jest tests for the base TaskSchedulerService class
* [PM-6426] Updating jest tests for GeneratePasswordToClipboardCommand
* [PM-6426] Setting up the full sync process as an interval rather than a timeout
* [PM-6426] Renaming the scheduleNextSync alarm name
* [PM-6426] Fixing dependency references in services.module.ts
* [PM-6426] Adding jest tests for added BrowserApi methods
* [PM-6426] Refactoring small detail for how we identify the clear clipboard timeout in SystemService
* [PM-6426] Ensuring that we await clearing an established scheduled task for the notification service
* [PM-6426] Changing the name of the state definition for the TaskScheduler
* [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService
* [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService
* [PM-6426] Adding jest tests for the base TaskSchedulerService class
* [PM-6426] Finalizing jest tests for BrowserTaskScheduler class
* [PM-6426] Finalizing documentation on BrowserTaskSchedulerService
* [PM-6426] Fixing jest test for LoginStrategyService
* [PM-6426] Implementing compatibility for the browser.alarms api
* [PM-6426] Fixing how we check for the browser alarms api
* [PM-6426] Adding jest tests to the BrowserApi implementation
* [PM-6426] Aligning the implementation with our code guidelines for Angular components
* [PM-6426] Fixing jest tests and lint errors
* [PM-6426] Moving alarms api calls out of BrowserApi and structuring them within the BrowserTaskSchedulerService
* [PM-6426] Reworking implementation to register handlers separately from the call to those handlers
* [PM-6426] Adjusting how we register the fullSync scheduled task
* [PM-6426] Implementing approach for incorporating the user UUID when setting task handlers
* [PM-6426] Attempting to re-work implementation to facilitate userId-spcific alarms
* [PM-6426] Refactoring smaller details of the implementation
* [PM-6426] Working through the details of the implementation and setting up final refinments
* [PM-6426] Fixing some issues surrounding duplicate alarms triggering
* [PM-6426] Adjusting name for generate password to clipboard command task name
* [PM-6426] Fixing generate password to clipboard command jest tests
* [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback
* [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback
* [PM-6426] Implementing methodology for having a fallback to setTimeout if the browser context is lost in some manner
* [PM-6426] Working through jest tests
* [PM-6426] Working through jest tests
* [PM-6426] Working through jest tests
* [PM-6426] Working through jest tests
* [PM-6426] Finalizing stepped setInterval implementation
* [PM-6426] Implementing Jest tests for DefaultTaskSchedulerService
* [PM-6426] Adjusting jest tests
* [PM-6426] Adjusting jest tests
* [PM-6426] Adjusting jest tests
* [PM-6426] Fixing issues identified in code review
* [PM-6426] Fixing issues identified in code review
* [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals
* [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals
* [PM-6426] Fixing issue with typing information on a test
* [PM-6426] Using the getUpperBoundDelayInMinutes method to handle setting stepped alarms and setTimeout fallbacks
* [PM-6426] Removing the potential for the TaskScheduler to be optional
* [PM-6426] Reworking implementation to leverage subscription based deregistration of alarms
* [PM-6426] Fixing jest tests
* [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks
* [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks
* [PM-6426] Merging main into branch
* [PM-6426] Fixing issues with the CLI Service Container implementation
* [PM-6426] Reworking swallowed promises to contain a catch statement allow us to debug potential issues with registrations of alarms
* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService
* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService
* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService
* [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService
* [PM-6426] Adjusting implementation based on code review feedback
* [PM-6426] Reworking file structure
* [PM-6426] Reworking file structure
* [PM-6426] Adding comments to provide clarity on how the login strategy cache experiation state is used
* [PM-6426] Catching and logging erorrs that appear from methods that return a promise within VaultTimeoutService
* Check that user is authed before getting user config
* Accept PR Suggestion
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* Use Strict Equal
---------
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
* Prevent account switching race condition on desktop
This enables us to allow background thread / multithread bulk decryption on desktop.
* Disable account switcher component during switching
* 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
* 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
* 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
* 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
* [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
* Move vault-timeout-input to @bitwarden/auth/angular
Move vault-timeout-input.component.ts to @bitwarden/auth/angular/vault-timeout-input
Expose via barrel file
Fix imports on clients
* Add dependencies to package.json
Not necessary right now, but good practice for once we move to building each package independently
* Make VaultTimeoutInputComponent a standalone component
* Update selector to present team ownership
* Use new standalone on web
Move vault-timeout-input.component.html to @bitwarden/auth/angular/vault-timeout-input/
Delete old vault-timeout-input.component on web
Register new component on loose-components-module
Update used selector in preferences.component
* Remove unneeded export of VaultTimeoutInputComponent
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8486] Introduce VaultPopupAutofill service
* [PM-8486] Remove moved autofill functionality from VaultPopupItem service
* [PM-8486] Add autofill functionality to button and menu options
* [PM-8486] Hide Autofill and Save option for Cards/Identities
* [PM-8486] Reduce nesting in closePopup
* [PM-8486] Breakup doAutofillAndSave method
* [PM-8486] Start subscription in autofill service constructor
* [PM-8486] Cleanup missed calls to removed methods
* add v2 attachments page
* add add attachment fields
* add file upload UI
* move cipher-attachments to a new component
* load cipher and add initial submit
* add list of existing attachments
* fix incorrect toast usage
* integrate with bit submit states
* add new max file translation without the period
* refactor attachments v2 component
* remove default list styles
* add tests for attachments components
* use `CipherId` type
* pass submit button reference to the underlying form
* remove bitFormButton
* [PM-7897] Attachments Part 2 (#9755)
* make `isNew` param optional
* emit success output after upload
* navigate the user to the edit screen after an upload
* allow for the deletion of an attachment
* add download attachment component to attachments view
* implement base attachment link
* add premium redirect
* show specific error message for free organizations
* make open-attachments a button so it is keyboard accessible
* fix lint error
* use bitItem
* using bitAction rather than standalone loading/deleting value
* remove extra title, unneeded because of the appA11yTitle usage
* use `replaceUrl` to avoid the back button going to the attachments page
* use bit-item for consistency
* show error when a user tries to open an attachment that is a part of a free org
* add `CipherId` type for failed builds
* Initial checking of collect many
* should update to better handle parameters
* cleaning up event collection params
* Adding documentation
* Removing commented out code saved for testing
* Adding pr changes and using the account service for event collection user id
* browser main.background event collection service needed the account service
* Add export-web.component
Introduce new export-web component
Delete old component
export.module - With export-web being standalone there's no need for a importModule
Change routing to load new component
* Prepare export.component to receive a orgId via the hosting-component
* Remove unused onSaved as it's replaced by onSuccessfulExport
* Refactor org-vault-export.component
Introduce new org-vault-export.component.html as the old component relied on the markup from password manager
Refactor org-vault-export.component
Retrieve organizationId from Route and pass it into the shared export.component
Ensure when exporting from AC to include all data from the selected org
org-vault-export.module - With the new component being standalone there's no need for a importModule
Change routing to load new org-vault-export component
* PM-8641 - Add success toast to base-export component
This ensures a success toast is shown on all clients consistently
Add missing entries into clients messages.json
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Removed - button on passkeys and uris when user has view only access, disabled cog button and made input fields on uris readonly when user has view only access
(cherry picked from commit 077edd77c1)
* switched to use viewonly to hide remove button
(cherry picked from commit dbd854494f)
* Migrate all tools owned toasts to use CL ToastService instead of PlatformUtilsService
* Fix test that was missing a mock
* Fix double checking file and file-content selection
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* turn on enableCipherKeyEncryption flag
* turn enableCipherKeyEncryption flag on in desktop config
---------
Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com>
* setup for InputPasswordComponent and basic story
* add all input fields
* add translated error messages
* update validation
* add password-callout
* update hint text
* use PolicyService in component
* setup SetPasswordComponent
* remove div
* add default button text
* add mocks for InputPassword storybook
* simplify ngOnInit
* change param and use PolicyApiService
* check for breaches and validate against policy
* user toastService
* use useValue for mocks
* hash before emitting
* validation cleanup and use PreloadedEnglishI18nModule
* add ngOnDestroy
* create validateFormInputsDoNotMatch fn
* update validateFormInputsComparison and add deprecation jsdocs
* rename validator fn
* fix bugs in validation fn
* cleanup and re-introduce services/logic
* toggle password inputs together
* update hint help text
* remove SetPassword test
* remove master key creation / hashing
* add translations to browser/desktop
* mock basic password-strength functionality
* add check for controls
* hash before emitting
* type the EventEmitter
* use DEFAULT_KDF_CONFIG
* emit master key
* clarify comment
* update password mininum help text to match org policy requirement
* [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
* [PM-8639] Add data-testid attribute for test automation
* [PM-8669] Add autofill aria label
* [PM-8674] Show autofill menu options for card/identities when not in the autofill suggestion list
* [PM-8635] Hide menu items when copy cipher field directive is disabled
* [PM-8636] Disable copy menu dropdown when no items available to copy
* [CL-309] Add title override to bitBadge
* [PM-8669] Update menu-item directive disabled input
* [PM-7683] Fix race condition for remainingCiphers$
* [PM-7683] Use strict equality check
* [PM-8518] Autofill scripts do not inject into sub-frames on install
* [PM-8518] Implementing jest tests for added BrowserApi methods
* [PM-8518] Adding generic typing to tabSendMessage call
* Working through a POC of a collectPageDetails observable
* Implementing collect page details observable
* [PM-8510] Implement collectPageDetails observable
* [PM-8510] Adding documentation to newly created collectPageDetailsFromTab method
* [PM-8510] Removing unnecessary file
* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method
* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method
* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method
* [PM-8510] Implementing Jest tests for the collectPageDetailsFromTab$ method
* [PM-8510] Removing unnecessary property
* [PM-8510] Adding subscription reference to current tab component
* [PM-8510] Fixing jest tests
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Create export-browser-v2 component
Copy existing `export-browser`-component
Add `popup-page` and -`header` and -`footer`
Add missing imports as page is marked as standalone
Route to new page when feature flag enabled
* Remove duplicate verifyUser methods
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-7683] Add fullAddressForCopy helper to identity.view
* [PM-7683] Introduce CopyCipherFieldService to the Vault library
- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService
* [PM-7683] Introduce item-copy-actions.component
* [PM-7683] Fix username value in copy cipher directive
* [PM-7683] Add title to View item link
* [PM-8456] Introduce initial item-more-options.component
* [PM-8456] Add logic to show/hide login menu options
* [PM-8456] Implement favorite/unfavorite menu option
* [PM-8456] Implement clone menu option
* [PM-8456] Hide launch website instead of disabling it
* [PM-8456] Ensure cipherList observable updates on cipher changes
* [PM-7683] Move disabled logic into own method
* [PM-8456] Cleanup spec file to use Angular testbed
* [PM-8456] Fix more options tooltip
* [PM-8485] Introduce new PopupCipherView
* [PM-8485] Use new PopupCipherView in items service
* [PM-8485] Add org icon for items that belong to an organization
* [PM-8485] Fix tests
* [PM-8485] Remove share operator from cipherViews$
* [PM-7683] Add fullAddressForCopy helper to identity.view
* [PM-7683] Introduce CopyCipherFieldService to the Vault library
- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService
* [PM-7683] Introduce item-copy-actions.component
* [PM-7683] Fix username value in copy cipher directive
* [PM-7683] Add title to View item link
* [PM-8456] Introduce initial item-more-options.component
* [PM-8456] Add logic to show/hide login menu options
* [PM-8456] Implement favorite/unfavorite menu option
* [PM-8456] Implement clone menu option
* [PM-8456] Hide launch website instead of disabling it
* [PM-8456] Ensure cipherList observable updates on cipher changes
* [PM-7683] Move disabled logic into own method
* [PM-8456] Cleanup spec file to use Angular testbed
* [PM-8456] Fix more options tooltip
* [PM-7683] Add fullAddressForCopy helper to identity.view
* [PM-7683] Introduce CopyCipherFieldService to the Vault library
- A new CopyCipherFieldService that can be used to copy a cipher's field to the user clipboard
- A new appCopyField directive to make it easy to copy a cipher's fields in templates
- Tests for the CopyCipherFieldService
* [PM-7683] Introduce item-copy-actions.component
* [PM-7683] Fix username value in copy cipher directive
* [PM-7683] Add title to View item link
* [PM-7683] Move disabled logic into own method
* PM-8367 - WIP - initial comp creation
* PM-8367 - Majority of new registration self hosted env config dialog working
* PM-8367 - RegistrationEnvSelectorComponent - add method handleSelfHostedEnvConfigDialogResult and add toast for happy path.
* PM-8367 - Add validation TODO
* PM-8367 - RegistrationSelfHostedEnvConfigDialogComponent - Add validator
* PM-8367 - RegEnvSelector - Only show self hosted if the client is browser or desktop since we will be using the selector on web as well.
* PM-8367 - Registration start comp - add env selector
* PM-8367 - Registration start - add proper import for standalone comps.
* PM-8367 - Registration Start - get storybook fixed with registration env selector
* PM-8367 - Add self hosted server to web translations only for storybook
* PM-8367 - Add more storybook examples and update docs (WIP - need to test self hosted selection)
* PM-8367 - Registration Start - update stories
* PM-8367 - Env Selector now emits selected region so that parent comps can listen to it if needed.
* PM-8367 - Registration Start - wire up handler for selectedRegionChange so that the parent comp can successfully track isSelfHost and hide / show the terms / privacy policy checkbox
* PM-8367 - TODO cleanup
* PM-8367 - Registration start docs - stage gate is two words.
* PM-8367 - Per working session with Will, move top level provided services to app level instead of module level to solve dialog null injector errors.
* PM-8367 - Storybook working for self hosted env dialog
* PM-8367 - Add dialog scroll feature to bitDialog and implement in self hosted env dialog.
* PM-8367 - Revert bit dialog changes and scroll implementation.
* PM-8367 - Tweak registration start docs
* PM-8367 - Remove unused changeDetectorRef
* PM-8367 - Add docs per PR feedback
* PM-7392 - EncryptSvc - add new method for detecting if a simple string is an enc string.
* PM-7392 - TokenSvc - add checks when setting and retrieving the access token to improve handling around the access token encryption.
* PM-7392 - (1) Clean up token svc (2) export access token key type for use in tests.
* PM-7392 - Get token svc tests passing; WIP more tests to come for new scenarios.
* PM-7392 - Access token secure storage to disk fallback WIP but mostly functional besides weird logout behavior.
* PM-7392 - Clean up unnecessary comment
* PM-7392 - TokenSvc - refresh token disk storage fallback
* PM-7392 - Fix token service tests in prep for adding tests for new scenarios.
* PM-7392 - TokenSvc tests - Test new setRefreshToken scenarios
* PM-7392 - TokenSvc - getRefreshToken should return null or a value - not undefined.
* PM-7392 - Fix test name.
* PM-7392 - TokenSvc tests - clean up test names that reference removed refresh token migrated flag.
* PM-7392 - getRefreshToken tests done.
* PM-7392 - Fix error quote
* PM-7392 - TokenSvc tests - setAccessToken new scenarios tested.
* PM-7392 - TokenSvc - getAccessToken - if secure storage errors add error to log.
* PM-7392 - TokenSvc tests - getAccessToken - all new scenarios tested
* PM-7392 - EncryptSvc - test new stringIsEncString method
* PM-7392 - Main.ts - fix circ dep issue.
* PM-7392 - Main.ts - remove comment.
* PM-7392 - Don't re-invent the wheel and simply use existing isSerializedEncString static method.
* PM-7392 - Enc String - (1) Add handling for Nan in parseEncryptedString (2) Added null handling to isSerializedEncString. (3) Plan to remove encrypt service implementation
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-7392 - Remove encrypt service method
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-7392 - Actually fix circ dep issues with Justin. Ty!
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-7392 - TokenSvc - update to use EncString instead of EncryptSvc + fix tests.
* PM-7392 - TokenSvc - (1) Remove test code (2) Refactor decryptAccessToken method to accept access token key and error on failure to pass required decryption key to method.
* PM-7392 - Per PR feedback and discussion, do not log the user out if hte refresh token cannot be found. This will allow users to continue to use the app until their access token expires and we will error on trying to refresh it. The app will then still work on a fresh login for 55 min.
* PM-7392 - API service - update doAuthRefresh error to clarify which token cannot be refreshed.
* PM-7392 - Fix SetRefreshToken case where a null input would incorrectly trigger a fallback to disk.
* PM-7392 - If the access token cannot be refreshed due to a missing refresh token or API keys, then surface an error to the user and log it so it isn't a silent failure + we get a log.
* PM-7392 - Fix CLI build errors
* PM-7392 - Per PR feedback, add missing tests (thank you Jake for writing these!)
Co-authored-by: Jake Fink <jfink@bitwarden.com>
* PM-7392 - Per PR feedback, update incorrect comment from 3 releases to 3 months.
* PM-7392 - Per PR feedback, remove links.
* PM-7392 - Per PR feedback, move tests to existing describe.
* PM-7392 - Per PR feedback, adjust all test names to match naming convention.
* PM-7392 - ApiService - refreshIdentityToken - log error before swallowing it so we have a record of it.
* PM-7392 - Fix copy for errorRefreshingAccessToken
* PM-7392 - Per PR feedback, move error handling toast responsibility to client specific app component logic reached via messaging.
* PM-7392 - Swap logout reason from enum to type.
* PM-7392 - ApiService - Stop using messaging to trigger toast to let user know about refresh access token errors; replace with client specific callback logic.
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* PM-7392 - Per PR feedback, adjust enc string changes and tests.
* PM-7392 - Rename file to be type from enum
* PM-7392 - ToastService - we need to await the activeToast.onHidden observable so return the activeToast from the showToast.
* PM-7392 - Desktop AppComp - cleanup messaging
* PM-7392 - Move Logout reason custom type to auth/common
* PM-7392 - WIP - Enhancing logout callback to consider the logout reason + move show toast logic into logout callback
* PM-7392 - Logout callback should simply pass along the LogoutReason instead of handling it - let each client's message listener handle it.
* PM-7392 - More replacements of expired with logoutReason
* PM-7392 - More expired to logoutReason replacements
* PM-7392 - Build new handlers for displaying the logout reason for desktop & web.
* PM-7392 - Revert ToastService changes
* PM-7392 - TokenSvc - Replace messageSender with logout callback per PR feedback.
* PM-7392 - Desktop App comp - replace toast usage with simple dialog to guarantee users will see the reason for them being logged out.
* PM-7392 - Web app comp - fix issue
* PM-7392 - Desktop App comp - don't show cancel btn on simple dialogs.
* PM-7392 - Desktop App comp - Don't open n simple dialogs.
* PM-7392 - Fix browser build
* PM-7392 - Remove logout reason from CLI as each logout call handles messaging on its own.
* PM-7392 - Previously, if a security stamp was invalid, the session was marked as expired. Restore that functionality.
* PM-7392 - Update sync service logoutCallback to include optional user id.
* PM-7392 - Clean up web app comp
* PM-7392 - Web - app comp - only handle actually possible web logout scenarios.
* PM-7392 - Browser Popup app comp - restore done logging out message functionality + add new default logout message
* PM-7392 - Add optional user id to logout callbacks.
* PM-7392 - Main.background.ts - add clarifying comment.
* PM-7392 - Per feedback, use danger simple dialog type for error.
* PM-7392 - Browser Popup - add comment clarifying expectation of seeing toasts.
* PM-7392 - Consolidate invalidSecurityStamp error handling
* PM-7392 - Per PR feedback, REFRESH_ACCESS_TOKEN_ERROR_CALLBACK can be completely sync. + Refactor to method in main.background.
* PM-7392 - Per PR feedback, use a named callback for refreshAccessTokenErrorCallback in CLI
* PM-7392 - Add TODO
* PM-7392 - Re-apply bw.ts changes to new service-container.
* PM-7392 - TokenSvc - tweak error message.
* PM-7392 - Fix test
* PM-7392 - Clean up merge conflict where I duplicated dependencies.
* PM-7392 - Per discussion with product, change default logout toast to be info
* PM-7392 - After merge, add new logout reason to sync service.
* PM-7392 - Remove default logout message per discussion with product since it isn't really visible on desktop or browser.
* PM-7392 - address PR feedback.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* add initial type filter
- use `bit-select` while the chip component is being developed
* get cipherTypes$ from service
- integrate with user settings
* initial add of folder selection
* initial add of vault selection
* initial add of collections filter
* update `VaultPopupListFilterService` to `VaultPopupListFiltersService`
* integrate hasFilterApplied$
* intermediate commit of integration to the filters component
* do not return the tree when the value is null
* return null when the updated option is null
* update vault-popup-list to conform to the chip select structure
* integration of bit-chip-select
* move "no folder" option to the end of the list
* show danger icon for deactivated organizations
* show deactivated warning when the filtered org is disabled
* update documentation
* use pascal case for constants
* store filter values as full objects rather than just id
- This allows secondary logic to be applied when filters are selected
* move filter form into service to be the source of truth
* fix tests after adding "jest-preset-angular/setup-jest"
* remove logic to have dynamic cipher type filters
* use ProductType enum
* invert conditional for less nesting
* prefer `decryptedCollections$` over getAllDecrypted
* update comments
* use a `filterFunction$` observable rather than having to pass filters back to the service
* fix children testing
* remove check for no folder
* reset filter form when filter component is destroyed
* add takeUntilDestroyed for organization valueChanges
* allow takeUntilDestroyed to use internal destroy ref
- The associated unit tests needed to be configured with TestBed rather than just `new Service()` for this to work
* use controls object for type safety
* add "jest-preset-angular/setup-jest" to browser app
* use flushPromises rather than await a dummy promise
* move the import of `page-script` into beforeAll rather than the describe scope
* invoke the sendMessage callback rather than relying on a promise comparison
* Create and register @bitwarden/generator-core
- Create libs/tools/generator/core
- Register new library within tsconfigs
- Register new library within eslint.configs
* Create and register @bitwarden/generator-extensions
- Create libs/tools/generator/extensions
- Register new library within tsconfigs
- Register new library within eslint.configs
* Create and register @bitwarden/generator-components
- Create libs/tools/generator/components
- Register new library within tsconfigs
- Register new library within eslint.configs
* Update libs/tools/generator/components/package.json
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
* Update libs/tools/generator/extensions/package.json
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
* Add empty barrel files for new libs
* Fix extension of test.environment
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com>
* Introduce additional options heading
Text will be needed for the UI changes later on anyway
* Move enableContextMenuItem from options.component to autofill.component
* Move copy TOTP automatically from options.component to autofill.component
* Move clearClipboard from options.component to autofill.component
* Move showCardsCurrentTab from options.component to autofill.component
* Move showIdentitiesCurrentTab from options.component to autofill.component
* Remove options.component as all controls have been migrated
Delete options.component
Import within AppModule
Delete obsolete route
Remove animation/page transition
Remove button from settings.component.html
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Create export-browser component using shared recipe
- Create new export component that uses the shared export.component from @bitwarden/vault-export-ui
* Update imports within AppModule
* Switch to route to the new component
* Add missing entries to messages.json
* Delete old export.component
* Remove duplicate verifyUser-method
* Change placeholder example
* Add documentation to protected members of ExportBrowserComponent
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8322] Firefox Inline Autofill Menu Not Propagation Correctly When Switching Tabs
* [PM-8322] Firefox Inline Autofill Menu Not Propagation Correctly When Switching Tabs
* Add missing RouterModule to the CurrentAccountComponent (#9295)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-6825] Browser Refresh - Initial List Items (#9199)
* [PM-6825] Add temporary vault page header
* [PM-6825] Expose cipherViews$ observable
* [PM-6825] Refactor getAllDecryptedForUrl to expose filter functionality for reuse
* [PM-6825] Introduce VaultPopupItemsService
* [PM-6825] Introduce initial VaultListItem and VaultListItemsContainer components
* [PM-6825] Add VaultListItems to VaultV2 component
* [PM-6825] Introduce autofill-vault-list-items.component to encapsulate autofill logic
* [PM-6825] Add temporary Vault icon
* [PM-6825] Add empty and no results states to Vault tab
* [PM-6825] Add unit tests for vault popup items service
* [PM-6825] Negate noFilteredResults placeholder
* [PM-6825] Cleanup new Vault components
* [PM-6825] Move new components into its own module
* [PM-6825] Fix missing button type
* [PM-6825] Add booleanAttribute to showAutofill input
* [PM-6825] Replace empty refresh BehaviorSubject with Subject
* [PM-6825] Combine *ngIfs for vault list items container
* [PM-6825] Use popup-section-header component
* [PM-6825] Use small variant for icon buttons
* [PM-6825] Use anchor tag for vault items
* [PM-6825] Consolidate vault-list-items-container to include list item component functionality directly
* [PM-6825] Add Tailwind classes to new Vault icon
* [PM-6825] Remove temporary header comment
* [PM-6825] Fix auto fill suggestion font size and padding
* [PM-6825] Use tailwind for vault icon styling
* [PM-6825] Add libs/angular to tailwind.config content
* [PM-6825] Cleanup missing i18n
* [PM-6825] Make VaultV2 standalone and cleanup Browser App module
* [PM-6825] Use explicit type annotation
* [PM-6825] Use property binding instead of interpolation
* [PM-7076] Create settings-v2.component (#9213)
* Create settings-v2.component
Create new settings page
Add routing based on extension refresh flag
* Wrap anchors around the icons
* Add account-switcher to settings page
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-8289] Inline menu content script does not update when user updates setting (#9279)
* [PM-8289] Inline menu content script does not update whne user updates setting
* [PM-8289] Fixing issue present within Jest tests
* [PM-8289] Triggering a reload of autofill scripts when a user logs into their account
---------
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: Shane Melton <smelton@bitwarden.com>
* Change `object` to `Record<string, unknown>`
* Change `object` to `Record<string, unknown>` Pt. 2
* Update ForegroundSyncService
- Manage finish message in the listener to more gaurantee a message back
- Make the timeout much longer
- Allow it to throw if the background sync service threw
---------
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* Create the send-ui library package
Create folder
Create package.json
Create jest config
Create tsconfig and tsconfig.spec.json
Create README
Add empty barrel file for exporting future members
* Register @bitwarden/send-ui with all clients and libs
* Register with eslint
* Fix linting issue with README
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Copy existing `import-browser`-component
Add `popup-page` and -`header` and -`footer`
Add missing imports as page is marked as standalone
Fix no-floating-promise
Change to route OnSuccess to `vault-settings` instead of old `settings`-page
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* PM-5086 - WIP start on registration start component
* PM-5086 - more WIP progress on registration start comp
* PM-5086 - Setup secondary component
* PM-5086 - (1) Validation working (2) States implemented (3) 2nd state for check email mostly completed except for correct icon
* PM-5086 - Registration Start - check email state - update icon to be correct from figma.
* PM-5086 - Refactor self hosted conditional + actually hide the checkbox if it is self hosted.
* PM-5086 - WIP good progress on getting browser & desktop creating account on logic working.
* PM-5086 - Accessibility pass + WIP on region selector
* PM-5086 - Accessibility pass with Danielle
* PM-5086 - Migrate env selector logic to own component.
* PM-5086 - Update AnonLayoutWrapperComp import
* PM-5086 - Remove unncessary focus.
* PM-5086 - WIP first draft of registration env selector; name might change to differentiate it from existing env selector.
* PM-5086 - Rename env selector to be more clear and use registration-env-selector instead.
* PM-5086 - (1) Export registration env selector (2) Change comp name not just file name.
* PM-5086 - Create new registration page stub
* PM-5086 - Fix build issue where select module was missing from new registration env selector.
* PM-5086 - Registration --> registration start.
* PM-5086 - Add missing translation from registration-start-secondary-component to desktop & browser.
* PM-5086 - Add missing translations
* PM-5086 - Registration Env Selector - forms require form groups. duh.
* PM-5086 - Registration Env Selector - working now.
* PM-5086 - Registration Start desktop mostly working with env selector issues.
* PM-5086 - Registration start - get self hosted env dialog to close on close click. Backdrop click doesn't work but escape does still.
* PM-5086 - TODO: figure out if there is a better way to get the dialog to close.
* PM-5086 - Registration start - get goBack working to properly re-show env selector
* PM-5086 - Self Hosted Env Comp - re-emit current env on close so that select based env selectors can reset
* PM-5086 - RegistrationEnvSelector - Refactor init logic to also listen for env updates so that the user's choices on the self hosted settings dialog get communicated to this comp
* PM-5086 - Registration Start Desktop - Don't allow users to close dialog via escape as we need them to either close or save to get the env service to set the env correctly.
* PM-5086 - Browser Registration Start Page stub
* PM-5086 - Registration Start comp - storybook added
* PM-5086 - Remove links to start-registration as we aren't ready to implement that yet.
* PM-5086 - Revert environment comp changes.
* PM-5086 - Delete registration start pages.
* PM-5086 - Test removing PreloadedEnglishI18nModule to see if it fixes test failures
* PM-5086 - Try to resolve issues w/ importing PreloadedEnglishI18nModule into RegistrationStartComponent storybook stories file.
* PM-5086 - Allow translations to be imported for all libs.
* PM-5086 - Remove comment from JSON
* PM-5086 - TODO cleanup
* PM-5086 - Per PR feedback, fix display issues by using correct classes.
* PM-5086 - Fix SVG per PR feedback
* PM-5086 - Remove unnecessary methods
* PM-5086 - RegistrationEnvSelectorComponent - per PR feedback, properly type null in form group
* Remove button to launch contact form from about-page
* Remove button to launch community forums from about-page
* Create about-page-v2 component
Copy existing about-page.component
Add missing imports as page is marked as standalone
Add popup-page and -header
Migrate navigation items to use bit-items and bit-item-content
Route to new page when feature flag enabled
* Create more-from-bitwarden-page-v2 component
Copy existing more-from-bitwarden-page.component
Add missing imports as page is marked as standalone
Add popup-page and -header
Migrate navigation items to use bit-items and bit-item-content
Route to new page when feature flag enabled
* Add speedbump for rate the extension button
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-5295] Improve autofill collection of page details performance
* [PM-5295] Reworking implementation to leverage requestIdleCallback instead of requestAnimationFrame
* [PM-5295] Reworking implementation to leverage requestIdleCallback instead of requestAnimationFrame
* [PM-5295] Incorporating documentation for added methods
* [PM-5295] Reworking how we handle collection of shadowRoot elements
* [PM-5295] Fixing jest tests relating to the defined pseudo selector
* [PM-5295] Fixing jest tests relating to the defined pseudo selector
* [PM-5295] Refactoring
* [PM-5295] Refactoring
* [PM-5295] Refactoring
* [PM-5295] Starting the work to set up the tree walker strategy under a feature flag
* [PM-5295] Incorporating methodology for triggering a fallback to the TreeWalker API if issues arise with the deepQuery approach
* [PM-5295] Fixing jest test
* [PM-8333] Ensure title suffix is aligned with title
* [PM-8333] Add refresh button for autofill list items section for FF sidebar
* [PM-8333] Add button type
* Move help-and-feedback to tools and rename to about-page
Moved help-and-feedback.component to ..tools
Renamed it to about-page
Changed the title to about
Changed the settings button to about
Updated routes
Updates transition animation
* Move button to open AboutDialog from settings to about-page
* Move launch web-vault to about-page
* Move rate extension from settings to about-page
* Fix no-floating-promises
* Remove icons from about-page entries
* Make about-page standalone
* Create MoreFromBitwardenPage component
Create new component
Add button to navigate to new component from about-page
Add routing for new component
* Add new speedbumps to help-center and web-app links
* Add link to Bitwarden Authenticator page
Include speedbump explaing some functionality about the the authenticator
* Add link to Secrets Manager page
Include speedbump explaining some functionality of Secrets Manager
* Add link to Passwordless.dev page
Include speedbump explaining some functionality of Passwordless.dev
* Move learnFromOrg over to more-from-bitwarden
Include speedbump that explains Bitwarden for business
* Clean-up settings.component
Some left-over clean-up from https://github.com/bitwarden/clients/pull/8840
- Removing import and export methods
* Move premium-link to more-from-bitwarden
Hide link if user already has premium
* Add popout-button to about-page
* Remove unneeded headings
* Move popout-button on setting to the right
* Add Free Bitwarden Families link
Include speedbump explaining Free Bitwarden Families
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-6825] Add style override for app icon in the extension to match desktop
* [PM-6825] Add Ids to favorites and allItems list containers for easier testing automations
* [PM-8289] Inline menu content script does not update whne user updates setting
* [PM-8289] Fixing issue present within Jest tests
* [PM-8289] Triggering a reload of autofill scripts when a user logs into their account
* Create settings-v2.component
Create new settings page
Add routing based on extension refresh flag
* Wrap anchors around the icons
* Add account-switcher to settings page
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [PM-6825] Add temporary vault page header
* [PM-6825] Expose cipherViews$ observable
* [PM-6825] Refactor getAllDecryptedForUrl to expose filter functionality for reuse
* [PM-6825] Introduce VaultPopupItemsService
* [PM-6825] Introduce initial VaultListItem and VaultListItemsContainer components
* [PM-6825] Add VaultListItems to VaultV2 component
* [PM-6825] Introduce autofill-vault-list-items.component to encapsulate autofill logic
* [PM-6825] Add temporary Vault icon
* [PM-6825] Add empty and no results states to Vault tab
* [PM-6825] Add unit tests for vault popup items service
* [PM-6825] Negate noFilteredResults placeholder
* [PM-6825] Cleanup new Vault components
* [PM-6825] Move new components into its own module
* [PM-6825] Fix missing button type
* [PM-6825] Add booleanAttribute to showAutofill input
* [PM-6825] Replace empty refresh BehaviorSubject with Subject
* [PM-6825] Combine *ngIfs for vault list items container
* [PM-6825] Use popup-section-header component
* [PM-6825] Use small variant for icon buttons
* [PM-6825] Use anchor tag for vault items
* [PM-6825] Consolidate vault-list-items-container to include list item component functionality directly
* [PM-6825] Add Tailwind classes to new Vault icon
* [PM-6825] Remove temporary header comment
* [PM-6825] Fix auto fill suggestion font size and padding
* [PM-6825] Use tailwind for vault icon styling
* [PM-6825] Add libs/angular to tailwind.config content
* [PM-6825] Cleanup missing i18n
* [PM-6825] Make VaultV2 standalone and cleanup Browser App module
* [PM-6825] Use explicit type annotation
* [PM-6825] Use property binding instead of interpolation
* Create vault-settings-v2 component
- Copy existing vault-settings component
- Make new component standalone
- Replace app-header with popup-header
- Replace nav-buttons with bit-item
- Register route to show new component when extension refresh flag is enabled
* Move sync functionality to vault-settings-v2
* Use anchors instead of buttons when navigating to a sub-page
* Removed unneeded component within routing
* Use new ToastService instead of PlatformUtils
* Remove unused MessagingService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Retrieve auth status when updating overlay ciphers.
We are experiencing a hang due to e8ed4f38f4/apps/browser/src/background/main.background.ts (L1218) and the fact that the auth status is not updated during account switch for this service. Ideally, the service would just use latest everywhere, but this is sufficient for this bug fix.
Account-switcher changes avoid multiple updates for the same event.
* Avoid loop
* Test fixes
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
---------
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* Move/replace submit and userVerification logic from web into the BaseExportComponent
Add "@bitwarden/auth" as dependency to the vault-export-ui package
New submit logic also checks for password-encrypted exports which will be need for future UI updates on browser and desktop
* Remove import/passing of the unneeded UserVerificationService
* Remove app-user-verification from browser and desktop components as the new UI is opened as a self-contained dialog
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* replace `PasswordGeneratorService` with `legacyPasswordGenerationServiceFactory`
* replace `UsernameGeneratorService` with `legacyUsernameGenerationServiceFactory`
* migrate generator options and history
* apply policy immediately once available
* suppress duplicate policy emissions
* run password generation response code in `ngZone`
* Remove UsernameGenerationService from popup/services.module
* Remove PasswordGenerationService from popup/services.module
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Process reload is the means by which we protect user keys in memory. once an account locks, it triggers a process reload (assuming no other accounts are unlocked), that frees renderer memory.
However, if the user is not unlocked, it is not protected by the process reload, so we may keep user keys in memory.
* add V2 variant to pop-out component
* Add V2 version of the vault header
* refactor IconButtonModule import
* refactor IconButtonModule import
* use feature flag to drive pop out redesign
* use an anchor rather than a button
* remove VaultFilterService and add todo comment
* remove no-decoration class will be fixed by component library
* bring back constructor
* Create ForegroundSyncService For Delegating `fullSync` calls to the background
* Relax `isExternalMessage` to Allow For Typed Payload
* Null Coalesce The `startListening` Method
* Filter To Only External Messages
* Do not initialize symmetric crypto keys with null
* Require new message on invalid native message encryption
Handling of this error is to require the user to retry, so the promise needs to resolve.
* Update activity when switching users
* Clear data of designated user
* Do not switchMap to null, always to Promise or Observable
* handle uninitialized popup services
* Switch to new account immediately and log out as inactive.
Split up done logging out and navigation so we can always display expire warning.
* Do not navigate in account switcher, main.background takes care of it
* Ignore storage updates from reseed events
* Remove loading on cancelled logout
* Catch missed account switch errors
* Avoid usage of active user state in sync service
Send service does not currently support specified user data
manipulation, so we ensure that the notification was sent to the
active user prior to processing the notification.
* Clear sequentialize caches on account switch
These caches are used to ensure that rapid calls to an async method are not repeated. However, the cached promises are valid only within a given userId context and must be cleared when that context changes.
* Revert `void` promise for notification reconnect
* Update libs/angular/src/services/jslib-services.module.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Handle switch account routing through messaging background -> app
* Use account switch status to handle unlocked navigation case.
* Revert "Handle switch account routing through messaging background -> app"
This reverts commit 8f35078ecb.
---------
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-5501 - VaultTimeoutSettingsSvc - fix setVaultTimeoutOptions condition which needed to use never instead of null.
* PM-5501 - Fix browser and desktop not showing the never lock warning
* PM-5501 - Use true equality.
* PM-5501 - VaultTimeoutSettingsSvc - refactor var names in getVaultTimeoutAction
* PM-5501 - Add state definitions and key definitions + test deserialization of key defs.
* PM-5501 - Add state provider dep to VaultTimeoutSettingsSvc
* PM-5501 - Refactor getVaultTimeout
* PM-5501 - VaultTimeoutSettingsService - Build getMaxVaultTimeoutPolicyByUserId helper
* PM-5501 - (1) Update state definitions (2) convert KeyDefs to UserKeyDefs (2) Remove everBeenUnlocked as we won't need it
* PM-5501 - VaultTimeoutSettingsSvc - POC for getVaultTimeoutActionByUserId$ method + new private determineVaultTimeoutAction helper.
* PM-5501 - VaultTimeoutSettingsSvc - build set and observable get methods for vault timeout settings
* PM-5501 - Update web references to use new vault timeout setting service methods
* PM-5501 - VaultTimeoutSettingsSvc - write up abstraction js docs
* PM-5501 - VaultTimeoutSettingsSvc abstraction - finish tweaks
* PM-5501 - VaultTimeoutSettingsSvc - add catchError blocks to observables to protect outer observables and prevent cancellation in case of error.
* PM-5501 - Remove vault timeout settings from state service implementation.
* PM-5501 - VaultTimeoutSettingsServiceStateProviderMigrator first draft
* PM-5501 - WIP - replace some state service calls with calls to vault timeout settings svc.
* PM-5501 - Replace state service calls in login strategies to get vault timeout settings data with VaultTimeoutSettingsService calls.
* PM-5501 - Fix login strategy tests
* PM-5501 - Update login strategy tests to pass
* PM-5501 - CryptoSvc - share VaultTimeout user key def to allow crypto svc access to the vault timeout without creating a circular dep.
* PM-5501 - Fix dependency injections.
* PM-5501 - ApiSvc - replace state svc with vault timeout settings svc.
* PM-5501 - VaultTimeoutSettingsServiceStateProviderMigrator more cleanup
* PM-5501 - Test VaultTimeoutSettingsServiceStateProviderMigrator
* PM-5501 - VaultTimeoutSettingsSvc tests updated
* PM-5501 - Update all setVaultTimeoutOptions references
* PM-5501 - VaultTimeoutSettingsSvc - Update setVaultTimeoutOptions to remove unnecessary logic and clean up clearTokens condition.
* PM-5501 - Fix vault timeout service tests
* PM-5501 - Update VaultTimeoutSettings state tests to pass
* PM-5501 - Desktop - system svc - fix build by replacing use of removed method.
* PM-5501 - Fix CLI by properly configuring super class deps in NodeApiService
* PM-5501 - Actually finish getitng deps fixed to get CLI to build
* PM-5501 - VaultTimeoutSettingsSvc.determineVaultTimeoutAction - pass userId to getAvailableVaultTimeoutActions to prevent hang waiting for an active user.
* PM-5501 - VaultTimeoutSettingSvc test - enhance getVaultTimeoutActionByUserId$ to also test PIN scenarios as an unlock method
* PM-5501 - bump migration version
* PM-5501 - Refactor migration to ensure the migration persists null vault timeout values.
* PM-5501 - Bump migration version
* PM-5501 - Fix web build issues introduced by merging main.
* PM-5501 - Bump migration version
* PM-5501 - PreferencesComponent - revert dep change from InternalPolicyService to standard PolicyService abstraction
* PM-5501 - Address all PR feedback from Jake
Co-authored-by: Jake Fink <jfink@bitwarden.com>
* PM-5501 - VaultTimeoutSettingsSvc tests - add tests for setVaultTimeoutOptions
* PM-5501 - VaultTimeoutSettingsSvc - setVaultTimeoutOptions - Update tests to use platform's desired syntax.
* PM-5501 - Fix tests
* PM-5501 - Create new VaultTimeout type
* PM-5501 - Create new DEFAULT_VAULT_TIMEOUT to allow each client to inject their default timeout into the VaultTimeoutSettingService
* PM-5501 - Migrate client default vault timeout to new injection token
* PM-5501 - Update VaultTimeoutSettingsSvc to use VaultTimeout type and apply default vault timeout if it is null.
* PM-5501 - Update vaultTimeout: number to be vaultTimeout: VaultTimeout everywhere I could find it.
* PM-5501 - More changes based on changing vaultTimeout from number to VaultTimeout type.
* PM-5501 - VaultTimeoutSvc - Update shouldLock logic which previously checked for null (never) or any negative values (any strings except never) with a simple string type check.
* PM-5501 - More cleanup of vaultTimeout type change - replacing null checks with "never" checks
* PM-5501 - VaultTimeoutSettingsSvc - refactor determineVaultTimeout to properly treat string and numeric vault timeouts.
* PM-5501 - Update vault timeout settings service tests to reflect new VaultTimeout type.
* PM-5501 - VaultTimeoutSettingsService - add more test cases for getVaultTimeoutByUserId
* PM-5501 - (1) Remove "immediately" as 0 is numerically meaningful and can be used with Math.min (2) Add VaultTimeoutOption interface for use in all places we show the user a list of vault timeout options.
* PM-5501 - VaultTimeoutSettingSvc - update tests to use 0 as immediately.
* PM-5501 - VaultTimeoutInputComp - Add new types and update applyVaultTimeoutPolicy logic appropriately.
* PM-5501 - Add new types to all preferences and setting components across clients.
* PM-5501 - Fix bug on web where navigating to the preferences page throws an error b/c the validatorChange function isn't defined.
* PM-5501 - WIP on updating vault timeout setting migration and rollback + testing it.
* PM-5501 - Update VaultTimeoutSettingsSvc state provider migration and tests to map existing possible values into new VaultTImeout type.
* PM-5501 - Fix vault timeout settings state tests by changing number to new VaultTimeout type.
* PM-5501 - Fix crypto svc auto key refresh test to use "never" instead of null.
* PM-5501 - Add clarifying comment to vaulttimeout type
* PM-5501 - Desktop app comp - replace systemTimeoutOptions with vault timeout type.
* PM-5501 - Update vault timeout service tests to use VaultTimeout type.
* PM-5501 - VaultTimeoutSettingsSvc - (1) Fix bug where vault timeout action didn't have a default like it did before (2) Fix bug in userHasMasterPassword where it would incorrectly return the active user stream for a given user id as a fallback. There is no guarantee the given user would match the active user so the paths are mutually exclusive.
* PM-5501 - Login Strategy fix - Move retrieval of vault timeout settings and setting of the tokens until after account init and user decryption options set as those opts are needed to properly determine the user's available vault timeout actions.
* PM-5501 - Fix vault timeout settings svc tests
* PM-5501 - VaultTimeoutSettingSvc - move default logic to determine methods + refactor default vault timeout action to properly default to lock in scenarios the user has lock available.
* Update libs/angular/src/components/settings/vault-timeout-input.component.ts
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* PM-5501 - Per PR feedback, cleanup commented out vault timeout options
* PM-5501 - Fix vault timeout input comp lint issues
* PM-5501 - Per PR feedback from Cesar, update VaultTimeout type to use const so we can avoid any magic string usage. Awesome.
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* PM-5501 - CLI - use "never" as default vault timeout instead of null.
* PM-5501 - Fix broken tests
* PM-5501 - Bump migration version
* PM-5501 - Fix build errors after merging main.
* PM-5501 - Update mockMigrationHelper to pass along client type so tests will respect it.
* PM-5501 - Update VaultTimeoutSettingsServiceStateProviderMigrator and tests to use new CLI client type to convert undefined values to never so that CLI users don't lose their session upon running this migration.
* PM-5501 - Bump migration version
* PM-5501 - Fix migration tests to use new authenticated user format
* PM-5501 Update rollback tests
* PM-5501 - Adjust migration based on feedback.
* PM-5501 - Per Jake's find, fix missed -2
Co-authored-by: Jake Fink <jfink@bitwarden.com>
* PM-5501 - Add user id to needsStorageReseed.
Co-authored-by: Jake Fink <jfink@bitwarden.com>
* PM-5501 - Per PR feedback, setVaultTimeoutOptions shouldn't accept null for vault timeout anymore.
* PM-5501 - Per PR feedback, add null checks for set methods for setting vault timeout or vault timeout action.
* PM-5501 - Per PR feedback, add more context as to why we need vault timeout settings to persist after logout.
* PM-5501 - Per PR feedback, fix userHasMasterPassword
* PM-5501 - VaultTimeoutSettingsService - fix userHasMasterPassword check by checking for null decryption options.
* PM-5501 - Remove state service from vault timeout settings service (WOOO)
* PM-5501 - Bump migration version
* PM-5501 - Account Security comp - refactor to consider ease of debugging.
* PM-5501 - (1) Add checks for null vault timeout and vault timeout actions (2) Add tests for new scenarios.
* PM-5501 - VaultTimeoutSettingsSvc - setVaultTimeoutOptions - fix bug where nullish check would throw incorrectly if immediately (0) was picked as the timeout.
* PM-5501 - Per PR feedback, clean up remaining token service methods which accept null for timeout and add tests. .
* PM-5501 - Fix nit
---------
Co-authored-by: Jake Fink <jfink@bitwarden.com>
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* Move pop-out.component into platform ownership
* Make pop-out.component standalone
* Fix no-floating-promises
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* initial commit
* fixed issue with clearing search index state
* clear user index before account is totally cleaned up
* added logout clear on option
* removed redundant clear index from logout
* Implemented user verification logic for the different use cases, added functions to pompt for user to set pin
* added missing await and removed else if conditionals
* fixed no return after user sets pin
* added comment to further explain user verification when user is coming from lock screen
* [PM-7836] UV not properly used when creating an item from [+] or Save passkey as new item (#8993)
* added user verification using the save new login button and + button
* removed commented out code
* [PM-7808][PM-7848] UV Preferred/Required, Item has MP reprompt, user without MP incorrectly bypasses UV and When UV = discouraged, cannot save passkey to item using [+] button (#9015)
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
* Create notifications settings component
* Move excluded-domains component over to be owned by team-autofill
* Add notifications entry to settings screen
* Move excluded domains from settings to notifications settings screen
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* move pinKeyEncryptedUserKey
* move pinKeyEncryptedUserKeyEphemeral
* remove comments, move docs
* cleanup
* use UserKeyDefinition
* refactor methods
* add migration
* fix browser dependency
* add tests for migration
* rename to pinService
* move state to PinService
* add PinService dep to CryptoService
* move protectedPin to state provider
* update service deps
* renaming
* move decryptUserKeyWithPin to pinService
* update service injection
* move more methods our of crypto service
* remove CryptoService dep from PinService and update service injection
* remove cryptoService reference
* add method to FakeMasterPasswordService
* fix circular dependency
* fix desktop service injection
* update browser dependencies
* add protectedPin to migrations
* move storePinKey to pinService
* update and clarify documentation
* more jsdoc updates
* update import paths
* refactor isPinLockSet method
* update state definitions
* initialize service before injecting into other services
* initialize service before injecting into other services (bw.ts)
* update clearOn and do additional cleanup
* clarify docs and naming
* assign abstract & private methods, add clarity to decryptAndMigrateOldPinKeyEncryptedMasterKey() method
* derived state (attempt)
* fix typos
* use accountService to get active user email
* use constant userId
* add derived state
* add get and clear for oldPinKeyEncryptedMasterKey
* require userId
* move pinProtected
* add clear methods
* remove pinProtected from account.ts and replace methods
* add methods to create and store pinKeyEncryptedUserKey
* add pinProtected/oldPinKeyEncrypterMasterKey to migration
* update migration tests
* update migration rollback tests
* update to systemService and decryptAndMigrate... method
* remove old test
* increase length of state definition name to meet test requirements
* rename 'TRANSIENT' to 'EPHEMERAL' for consistency
* fix tests for login strategies, vault-export, and fake MP service
* more updates to login-strategy tests
* write new tests for core pinKeyEncrypterUserKey methods and isPinSet
* write new tests for pinProtected and oldPinKeyEncryptedMasterKey methods
* minor test reformatting
* update test for decryptUserKeyWithPin()
* fix bug with oldPinKeyEncryptedMasterKey
* fix tests for vault-timeout-settings.service
* fix bitwarden-password-protected-importer test
* fix login strategy tests and auth-request.service test
* update pinService tests
* fix crypto service tests
* add jsdoc
* fix test file import
* update jsdocs for decryptAndMigrateOldPinKeyEncryptedMasterKey()
* update error messages and jsdocs
* add null checks, move userId retrievals
* update migration tests
* update stateService calls to require userId
* update test for decryptUserKeyWithPin()
* update oldPinKeyEncryptedMasterKey migration tests
* more test updates
* fix factory import
* update tests for isPinSet() and createProtectedPin()
* add test for makePinKey()
* add test for createPinKeyEncryptedUserKey()
* add tests for getPinLockType()
* consolidate userId verification tests
* add tests for storePinKeyEncryptedUserKey()
* fix service dep
* get email based on userId
* use MasterPasswordService instead of internal
* rename protectedPin to userKeyEncryptedPin
* rename to pinKeyEncryptedUserKeyPersistent
* update method params
* fix CryptoService tests
* jsdoc update
* use EncString for userKeyEncryptedPin
* remove comment
* use cryptoFunctionService.compareFast()
* update tests
* cleanup, remove comments
* resolve merge conflict
* fix DI of MasterPasswordService
* more DI fixes
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
* Create appearance settings component
* Add entry in settings to navigate to the appearance settings page
* Add transition animation for settings to appearance and back
* Remove settings from options that are now under appearance
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Move folder.component to vault/popup/settings
* Move sync.component to vault/popup/settings
* Create vault settings component
Move controls from settings.component.html to vault-settings.component.html
Register VaultSettingsComponent within app.module
Register route for VaultSettingsComponent
Add new string in en/messages.json
* Fix routing for back navigation on child pages of vault settings
* Add transitions to vault-settings sub-pages
* Add transition for account-security
* Add an await to popping out the extension
* Use "Vault" instead of "Vault settings" as title
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Move about.component into tools ownership
* Split out account security settings
Move settings.component.ts to auth/popup/settings and rename to account-security.component.ts
Move controls from settings.component.html and create account-security.component.html
Move settings.component.html to tools/popup/settings.component.html
Create settings.component.ts under tools/popup/settings
Fixup module imports and routing
Add new strings to en/message.json
* Move vault-timeout-input.component to auth
* Move await-desktop-dialog.component to auth
* Add transition for account-security
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* [AC-2555] Fix missing feature flags in CollectionsComponent
* [AC-2555] Do not filter collections when opening the cipher collections dialog in the org vault
* suppress welcome window on install when extension is in dev mode
* use platformUtilsService.isDev instead of process.env.ENV
* use devFlags.skipWelcomeOnInstall instead of platformUtilsService.isDev
* update old dev_flags casing in base configs
* Ensure AuthStatus Changes Before Exiting
* Do Not Display Account Without Name Or Email
* Fix Environment Selectors
* Add AccountService.clean to Web
* [PM-7810] Handle Multithread Decryption through Offscreen API
* [PM-7810] Handle Multithread Decryption through Offscreen API
* Use a service to track when to open and close offscreen document
There some strangeness around maintaining the offscreen document for more callbacks, that need not have the same reasons and justifications as the original.
We'd need to test, but perhaps the intent is something closer to maintaining a work queue ourselves and creating the offscreen page for only a single reason as it comes in, then waiting for that page to close before opening another.
* [PM-7810] Handle Multithread Decryption through Offscreen API
* [PM-7810] Handle Multithread Decryption through Offscreen API
* [PM-7810] Handle Multithread Decryption through Offscreen API
* [PM-7810] Handle Multithread Decryption through Offscreen API
* [PM-7810] Implementing jest tests for OffscreenDocument and BrowserMultithreadEncryptServiceImplementation
* [PM-7810] Separating out the process by which we get decrypted items from the web worker to ensure we do not do duplicate effort
* [PM-7810] Separating out the process by which we get decrypted items from the web worker to ensure we do not do duplicate effort
* Prefer builtin promise flattening
* [PM-7810] Introducing a fallback to the MultithreadEncryptServiceImplementation to ensure we can fallback to single thread decryption if necessary
* [PM-7810] Updating documentation
* [PM-7810] Fixing implementation to leverage the new OffscreenDocumentService
---------
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* do no run fido2 content scripts on browser settings or extension background pages
* remove unneeded overlay visibility setting state guard
* only filter content script and page script and update test
* handle content script host permission errors
* add activeTab to mv3 permissions
* allow other browser inject errors to throw
* Remove usage of getBgService for CipherService
With CipherService using StateProviders: https://github.com/bitwarden/clients/pull/8314 - we should no longer need CipherService
* Remove usage of getBgService for CollectionService
With CollectionService using StateProviders: https://github.com/bitwarden/clients/pull/7732 - we should no longer need CollectionService
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Use a service to track when to open and close offscreen document
There some strangeness around maintaining the offscreen document for more callbacks, that need not have the same reasons and justifications as the original.
We'd need to test, but perhaps the intent is something closer to maintaining a work queue ourselves and creating the offscreen page for only a single reason as it comes in, then waiting for that page to close before opening another.
* Prefer builtin promise flattening
* Await anything and everything
---------
Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com>
* Remove getbgService for crypto service
* Remove special authentication for state service
* Use synced memory storage
popup contexts use foreground, background contexts use background. Simple
* Remove private mode warnings
* Match console method signatures in logService abstraction
* Add a few usages of improved signature
* Remove reality check test
* Improve electron logging
* Use account service to track accounts and active account
* Remove state service active account Observables.
* Add email verified to account service
* Do not store account info on logged out accounts
* Add account activity tracking to account service
* Use last account activity from account service
* migrate or replicate account service data
* Add `AccountActivityService` that handles storing account last active data
* Move active and next active user to account service
* Remove authenticated accounts from state object
* Fold account activity into account service
* Fix builds
* Fix desktop app switch
* Fix logging out non active user
* Expand helper to handle new authenticated accounts location
* Prefer view observable to tons of async pipes
* Fix `npm run test:types`
* Correct user activity sorting test
* Be more precise about log out messaging
* Fix dev compare errors
All stored values are serializable, the next step wasn't necessary and was erroring on some types that lack `toString`.
* If the account in unlocked on load of lock component, navigate away from lock screen
* Handle no users case for auth service statuses
* Specify account to switch to
* Filter active account out of inactive accounts
* Prefer constructor init
* Improve comparator
* Use helper methods internally
* Fixup component tests
* Clarify name
* Ensure accounts object has only valid userIds
* Capitalize const values
* Prefer descriptive, single-responsibility guards
* Update libs/common/src/state-migrations/migrate.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Fix merge
* Add user Id validation
activity for undefined was being set, which was resulting in requests for the auth status of `"undefined"` (string) userId, due to key enumeration. These changes stop that at both locations, as well as account add for good measure.
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* PM-7811 - Refactor UserKeyInitService to UserAutoUnlockKeyService - remove active account listening logic as it introduced race conditions with user key memory retrieval happening before the user auto unlock key was set into memory.
* PM-7811 - CLI - (1) Fix deps (2) On CLI init (pre command execution), if there is an active account, then set the user key in memory from the user auto unlock key.
* PM-7811 - Browser Extension / desktop - (1) Update deps (2) Sets user key in memory if the auto unlock key is set on account switch and background init (must act on all accounts so that account switcher displays unlock status properly).
* PM-7811 - Web - (1) Update deps (2) Sets user key in memory if the auto unlock key is set on init
* PM-7811 - Fix account switcher service changes not being necessary.
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Incorporate build workflow for the Chrome manifest v3 beta
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Ensure we can have a valid version number based on the github run id
* [PM-7663] Ensure we can have a valid version number based on the github run id
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting a typo
* Fix Duplicate `process.env
* Learn how to use
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
Refactors the feature flags in ConfigService to be type safe. It also moves the default value to a centralized location rather than the caller defining it. This ensures consistency across the various places they are used.
* [PM-7710] Avoid re-indexing ciphers on current tab component and re-setting null storage values for popup components
* [PM-7710] Avoid re-indexing ciphers on current tab component and re-setting null storage values for popup components
* remove 2fa from main.background
* remove login strategy service from main.background
* move 2fa and login strategy service to popup, init in browser
* add state providers to 2fa service
- add deserializer helpers
* use key definitions for global state
* fix calls to 2fa service
* remove extra await
* add delay to wait for active account emission in popup
* add and fix tests
* fix cli
* really fix cli
* remove timeout and wait for active account
* verify expected user is active account
* fix tests
* address feedback
Safari extension description is limited to 112 chars
Add that restriction within the description
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Implement a lazy value class
This will be used as a source for composing key-protected storage from a single key source.
* Simplify local-backed-session-storage
The new implementation stores each value to a unique location, prefixed with `session_` to help indicate the purpose.
I've also removed the complexity around session keys, favoring passing in a pre-defined value that is determined lazily once for the service worker. This is more in line with how I expect a key-protected storage would work.
* Remove decrypted session flag
This has been nothing but an annoyance. If it's ever added back, it needs to have some way to determine if the session key matches the one it was written with
* Remove unnecessary string interpolation
* Remove sync Lazy
This is better done as a separate class.
* Handle async through type
* prefer two factory calls to incorrect value on races.
* Fix type
* Remove log
* Update libs/common/src/platform/misc/lazy.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Introduce browser large object storage location.
This location is encrypted and serialized to disk in order to allow for storage of uncountable things like vault items that take a significant amount of time to prepare, but are not guaranteed to fit within session storage.
however, limit the need to write to disk is a big benefit, so _most_ things are written to storage.session instead, where things specifically flagged as large will be moved to disk-backed memory
* Store derived values in large object store for browser
* Fix AbstractMemoryStorageService implementation
* PM-6689 - Add security stamp to Token state
* PM-6689 - Remove Security Stamp from account and state service
* PM-6689 - Add security stamp get and set to token service + abstraction + tests
* PM-6689 - Add migration for security stamp, test it, and register it with migrator
* PM-6689 - Update sync service + deps to use token service.
* PM-6689 - Cleanup missed usages of account tokens which has been removed.
* PM-6689 - Per PR feedback, remove unnecessary data migration as the security stamp is only in memory and doesn't need to be migrated.
* [PM-7581] Validate cache state from external contexts within LocalBackedSessionStorage
* [PM-7581] Continuing with exploring refining the LocalBackedSessionStorage
* [PM-7558] Fix Vault Load Times
* [PM-7558] Committing before reworking LocalBackedSessionStorage to function without extending the MemoryStorageService
* [PM-7558] Working through refinement of LocalBackedSessionStorage
* [PM-7558] Reverting some changes
* [PM-7558] Refining implementation and removing unnecessary params from localBackedSessionStorage
* [PM-7558] Fixing logic for getting the local session state
* [PM-7558] Adding a method to avoid calling bypass cache when a key is known to be a null value
* [PM-7558] Fixing tests in a temporary manner
* [PM-7558] Removing unnecessary chagnes that affect mv2
* [PM-7558] Removing unnecessary chagnes that affect mv2
* [PM-7558] Adding partition for LocalBackedSessionStorageService
* [PM-7558] Wrapping duplicate cache save early return within isDev call
* [PM-7558] Wrapping duplicate cache save early return within isDev call
* [PM-7558] Wrapping duplicate cache save early return within isDev call
* PM-7235 - AuthSvc - Refactor getAuthStatus to simply use the cryptoService.hasUserKey check to determine the user's auth status.
* PM-7235 - CryptoSvc - getUserKey - remove setUserKey side effect if auto key is stored. Will move to app init
* PM-7235 - For each client init service, add setUserKeyInMemoryIfAutoUserKeySet logic
* PM-7235 - CryptoSvc tests - remove uncessary test.
* PM-7235 - Create UserKeyInitService and inject into all init services with new listening logic to support acct switching.
* PM-7235 - UserKeyInitSvc - minor refactor of setUserKeyInMemoryIfAutoUserKeySet
* PM-7235 - Add test suite for UserKeyInitService
* PM-7235 - Remove everBeenUnlocked as it is no longer needed
* PM-7235 - Fix tests
* PM-7235 - UserKeyInitSvc - per PR feedback, add error handling to protect observable stream from being cancelled in case of an error
* PM-7235 - Fix tests
* Update libs/common/src/platform/services/user-key-init.service.ts
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* Update libs/common/src/platform/services/user-key-init.service.ts
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* PM-7235 - AuthSvc - Per PR review, for getAuthStatus, only check user key existence in memory.
* PM-7235 - remove not useful test per PR feedback.
* PM-7235 - Per PR feedback, update cryptoService.hasUserKey to only check memory for the user key.
* PM-7235 - Per PR feedback, move user key init service listener to main.background instead of init service
* PM-7235 - UserKeyInitSvc tests - fix tests to plass
---------
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
* [PM-5876] Adjust LP Fileless Importer to Suppress Download with DOM Append in Manifest v3
* [PM-5876] Incorporating jest tests for affected logic
* [PM-5876] Fixing jest test that leverages rxjs
* [PM-5876] Updating documentation within BrowserApi.executeScriptInTab
* [PM-5876] Implementing jest tests for the new LP suppress download content scripts
* [PM-5876] Adding a change to webpack to ensure we do not package the mv2 side script for `lp-suppress-import-download.mv2.ts` if building the extension for mv3
* [PM-5876] Implementing changes based on feedback during code review
* [PM-5876] Implementing changes based on feedback during code review
* [PM-5876] Implementing changes based on feedback during code review
* [PM-5876] Implementing changes based on feedback during code review
* [PM-5876] Implementing a configuration to feed the script injection of the Fileless Importer CSV download supression script
* [PM-5744] Adjust injection of `page-script.ts` within FIDO 2 implementation to ensure mv3 compatibility
* [PM-5744] Adjusting structure of manifest.json to clean up implementation and ensure consistency between mv2 and mv3
* [PM-5744] Reverting inclusion of the ConsoleLogService
* [PM-4791] Injected content scripts prevent proper XML file display and disrupt XML responses
* [PM-5744] Adjust FIDO2 content script injection methodology to be compatible with manifest v3
* [PM-5744] Adjusting references to Fido2Service to mirror change of name to Fido2Background
* [PM-5744] Migrating runtime background messages that are associated with Fido2 into Fido2Background
* [PM-5744] Fixing named reference within Fido2Background
* [PM-5744] Migrating all Fido2 messages from the runtime.background.ts script to the fido2.background.ts script
* [PM-5744] Removing unnecessary dependency from runtime background
* [PM-5744] Removing unnecessary dependency from runtime background
* [PM-5744] Reworking how we handle init of Fido2Background
* [PM-5744] Reworking page-script.ts to ensure that it can destory its global values on unload
* [PM-5744] Reworking page-script.ts to ensure that it can destory its global values on unload
* [PM-5744] Implementing separated injection methodology between manifest v2 and v3
* [PM-4791] Adjsuting reference for Fido2 script injection to ensure it only triggers on https protocol types
* [PM-5744] Removing unnecessary message and handling reload of content scripts based on updates on observable
* [PM-5744] Refactoring content-script implementation for fido2
* [PM-5744] Refactoring content-script implementation for fido2
* [PM-5744] Reworking implementation to avoid having multiple contenType checks within the FIDO2 content scripts
* [PM-5744] Re-implementing the messageWithResponse within runtime.background.ts
* [PM-5744] Reverting change to autofill.service.ts
* [PM-5744] Removing return value from runtime.background.ts process message call
* [PM-5744] Reworking how we handle injection of the fido2 page and content script elements
* [PM-5744] Adjusting how we override the navigator.credentials request/reponse structure
* [PM-5744] Working through jest tests for the fido2Background implementation
* [PM-5744] Finalizing jest tests for the Fido2Background implementation
* [PM-5744] Stubbing out jest tests for content-script and page-script
* [PM-5744] Implementing a methodology that allows us to dynamically set and unset content scripts
* [PM-5744] Applying cleanup to page-script.ts to lighten the footprint of the script
* [PM-5744] Further simplifying page-script implementation
* [PM-5744] Reworking Fido2Utils to remove references to the base Utils methods to allow the page-script.ts file to render at a lower file size
* [PM-5744] Reworking Fido2Utils to remove references to the base Utils methods to allow the page-script.ts file to render at a lower file size
* [PM-5744] Implementing the `RegisterContentScriptPolyfill` as a separately compiled file as opposed to an import
* [PM-5744] Implementing methodology to ensure that the RegisterContentScript polyfill is not built in cases where it is not needed
* [PM-5744] Implementing methodology to ensure that the RegisterContentScript polyfill is not built in cases where it is not needed
* [PM-5744] Reverting package-lock.json
* [PM-5744] Implementing a methodology to ensure we can instantiate the RegisterContentScript polyfill in a siloed manner
* [PM-5744] Migrating chrome extension api calls to the BrowserApi class
* [PM-5744] Implementing typing information within the RegisterContentScriptsPolyfill
* [PM-5744] Removing any eslint-disable references within the RegisterContentScriptsPolyfill
* [PM-5744] Refactoring polyfill implementation
* [PM-5744] Refactoring polyfill implementation
* [PM-5744] Fixing an issue where Safari was not resolving the await chrome proxy
* [PM-5744] Fixing jest tests for the page-script append method
* [PM-5744] Fixing an issue found where collection of page details can trigger a context invalidated message when the extension is refreshed
* [PM-5744] Implementing jest tests for the added BrowserApi methods
* [PM-5744] Refactoring Fido2Background implementation
* [PM-5744] Refactoring Fido2Background implementation
* [PM-5744] Adding enums to the implementation for the Fido2 Content Scripts and working through jest tests for the BrowserApi and Fido2Background classes
* [PM-5744] Adding comments to the FIDO2 content-script.ts file
* [PM-5744] Adding jest tests for the Fido2 content-script.ts
* [PM-5744] Adding jest tests for the Fido2 content-script.ts
* [PM-5744] Adding jest tests for the Fido2 page-script.ts
* [PM-5744] Working through an attempt to jest test the page-script.ts file
* [PM-5744] Finalizing jest tests for the page-script.ts implementation
* [PM-5744] Applying stricter type information for the passed params within fido2-testing-utils.ts
* [PM-5744] Adjusting documentation
* [PM-5744] Adjusting implementation of jest tests to use mock proxies
* [PM-5744] Adjusting jest tests to simply implementation
* [PM-5744] Adjust jest tests based on code review feedback
* [PM-5744] Adjust jest tests based on code review feedback
* [PM-5744] Adjust jest tests based on code review feedback
* [PM-5744] Adjusting jest tests to based on feedback
* [PM-5744] Adjusting jest tests to based on feedback
* [PM-5744] Adjusting jest tests to based on feedback
* [PM-5744] Adjusting conditional within page-script.ts
* [PM-5744] Removing unnecessary global reference to the messager
* [PM-5744] Updating jest tests
* [PM-5744] Updating jest tests
* [PM-5744] Updating jest tests
* [PM-5744] Updating jest tests
* [PM-5744] Updating how we export the Fido2Background class
* [PM-5744] Adding duplciate jest tests to fido2-utils.ts to ensure we maintain functionality for utils methods pulled from platform utils
* [PM-5189] Addressing code review feedback
* [PM-5744] Applying code review feedback, reworking obserable subscription within fido2 background
* [PM-5744] Reworking jest tests to avoid mocking `firstValueFrom`
* [PM-5744] Reworking jest tests to avoid usage of private methods
* [PM-5744] Reworking jest tests to avoid usage of private methods
* [PM-5744] Implementing jest tests for the ScriptInjectorService and updating references within the Browser Extension to use the new service
* [PM-5744] Converting ScriptInjectorService to a dependnecy instead of a static class
* [PM-5744] Reworking typing for the ScriptInjectorService
* [PM-5744] Adjusting implementation based on feedback provided during code review
* [PM-5744] Adjusting implementation based on feedback provided during code review
* [PM-5744] Adjusting implementation based on feedback provided during code review
* [PM-5744] Adjusting implementation based on feedback provided during code review
* [PM-5744] Adjusting how the ScriptInjectorService accepts the config to simplify the data structure
* [PM-5744] Updating jest tests to cover edge cases within ScriptInjectorService
* [PM-5744] Updating jest tests to reference the ScriptInjectorService directly rather than the underlying ExecuteScript api call
* [PM-5744] Updating jest tests to reflect provided feedback during code review
* [PM-5744] Updating jest tests to reflect provided feedback during code review
* [PM-5744] Updating documentation based on code review feedback
* [PM-5744] Updating how we extend the abstract ScriptInjectorService
* [PM-5744] Updating reference to the frame property on the ScriptInjectionConfig
* Re-register native messaging host integrations on startup
* Check for errors when generating the manifests
* Add log to component
* Switch to Promise.all
* Add injectable service