Branch:
DEVOPS-1573_add-web-build-script
11-21-test
202505-notifications-refactor
250807-notif-strict
264-UI
5019
AC-1086-the-remove-individual-vault-enterprise-policy-prevents-service-users-and-provider-admins-from-creating-new-vault-items-via-the-provider-portal
AC-217-Migrate-Cards-To-Banners
AC-2400-Migrate-families-for-enterprise-setup-component
Ac-1410/update_planresponsemodel_on_client
Auth/pm-1339/rotate-device-keys
BEEEP-automated-browser-release-to-stores
BRE-1022-SP-fallback
BRE-285-create-flatpak-distibution-method
BRE-494
BRE-863-Automate-Chrome-releases
CL-10-button-group-CVA-example
CL-122-common-components-module
CL-132-resizable-sidebar
CL-298-async-actions-2-0-context-string
CL-58-improvement-make-icon-button-compatible-with-bit-suffix-directive
CL-668-responsive-toggle-group
CL-671-remove-body-width
CL-69/nav-group-animations
CL-896
CL-94-async-actions-2-0-di-boundaries
CL-XXX/Enable-bitAction-on-ItemContentComponent
CL-badge-alignment
CLOUDOPS-838
Client-Integrations/pm-2733-master-password-does-not-reprompt-on-edit-after-cancelling-mp-reprompt-dialog
Customize-the-Phishing--Alert
DEVOPS-1573_add-web-build-script
DEVOPS-462-Add_code_signing_to_the_MacOS_CLI
DEVOPS-952-update-build-workflows-to-run-as-soon-as-rc-is-cut
EC-1069-cannot-save-an-item-to-a-collection-in-the-org-vault-view
EC-543-beeep-bitwarden-as-passkey-authenticator
EC-627-beeep-use-uri-for-vault-navigation-filtering
EC-649-beeep-routeable-dialogs
EC-855-cl-radio-group-block-support
ENG-72-commit-message-hook
ExtensionAcctSwitching
InnovationMenuItemChanges
PM-1034-tde-flow-3-v2
PM-11199-add-perm-value-to-table-admin-console
PM-11438
PM-11503-Defect-Organization-Automatic-Sync-verbiage-is-misleading
PM-11525-Estimated-tax-shown-to-customers-potentially-incorrect
PM-11889-Refactor-Loading-Indicator-from-organization-plans-change-plan-dialog-components
PM-1203-replace-mp-confirmation-with-verification-code
PM-1223-investigate-ability-to-add-support-for-mediated-conditional-ui
PM-1223-investigate-ability-to-add-support-for-mediated-conditional-ui-cg
PM-12403
PM-1245
PM-12681
PM-12765
PM-12985-testing-reports
PM-13156-2
PM-13246
PM-13272
PM-13273
PM-13455
PM-13755-revoked-members-counted-as-seat
PM-14164
PM-14619
PM-14622-rf-opt-state
PM-14891-Sales-Tax-Estimation-For-Organizations
PM-14892-Sales-Tax-Estimation-For-Clients
PM-14894-Drop-Sales-Tax-Database-Tables
PM-14952
PM-1500
PM-15077-passkey-save-error-on-oracle-cloud
PM-15090
PM-15126-second-attempt
PM-15126-tighten-scope-of-our-client-build-pipelines-to-remove-reliance-on-secrets
PM-15498
PM-15498-2
PM-15840-Defect-When-Free-Families-org-reached-max-collection-count-clicking-Upgrade-button-navigates-to-a-spinning-Subscription-page
PM-15943
PM-15943-3
PM-16104
PM-16164
PM-16921
PM-17732
PM-18027
PM-18325/allow-local-appx-signing
PM-19158-Archive-menu-option
PM-19180
PM-19521
PM-1978-ui-flow-non-discoverable-passkeys
PM-19923]AutoFocusOnSearch
PM-21017
PM-21408
PM-21719]-Assign-collection-visibility
PM-21800-Password-generator-on-Generator-tab-copies-spaces
PM-21950-Defect-Browser-After-importing-and-landing-on-Vault-Settings-back-button-navigation-goes-to-Import-screen-again
PM-2207-acoroiu-review
PM-2207-cg-edit
PM-22143-Tools-Refactor-TS-Enums-to-be-const-object-IMPORT-ONLY
PM-23686
PM-23748
PM-23851-False-Requirement-to-Pop-Out-Extension-When-Using-Send-Files
PM-24173-Defect-Length-min-numbers-and-min-special-fields-allow-any-values
PM-24269
PM-2427-fix-sso-prevalidate-path
PM-24501-multi-cipher
PM-24508
PM-24560
PM-24646-add-licensed-browser-release
PM-24646-research-how-to-build-all-clients-in-gpl-and-proprietary-licensed-versions
PM-25256
PM-25481-Tools-Update-copy-in-Admin-Console-export-page
PM-25521-Enable-new-importer-for-Chrome-on-MacOS-and-Linux-only
PM-25525-DEBT-Fix-SystemServiceProvider-dependency-injection
PM-25525-DEBT-LOGGING-Fix-SystemServiceProvider-dependency-injection
PM-25534-export-member-list
PM-25575-BEEP-duplicate-login-detection
PM-25685
PM-25686
PM-25693
PM-26250-Explore-options-to-enable-direct-importer-for-mac-app-store-build
PM-2637-initial-refactor
PM-26515
PM-26516-non-premium-desktop-archive
PM-26650
PM-26651
PM-26656
PM-26989-Add-Support-For-Arc-Browser-on-MacOS
PM-27248-Defect-An-unhandled-error-is-returned-when-a-MSP-tries-to-import-data
PM-27310-potentially-drop-use-of-i-frame-and-render-notification-bar-in-shadow-dom
PM-27334-Code-signing-electron-changes-to-bundle-the-exe
PM-2749-full-width-persist-on-sso
PM-27819
PM-2814-remove-configapiservice
PM-2814-remove-configapiservice-v2
PM-28182-Add-success-page
PM-28183-Migrate-the-filters-and-search
PM-28374-add-report-false-positive-button
PM-28391-persistent-ignore-phishing-sites
PM-28428
PM-2844-beeep-add-custom-error-codes-for-server-api-exceptions
PM-28548-update-phishing-list-to-links
PM-29033
PM-29242
PM-29283
PM-29509-lo-impact-remove-ts-strict-ignore-in-fido-2-content-messaging-messenger-ts-1-err-137-loc-11-4
PM-29510-lo-impact-remove-ts-strict-ignore-in-fido-2-utils-webauthn-utils-ts-3-err-130-loc-31-3
PM-29512-lo-impact-remove-ts-strict-ignore-in-popup-fido-2-fido-2-cipher-row-component-ts-5-err-56-loc-50-6
PM-29514-lo-impact-remove-ts-strict-ignore-in-overlay-notifications-content-overlay-notifications-content-service-ts-5-err-286-loc-52-9
PM-29515-lo-impact-remove-ts-strict-ignore-in-overlay-inline-menu-iframe-content-autofill-inline-menu-iframe-service-ts-5-err-482-loc-54-8
PM-29516-lo-impact-remove-ts-strict-ignore-in-utils-index-ts-7-err-485-loc-74-8
PM-29782/sign-appx-in-ci
PM-29784/enable-cross-appx-packaging
PM-29785/windows-webauthn-wrapper
PM-29951-desktop-archive-flag-off
PM-3169-browser-extension-show-login-decryption-options-in-extension-popup-and-not-in-extension-tab
PM-3445-loginState-error
PM-3644-beeep-experiment-with-reactive-syncing
PM-3728-add-backward-compatibility-check
PM-3978-handle-move-to-org
PM-4025
PM-4039/remove-individual-item-encryption-flag
PM-4057-loginState-error
PM-4060-native-rust-POC-implementation-of-desktop-webauthn
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-macos
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-macos-objc2
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-windows
PM-4110
PM-4226
PM-4240
PM-4276-passkey-popup-use-browser-overlap
PM-4295-popout-offscreen
PM-4358-revert-undefined-uv-check
PM-4401-re-add-manual-zone-execution
PM-4532-investigate-add-support-for-native-mac-os-credential-manager-in-desktop-application
PM-5009-Migrate-billing-component
PM-5010-Migrate-subscription-component
PM-5017-migrate-organization-plans-component
PM-5024-migrate-tax-info-component
PM-530
PM-5653/test-PR
PM-6113-build-rust-authenticator-and-client-to-support-i-os-and-android-passkey-provider-implementation
PM-6113-build-rust-authenticator-and-client-to-support-i-os-and-android-passkey-provider-implementation-features
PM-6271-propose-cipher-versioning-scheme
PM-6271-propose-cipher-versioning-scheme-data-layer
PM-662
PM-7157-Expose-AnonLayout-through-index.js
PM-7853-Clients-Hide-Send-from-navigation-when-user-is-subject-to-the-disable-Send-policy
PM-9022-scaffold-the-extension-and-build-pipeline
PM-9032-swift-extension-add-ui-to-handle-desktop-not-being-open
PM-9476-desktop-setup-obj-c-library-statically-bound-and-callable-from-desktop-native-module
POC/cipher-versioning
PS-1076-folder-service-refactors
PS-1086-add-account-observables-to-account-service
PS-1086-crypto-service-refactors
PS-1086/add-observable-to-vault-timeout-settings-service
PS-2247-correct-typos-in-EN_GB-EN_IN
PS-280
PS-55-8-3
PS-55-EncryptedExport
PS-589-2fa-device-verification-settings
PS-589-add-2fa-new-device-login-settings-flag
PS-589-add-2fa-new-device-login-settings-web
RELEASE-1200/update-browser-release-asset-name
S-972-clients-update-translation-keys-to-match-content
SG-1012
SG-163
SG-168/login-with-device-request
SG-65/resgitration-form-reusable
SG-714
SG-714-Fix
SG-714-GPG
SM-10995]-Remove-Feature-Flag-VBMA
SM-1301-getbyidsevent
SM-1415-EventLogs
SM-1548-SecretViewSlow
SM-1570
SM-1599-VirtualScroll
SM-1743-featureflag-disablesm
SM-264
SM-264-UI
SM-408/until-destroy
SM-612-ProductSwitcherHighlights
SM-614
SM-646-sidebar
SM-73
SM-846
SM-867-UUID
SM-910
SM-923
SM-95-ProjectList
SM-95-ProjectsList
SM-954-SeparateGettingStartedPage
SM-Jest
SecretsService
aa-branch-2
abortfido
ac-1102-automatic-sync-is-visible-for-self-hosted-families-orgs
ac-1218-add-ability-to-delete-provider-portals
ac-1753/Automatically-assign-provider-pricing-to-new-org
ac-2101-update-welcome-emails-from-trial-initiation-and-org-creation
ac-2709-upgrade-from-2-person-free-org
ac-2721-apply-subscription-status-updates-in-provider-subscription-details
ac-2957-delete-the-feature-flag-PM-5864-dollar-threshold
ac/ac-1595/bypass-sso-identifier-copy-update
ac/ac-1662/can-delete-port-ffc
ac/pm-17168/revoking-user-is-not-synced-immediately-via-push-notification
ac/pm-19814/improved-warning-popup-ui
ac/pm-20633/rename-individual-vault
ac/pm-22390/fix-device-approval-perm
ac/pm-22392/fix-cli-manage-device-approvals
ac/pm-22434/remove-item-org-ff
ac/pm-26364-Extension-UI-for-Auto-confirm
ac/pm-26365-Auto-confirm-extension-one-time-setup-dialog
ac/pm-26463-members-component-refactor
ac/pm-2790-use-master-password-policy-in-account-recovery
ac/state-provider-framework-policy-service
ac/strong-typed-guids
ac1454-2fa-directory
acoroiu/poc-simple-vault-indexing
acostarj-patch-1-cs-clients
acostarj-text-update
add-application-lifetime-service
add-banner-service
add-error-check-for-invalid-cipher-key
add-gitlens-settings
add-key-value-pair-importer
add-logging-around-main-background
add-opentelemetry
add-purpose-enc-string-type
add-qa-urls-to-selfhosted-exclusion
add-risk-over-time-chart
add-root-dir-to-libs
add-secure-logging
add-storage-lib
add-tool-manifest
add-url-filtering
add-window-menu-id
addison/esm-exp
adjust-trial-icon
admin-console-user-key-migration
agalles/test-workflows-feature
agalles/test-workflows-sticky
agalles/troubleshooting-20250415
aj-test-workflow-update
alt-EC-457-component-library-icon-butttons-custom-tw-plugin
anders-oxc-prettier
anders-oxlint
anders/cxp-extension
anders/eslint-cache
anders/eslint2
anders/extension-signing
anders/increase-passkey-limit
anders/ipc1
anders/kvc
anders/kvc2
anders/logs-silent
anders/mac
anders/new-macos-sdk
anders/nx-devdeps
anders/oxc-prettier
anders/passkey-debugger
anders/passkey-window-working-mergetest
anders/passkeys
anders/pm-7673-create
anders/pnpm
anders/poc-unlock
anders/rust-cache
anders/sign1
anders/sign2
anders/sign3
anders/sign4
anders/ssh-ux
anders/test-bug
anders/test1
anders/unlock-prf-3
anders/win-passkey-poc
anders/win-passkey-poc-clean
anders/win-sign
anders/win2
anders/win3
anders/win4
angular-di-mv3
api-lib
appid-logging-build
arch/copilot-instruction
arch/group-webpack
arch/kiro
arch/localization-migrators
arch/migrate-desktop-settings
arch/ng-localize
arch/poc-form-builder
arch/takeuntil-migrator
arch/test-fail-console
arch/tools-abstract-strict
attachrend
audreyality/claude-code-experiment
auth-circ-deps
auth/PM-5187/double-popout-twofactor-mail
auth/PM-6296/fix-unavailable-biometrics-in-clamshell-mode-3
auth/PM-7084/two-factor-refactor
auth/add-logout-reason
auth/add-sync-for-standard-auth-requests
auth/add-tde-offboarding-check-to-2fa
auth/beeep/flatpak-devel-yaml
auth/beeep/hide-linux-tray-icon-setting
auth/claude-component-service-architecutre
auth/desktop-debug
auth/device-on-all-requests
auth/pm-10964/explicitly-define-userId-on-org-create
auth/pm-10964/set-userid-org-acceptange
auth/pm-11537/increase-passkey-limit
auth/pm-11940/migrate-registration-to-sdk
auth/pm-14873/registration-add-reseller-provider-portal-invite-support
auth/pm-14938/proof-of-concept-notification-architecture
auth/pm-14943/auth-request-extension-dialog-approve-debug
auth/pm-16536/login-comp-mp-entry-screen-auto-fill-doesnt-change-email-subtitle
auth/pm-16783/tech-debt-fixes-toast-service
auth/pm-17111/add-browser-to-list-of-approving-clients-v2
auth/pm-17172/extension-acct-switcher-lock-now-btn-not-showing-disabled-style
auth/pm-17464/remove-snap-sso-handler
auth/pm-1779/remove-window-post-message-from-sso
auth/pm-18576/fix-missing-userid-on-remove-password
auth/pm-18654/new-ui-desktop-tde-jit-errors-with-missing-org-sso-id-v2
auth/pm-18720/change-password-component-non-dialog-v2
auth/pm-18720/change-password-component-non-dialog-v3
auth/pm-18986/ui-refresh-extension-webauthn-2fa-fix-old-styles
auth/pm-19057/poc
auth/pm-19057/test-1
auth/pm-19209/revert-to-original-message
auth/pm-19398/managed-environement-not-displayed-on-browser-client
auth/pm-194/account-stories
auth/pm-19555/defect-clicking-log-out-button
auth/pm-19617/speed-up-local-host-config
auth/pm-20109/increase-2fa-webauthn-security-key-limit
auth/pm-20532/tech-breakdown-poc-token-based-send-authn-and-authz
auth/pm-22222/email-not-sent-for-cli
auth/pm-22663/auth-consolidate-login-comp-routing
auth/pm-22723/policy-service-updates
auth/pm-23620/auth-request-answering-service-temp
auth/pm-23907/token-to-sync-delay
auth/pm-24103/remove-get-user-key
auth/pm-26141/proof-of-concept-marketing-initiated-premium-flow
auth/pm-26209/bugfix-desktop-error-on-auth-request-approval
auth/pm-26578/http-redirect-cloud
auth/pm-27086/input-password-use-new-km-data-types
auth/pm-2772/stop-process-reload-on-bio-cancel
auth/pm-2875/remember-me-option
auth/pm-29545/change-to-date-type
auth/pm-3387/invalid-auth-request-error
auth/pm-3519/move-auth-request-api-methods
auth/pm-3707/fix-icon-size
auth/pm-3797/emergency-access-refactor
auth/pm-3916/firefox-pin-issues
auth/pm-4530/attemtp-to-fix-sso-in-snap-desktop
auth/pm-5217/biometrics-on-different-account
auth/pm-5991/fix-account-switcher-logout
auth/pm-6188/move-two-factor-service-to-popup
auth/pm-6484/update-di-for-cryptoservice
auth/pm-6491/jit-sso-browser
auth/pm-6688/account-service-as-primary-account-source
auth/pm-6789/use-legacy-key-for-migration
auth/pm-7608/account-security-settings-change
auth/pm-7882/email-verification-removal
auth/pm-8111/browser-refresh-login-component
auth/pm-8115/desktop-extension-ui-refresh-self-hosted-setup-dialog
auth/pm-8225/ipc-warnings
auth/pm-8225/send-userkey-to-desktop-on-unlock
auth/pm-8225/timeout-dev-mode
auth/pm-8225/typesafe-commands
auth/pm-8285/remove-extra-clearing-of-state
auth/pm-8341/radio-buttons-to-checkboxes
auth/pm-8882/add-tde-logging
auth/pm-9019/safari-login-with-device-bugfix
auth/pm-9115/implement-view-data-persistence-in-2FA-flows
auth/pm-9576/qa-artifacts
auth/qa-test/passkey-uv
auth/remove-twoFactorProvider-property
auth/security-stamp-disk-state
auth/setUserDecryptionOptions
auth/state-provider-key-connector
auto-merge-renovate
autofill-user-key-definition-migration
autofill/PM-17187-autofill-new-identity
autofill/PM-19511-show-existing-items
autofill/PM-19511-with-exclude
autofill/PM-20367
autofill/PM-21846-center-unlock-vault-modal
autofill/PM-24656-detect-login-fields-with-webauthn-name
autofill/PM-24720-autofill-after-focus-alternative
autofill/PM-24720-non-blocking-page-details-collection
autofill/PM-25072-autofill-password-potterybarn
autofill/PM-26053-new-login-defect
autofill/PM-26348-zoom-autofill-password
autofill/PM-26503-medium-blocks-events
autofill/PM-27365-convert-list.scss-to-css-file
autofill/PM-28079-track-specified-attributes
autofill/PM-28080-debounce-overlay-setup
autofill/PM-9034-implement-passkey-for-unlocked-accounts-jholland-tests
autofill/anders-passkey-unlock
autofill/atdb
autofill/atdb_v2
autofill/autotype-security
autofill/beeep/autofill-identity-card-from-keyboard-shortcut
autofill/beep-lastpass-import-poc
autofill/beep-rearchitect-extension-messaging
autofill/beep/pm-5189-fix-issues-present-with-inline-menu-rendering-in-iframe
autofill/dialog-box-fix
autofill/for-nick
autofill/implement-collect-page-details-observable
autofill/log-cipher-decryption
autofill/migrate-autofill-on-page-load
autofill/mv3-required-poc-changes
autofill/notifications-rework-overlay-content-service-integration
autofill/pm-10068-remove-send-response-usages
autofill/pm-10418-expiration-date-on-cards-does-not-autofill-the-correct-format
autofill/pm-12352-remove-legacy-overlay-background
autofill/pm-12352-remove-legacy-overlay-background-minimal
autofill/pm-12763-modify-autofill-animation
autofill/pm-17641/fix-ssh-agent-default-socket-path
autofill/pm-17641/fix-ssh-agent-default-socket-path-only
autofill/pm-17789
autofill/pm-19255
autofill/pm-19255-variables
autofill/pm-21845
autofill/pm-2319-implement-autofill-overlay-poc
autofill/pm-26227/autotype-strict-type-keyboard-input
autofill/pm-27200/add-autotype-electron-unit-tests
autofill/pm-2753-prompt-to-save-login-credentials-silently-drops-data-on-network-error
autofill/pm-27549/autotype-remove-mvp-ff
autofill/pm-27655/autotype-integration-tests
autofill/pm-28076/autotype-remove-shift-modifier-key
autofill/pm-29177/enable-rust-pre-commit-hooks
autofill/pm-29288/error-dialog-desktop-already-running
autofill/pm-29587/desktop-ci-electron-builds-developer-mode-on-prs
autofill/pm-29644/add-ci-workflow-install-run-desktop-client
autofill/pm-5056-edge-and-opera-users-cannot-override-default-browser-autofill
autofill/pm-5189-duplicate-overlay-elements-shown-when-focusing-iframe-field
autofill/pm-5582-verify-usage-of-window-object-in-browser-popup-utils
autofill/pm-5740-update-local-back-storage-service-to-trigger-observable-updates
autofill/pm-5742-rework-usage-of-extension-apis-that-are-not-callable-within-service-workers-get-extension-views
autofill/pm-6122-rework-call-for-match-media-within-notification-background
autofill/pm-6426-create-alarms-manager-and-update-usage-of-long-lived-timeouts
autofill/pm-7138-implement-separate-main-background-instance-within-popup-for-get-bg-service-calls
autofill/pm-73-improve-detection-of-new-login
autofill/pm-7581-validate-cache-state-from-external-context-within-local-backed-session-storage
autofill/pm-934-autofill-not-working-until-page-has-been-refreshed
autofill/pm-934-autofill-not-working-until-page-has-been-refreshed-rework
autofill/poc-auto-submit-filled-form-alt
autofill/poc-firefox-mv3
autofill/refactor/generator
autofill/spike-mv3
autofill/spike-mv3-part-2
autofill/spike-mv3-part-4
autofill/spike-mv3-part-5
autofill/spike-mv3-working-session
autotype-demo
backport/fix/mv2-unlock-on-autofill
bc/anon-layout-with-logo-slot
bc/group-mjml-updates
beeep-autofill-debug
beeep-chip-focus-redirection-after-selection
beeep-focus-headings-after-load
beeep-performance-improvements
beeep/cipher-service-refactor
beeep/developer-tooling-feature-flags
beeep/enhanced-a11y-form-fields
beeep/files
beeep/import-selection
beeep/plausible
beeep/rust-fido2-desktop
beeep/typesafe-i18n
beep/rails-nav
better-passkey-auth
billing/PM-28509/replace-premium-upgrade-flow-desktop
billing/PM-28541/remove-ff_pm-22415-tax-id-warnings
billing/PM-29609/create-reusable-plan-cards
billing/csp-update
billing/pm-19484/Sspacing-off-for-pending-cancellation-badge
billing/pm-24033/update-premium-subscription-page-m2
billing/pm-24098-remove-getOrgKey-from-the-key-service
billing/pm-24350-discrepancy-between-estimated-tax-values-for-product-vs-marketing
billing/pm-27911/subscription-details-for-secrets-manager-with-free-password-manager
billing/pm-29061/remove-24996-feature-flag
bre-1037/update-rc-deploy-trigger
bre-1371_optimize-workflows
browser-ext-message-symbols
browser-mv3-messaging
browser-rc-heartbeat
browser-rc-wasm
bug/PS-1823-allowing-diacritics-on-email-domain
bug/derived-state
bug/webpack-config-for-fastmail
build-execution-context
catalina-after-angular-16
catalina-before-angular-16
catalina-browserslist-test
change-return-of-refresh-logic
change-tap-to-mergemap
change/PM-1102
cherry-pick-auth-request-fix
chromium-conflicts
cl-ra
cl/copy-field
cl/section-stack
claude/dirt-pm-27284-claude-1-session-011CUaHfLuKZghJYCJpUtcZd
claude/make-newapplications-optional-011CUcmXM8m4juUdrcr4qyCv
claude/review-merged-prs-011CUcFEum5zpdxzgRcQRWct
claude/review-run-report-changes-011CUcUFkD9eAFPENxSQozh4
cli-macos-signing
client-type-library
close-window-debugging
cloudops-437
clps-remove-angular-dep
commit-message-hook
common-nx
community/PM-11497/default-collection-check-saving-item
community/PM-2043-fix-additional-chars-clipboard
community/PM-2714/fix-move-item-to-nofolder
community/PM-7413/fix-report-page-not-retrieving-data-on-refresh
community/PM-959/prevent-new-line-feed-copying
community/pm-11628/fix-set-password-on-sso
community/pm-12617/chromium-browser-integration-linux
community/pm-12751/fix-snap-home-permissions
community/pm-13266/fix-logmeonce-csv-import
community/pm-1560/snapcraft-cli-sso-fix
community/pm-2539/fix-snap-plugs
core-test-utils-lib
coroiu/PM-22593-improve-initialization-process-for-database-and-repositories
coroiu/allow-rust-cache-disable
coroiu/beeep-desktop-browser-ipc-channel
coroiu/beeep-iterators
coroiu/experiment-with-dynamic-badge-calculators
coroiu/fix-refresh-clearing-badge
coroiu/group-lowdb
coroiu/ipc-ping-example
coroiu/performance-measure
coroiu/play-around-with-remote-sdk
coroiu/poc-api-service-cookie-fetching
coroiu/remove-deps
coroiu/remove-unsafe-from-extern
coroiu/remove-using-from-rc
coroiu/wasm-tracing
create-guid-type
creep-content-script-poc
crowdin-auto-sync
ddg-files-modified-test
dependabot/npm_and_yarn/follow-redirects-1.15.5
desktop-devtools-enabled
desktop-ui-refresh
desktop-ui-updates
desktop/pm-18769/migrate-vault-filters
dev-mode-example
dev/kreynolds/tunnel_proto
dev/kreynolds/tunnel_proto_v2
dh-communications-with-key-connector
dirt/pm-17577/test-deployment
dirt/pm-19322/accessibility
dirt/pm-19810/member-access-report-csv
dirt/pm-19996/app-icons-on-risk-insights
dirt/pm-20132/member-count-must-includes-invited-users
dirt/pm-20577/report-summmary-for-db
dirt/pm-20578/report-summary-for-db
dirt/pm-20580/risk-insights-use-save-services
dirt/pm-20630/my-items-in-report
dirt/pm-21287/ngrx-poc
dirt/pm-23002/first-run-prompt
dirt/pm-23264/display-cipher-name
dirt/pm-23273/display-username-in-event-logs
dirt/pm-23375/replace-drawer-with-dialog
dirt/pm-23602/collection-name-in-event-logs
dirt/pm-23603/group-names-in-event-logs
dirt/pm-23822/org-integration-api-service
dirt/pm-23824/integration-and-configuration-data
dirt/pm-24655/hec-connection-delete
dirt/pm-26676/risk-insights-refresh-when-org-changes
dirt/pm-26676/risk-insights-refresh-when-org-changes-2
dirt/pm-27706/columns-for-new-apps-dialog
dirt/pm-27739/application-icons-not-rendering
dirt/pm-27803/disabled-activity-states
dirt/pm-28548/phishing-blocker-support-links
dirt/pm-29021/phishing-blocker-guard-updates
dirt/pm-29278/reports-button-defect
dirt/risk-insights-saving-reports-outline
dirt/update-risk-insight-models
ds/CL-330/close-select-on-scroll
ds/cl-235/slider
ds/cl-435/windows-shake-test
ds/compact-mode-2
ds/compact-mode-user-setting
ds/full-screen-dialog
ds/popup-siderbar-test
ds/prevent-copy-masked-field
ds/test-chromatic
ds/update-ds-codeowners
duo-sdk-upgrade
dwbit-patch-1
electron-hook-afterpack-test-for-chrome-sandbox-issue
environment-service-url-set-refactor
event-target-mock
example-documentation
explicit-userId-on-master-password-decryption
extension-signing
extract-serialization-library-from-common
extract-utils-from-common
fastlane-desktop-test
feature-passkey-provider
feature-personal-item-clone
feature-tde-merge-testing
feature/EC-14-collections
feature/PM-1209-lastpass-import-into-existing-folder-collection
feature/PM-191-desktop-envs
feature/PM-25865-migrate-send-list-desktop-migration
feature/PM-27794-create-send-component-desktop-migration
feature/PM-55-extract-token-api-calls-from-api-service-v2
feature/PM-55-refactor-identity-api-methods-out-of-api-service
feature/all-cores-multithreaded-decryption
feature/autofill-tester
feature/biometrics-rework
feature/browser-angular-di
feature/decrypt-cipher
feature/decrypt-refactor
feature/decrypt-test
feature/i18n-component-template
feature/manifest-experiment
feature/org-admin-refresh-v3
feature/phishing-detection
feature/phishing-detection-exemptions
feature/rust-ipc2-experiment
feature/seperate-connectors
feature/trust
feature/trusted-device-encryption-rc
feature/unix-biometrics
feature/windows-native-passkeys-provider
firefox-extension-test
fix-auth-circular-references
fix-autofill-signing-with-main
fix-ci
fix-export-service-import
fix-logout-on-biometrics-state-service
fix-never-domain-location
fix-registration-start-this-typo
fix-ts58-platform
fix-unawaited-promises-crypto-service
fix/medium-click-issue
get-the-known-phishing-domain-from-the-server
global-state-library
graphite-test
handle-unix-not-found-error
hide-mac-failed-on-cli
hotfix-rc-browser
hotfix-rc-desktop
idphost
iinuwa/win-passkey-poc
iinuwa/win-passkey-uv
impl-sdk-engines
implement-account-service
improve-options-type-safety
improve-session-syncer-observables
individual-vault-item-encryption-version-test
inline-menu-test-from-browser-rc-branch
innovation/archive/desktop-work
innovation/archive/web-work
innovation/opaque
innovation/user-achievements/event-stream-prototype
input-password-suggestion
introduce-inversify
key-definition-enhancements
kiro-localize
km/15084-testing
km/PM-25698/snap-sleep
km/auth-move-initial-password
km/auto-kdf-qa
km/beeep/amd64-targz
km/beeep/biometrics-flatpak-test
km/beeep/clean-agent-rewrite
km/beeep/drop-masterkey-auth-request
km/beeep/epheremal-value-store-rust
km/beeep/experimental-memfd-ssh
km/beeep/fido2-deps
km/beeep/fido2-rust-v2
km/beeep/hide-unsupported-options
km/beeep/llm-agent
km/beeep/qr-login
km/beeep/read-cache
km/beeep/send-image-preview
km/beeep/write-cache
km/beeep/zip-encrypted-export
km/beeep/zip-import
km/biometrics-testflight-builds
km/browser-integration-flatpak
km/build-linux-desktop-native-natively
km/cose
km/crypto-next-testbed
km/ddg-tmp
km/decrypt-obj
km/decrypt-to-file-data
km/default-argon2
km/disable-anti-tracing
km/disable-legacy-ciphers
km/disable-process-isolation
km/electron-fuse
km/encrypt-coverage
km/encrypt-only-string
km/encstring-cleanup
km/encstring-remove-decrypt
km/encstring-remove-decrypt-1
km/encstring-remove-decrypt-2
km/fido2-client
km/fido2-desktop-plumbing
km/fix-desktop
km/fix-dr-tool
km/fix-i18n-data-recovery
km/fix-provider-key-observable
km/low-kdf-testing
km/maybe-fix-proc-reload
km/move-keygen-ownership
km/mp-jit-trust-prompt
km/package-type-qa
km/pm-104
km/pm-10408/ssh-generator-with-modern-generator-infrastructure
km/pm-10414/app-info-extended
km/pm-10924/biometrics-key-not-cleared-when-disabled
km/pm-12238/process-reload-when-cancelling-auth
km/pm-14445
km/pm-14445-crypto
km/pm-14448/remove-appimage
km/pm-14612
km/pm-15112/fix-web-refresh
km/pm-15584/fix-safari-bio
km/pm-18017/show-key-connector-domain-for-new-sso-users
km/pm-2094/windows-hello-focus
km/pm-21772-show-key-connector-domain-for-new-sso-users
km/pm-23618
km/pm-25385
km/pm-27236-account-registration-v2-key-connector
km/pm-27283-reactive-available-vauilt-timeout-actions
km/pm-540/disable-biometrics-when-failing-bio-auth-on-setup
km/pm-pm-15994/move-encrypt-service
km/poc-flight-recorder
km/poc-windows-hello-2
km/process-reload-dev
km/refactor-symmetric-encrypt-interface
km/refactor-symmetric-keys-3
km/refactor-symmetric-keys-4
km/remove-container-service
km/remove-legacy-crypto
km/remove-rsa-encrypt
km/remove-unused-functions
km/rename-encrypt-to-bytes
km/replace-encstring-with-unsigned-shared-key
km/rsa-extract-public-key
km/secitem-poc
km/secure_memory
km/signing-upgrade
km/simplify-linux-biometrics
km/ssh-agent-bugfixes
km/ssh-auto-hide
km/strict-non-null
km/tde-offboarding-fix
km/tde-registration
km/tde-trust-prompt
km/test
km/test-arm
km/test-arm64
km/test-ddg
km/test-drop-encrypted-object
km/test-swift
km/tmp-biometrics-fixed
km/tmp-flatpak
km/tmp-mac-dmg-browser
km/tmp-move-all-teams
km/tmp-move-auth
km/tmp-newkey
km/tmp-ownership-2
km/validate-args
lastpass-sso
lastpassimporter
linux-rpm-arm64-build-test
local-phishing-data-gh-action
log-to-storage-2024.7.1
logout-lib
logout-library
logout-reason-circular-imports
lt/knip
m/cl/submit-width
m/login-bootstrap
mac-build-test
main
main-branch-for-BRE49
manyorgdomains
mer/browser-refresh/beta-3
mer/pre-release-flag-on
messaging-docs
messaging-update-cg
move-folder-state-to-folder-service
namespaced-state-service
nathan/autofill-fix
neuronull/beeep/clippy-pedantic-autofill-desktop
neuronull/ci-build-desktop-build-dev
neuronull/ci-desktop-native-add-cargo-machete
neuronull/desktop-native-clean-unused-deps
neuronull/test-ci-cargo-deny-check
neuronull/test-pr-for-index.d.ts-generate-check
neuronull/testing-tracing-macos-provider
neuronull/true-up-napi-index.d.ts
no-firefox-mv3
notifications-bar-mv3
notifications-mv3
nov-6-known-good-main-desktop-build-test
nx-integration-testing
observable-token-service
on-installed-message-injection-poc
optimize-workflows
origin/billing/PM-5093/send-trial-initiation-email
passkey-window-loadurl
platform/PM-2910/unblock-account-switching
platform/add-comments-to-renovate
platform/add-prerequisites-to-issue-templates
platform/addison/PM-12624/update-codeowners
platform/adjust-ignoredeps
platform/config-device-identifier
platform/disable-patch-updates
platform/exclude-package-lock-from-codeowners
platform/handle-401-refresh-token
platform/mark-activeuserstate-deprecated
platform/pm-11936/remove-token-refresh-before-sync
platform/pm-14640/npm-ignore-patch
platform/pm-21683/add-duckduckgo-extension-device-type
platform/pm-22534/move-account-activity-to-memory
platform/pm-23694/webpush-edge
platform/pm-25424/revert-changes
platform/pm-27943/handle-electron-store-errors
platform/pm-6484/firefox-reprompt
platform/pm-7646/revert-ipc-changes
platform/revert-2025.3.1
platform/safari-native-messaging-docs
playwright
pm-11417-customers-expiration-date-in-admin-console-changing-to-next-invoice-date
pm-12767
pm-13785-after-submitting-the-payment-method-the-blank-add-payment-method-modal-pops-up-again
pm-13868-remove-upgrade-password-manager-flag
pm-15166-build-bw-musl
pm-15808-Show-suspended-org-modals-for-orgs-in-unpaid-and-canceled-status
pm-18047-blank-loading-modal-briefly-shown-before-the-upgrade-modal
pm-18701-optional-payment-modal-after-signup
pm-19497-reset-search-x-browser
pm-22968-ui-when-MSP-BUP-is-suspended-feature-flag
pm-23023
pm-24033-update-premium-subscription-page-m2
pm-24216-WEB-BEEEP-Improve-the-Code-Quality-of-the-Upgrade-Dialog
pm-25166-deprecate-premium-banner
pm-25269
pm-2537-region-selector-dropdown
pm-26476
pm-28077-more-ignoredInputTypes-in-CollectAutofillContentService
pm-28831
pm-29236
pm-3612-cg
pm-5347/vault/fix-p1336-to-asn1-der-conversion
pm-5559-cg
pm-5620
pm-7369/revert-snap-description-change
pm-8458-default-clear-clipboard-5min-strings
pm/CL-91-table-pagination
poc/observable-based-update-service
poc/search-query-language
poc/searchable-decorator
poc/structurizr
prevent-failure-from-corrupted-cipher-key
production-api-connections
ps-1081/split-out-api-methods-into-api
ps-1081/split-out-api-methods-into-api-service
ps-1082/transition-cipherService-into-providing-observables
ps/BEEEP-sos-dialog
ps/CL-131/bit-row-selector
ps/CL-135/cl-standalone-comps
ps/CL-135/migration-docs
ps/CL-175/bit-layout-horizontal-scroll
ps/CL-209/nav-item-deadzone
ps/CL-210/base-font-size
ps/PM-14166-add-brave-vivaldi
ps/PM-3530/popup-persistance-examples
ps/PM-4406/select-dropdown-browser-zoom
ps/angular-jest-browser
ps/app-shell-code-owner
ps/beeep-browser-recover
ps/beeep-compodoc
ps/bit-menu-scroll-story
ps/cli-module-es2020
ps/clone-prototype-of-memory-stored-objects
ps/electron-39-workaround
ps/electron-update
ps/fix-browser-account-switching
ps/forbid-direct-api-service
ps/forward-conditional-create
ps/include-previous-in-derive-callbacks
ps/item-truncate-default-slot
ps/list-unnecessary-save-warnings-to-state-providers
ps/mac-passkey
ps/move-org-switcher
ps/nullable-factory
ps/on-lock-on-logout-interfaces
ps/pm-11661/fill-buffer
ps/pm-15333/portable-desktop
ps/pm-19659/server-notifications-readme
ps/pm-2910/migrate-environment-service
ps/pm-5533/migrate-asym-user-keys
ps/pm-5536/config-service
ps/pm-5537/desktop-biometrics-state-service
ps/pm-7486/detect-libsecret-service
ps/pm-7486/detect-libsecret-service-debugging
ps/pm-7546/fix-cipher-upsert
ps/pm-7826/expose-user-environment
ps/pm-7826/notifications-service-refactor
ps/pm-7826/token-service-obs
ps/pm-7837/sync-service-auth
ps/pm-7926/fix-browser-logout
ps/pm-7985/vault-not-loading
ps/pm-8003/process-reload-only-when-cancelled
ps/pm-9048/enable-account-switching-for-safari
ps/raise-tsconfig-target
ps/remove-node-fetch
ps/responsive-account-settings
ps/resume-popup-url
ps/section
ps/service-worker-sessions-are-not-recovered
ps/state-provider-updates-in-sync-with-observable
ps/strict-config
ps/test-sdk-ipc-through-proxy
ps/ts-strict-common-abstract
ps/user-verification-stories
ps/vault-health-dashboard
ps/web-subresource-integrity
radio-buttons-block-option
rc
rc-without-electron
reduce-desktop-disk-writes
refactor-biometric-service-method-names
refactor-merge-build-filter
refactor-move-build-filter
refresh-token-logging
regen-package-lock
release-management-fix
reload-config-on-set-urls-from-storage
remove-annotated-keys-from-memory
remove-autofill-shortcut-from-platform-utils
remove-clippy-allow-crypto
remove-session-sync
remove-session-sync-suggestion-clearable
reno-major-jest
renovate-docker
renovate/actions-checkout-6.x
renovate/actions-setup-node-6.x
renovate/babel-loader-10.x
renovate/bitwarden-russh-digest
renovate/chalk-5.x
renovate/chromaui-action-13.x
renovate/chrome-0.x
renovate/commander-14.x
renovate/concurrently-9.x
renovate/dotnet-monorepo
renovate/dtolnay-rust-toolchain-digest
renovate/electron-fuses-2.x
renovate/electron-rebuild-4.x
renovate/electron-store-11.x
renovate/gio-0.x
renovate/inquirer-13.x
renovate/inquirer-8.x
renovate/jest
renovate/jsdom-27.x
renovate/koa-json-2.x
renovate/koa__multer-2.x
renovate/koa__router-12.x
renovate/lock-file-maintenance
renovate/major-dotnet-monorepo
renovate/major-github-artifact-actions
renovate/major-jest
renovate/major-nx-monorepo
renovate/major-storybook-monorepo
renovate/minor-and-patch-linting-updates
renovate/minor-github-actions-updates
renovate/napi
renovate/papaparse-5.x
renovate/rsa-0.x
renovate/russh-cryptovec-0.x
renovate/sha2-0.x
renovate/storybook-test-runner-0.x
renovate/type-fest-5.x
renovate/windows
responsive-vault--filters
responsive-web-vault
restrict-imports
revert-10342-auth/pm-8316/fix-account-switcher-on-vault-logout-timeout
revert-10653-auth/pm-8316/fix-account-switcher-on-vault-logout-timeout
revert-12161-PM-13938-exceptPasswordPermission
revert-12379-crowdin-auto-sync-browser
revert-13612-tools/pm-18456/unassigned-items-reports
revert-13922-fix/check-device-id-falsy-values
revert-14414-crowdin-auto-sync-browser
revert-14521-PM-20514-ux-updating-item-with-1-matching-login-edit-permission
revert-15851-revert-15844-BRE-1022-replace-sps
revert-17123-tools/PM-23258/import-items-vs-data-verbiage
revert-17571-renovate/cc-1.x
revert-4209
revert-5400-renovate/gh-minor
revert-8073-renovate/argon2-0.x
revert-8546-revert-8534-CLOUDOPS-1369-remove-r-2-bucket-secrets-and-upload-procedure-from-the-artifacts-github-workflows
revert-8685-ac-1218-add-ability-to-delete-provider-portals-emaillink
risk-insights-demo-1
risk-insights-final-demo
run-chrome-updates-in-angular
sandbox/vault-filter-example
saveinbutton
sdk-pass-generation
serialization-library
set-rust-nightly-version
settings-modal
sg/SG-643
shane/experiment/vault-state
shane/experiment/vault-state-v2
skip-listening-to-flag-changes-during-login
sm-10995]-FeatureFlagRemoval
sm-150-updatingUItoUseNewResponseStructure
sm-264-master
sm-bulk-move-to-project
sm-jest-mock-extended
sm/CL-82-icon-component
sm/PM-145-confirm-safe-site
sm/SM-616-export-extension
sm/SM-830-bulk-SM-uncheck
sm/crypto-refactor
sm/fix-onboarding
sm/secrets-access
snap-extra-files
split-large-event-upload-requests
sso-device-key-callback-poc
state-library
state-provider-service
storage-core-library-2
storage-service-get$
structural-request-result
synced-unlock-state
task/BRE-284
temp-zhHant-testing-branch
test-PM-12423-for-loop
test-codeowner-branch
test-coop-coep
test-safari-build
test_2
tmp/account-cryptographic-state
tools/PM-10938/1pux-ssh-key-import
tools/PM-13712/validation-minimal-reproduction
tools/PM-14470/mark-critical-apps
tools/PM-14927/display-critical-app-count
tools/PM-15091/db-feature-flag
tools/PM-16822/Replace-account-service
tools/PM-16898/cleanup-circular-dependencies
tools/PM-6415/legacy-send-state-provider
tools/PM-7875/add-info-where-parse-failed-lp-import
tools/PM-9604/PM-9604-paid-subscription-not-navigating-reports
tools/bounds
tools/cl-608/allow-custom-icons-in-toasts
tools/generator/organize-types-and-data
tools/internal-generator-docs
tools/pm-14001/fix-zero-checked-bug
tools/pm-15979/restore-min-max-attributes
tools/pm-16484/risk-insights-at-risk-count-fix
tools/pm-18656/remove-individual-vault-policy
tools/pm-19081/replace-new-send-button-with-NewSendDropdown-component
tools/pm-19223/aggregate-by-domain
tools/pm-20344/export-attachments-with-same-filename
tools/pm-21776/update-send-access-copy
tools/pm-23918/password-authentication
tools/pm-24015/empty-send-password-handling
tools/pm-27220/export-filetype-simple-dropdown
tools/pm-27251/clean-up-sdk-generator
tools/pm-5716/add-help-icon-to-import-page
tools/pm-728/cli-config-server-error
tools/pm-919/cli-send-get-file
tools/pm-xxxx/introduce-bitwarden-encrypted-json-importer
tools/prototypes/ecs-log
totp-autofill-remove-onload-suggestions
try-out-requiring-token-presence-in-searches
uif/CL-277/bit-item-group-keyboard-nav
uif/CL-707/signals-auto-migrate
uif/CL-841/landing-layout-component
uif/CL-852/chip-toggle
uif/CL-853/windows-title-bar
uif/CL-854/page-header-component
uif/CL-854/page-header-web-usage
uif/CL-913/add-new-color-palette
uif/CL-923/more-flakey-chromatic-fixes
uif/CL-939/icon-refresh
uif/CL-961/nested-menus
uif/add-desktop-header-slot
uif/add-tooltip-delay
uif/apply-button-styles
uif/cl-349/popover-arrow
uif/cva
uif/design-tokens-exploration
uif/desktop-migration-header
uif/desktop-migration-routing
uif/eslint-forbid-libs-components
uif/fix-flicker-on-load
uif/generator-min-validator
uif/group-force-active
uif/onpush-nav
uif/pm-19437/access-selector-spacing-workflow-test
uif/pm-24178/menu-item-dialog
uif/pm-24178/menu-item-dialog-v2
uif/pm-29819/fix-focus-search
uif/strict-angular-templates
uif/test-disabled-binding-on-input
uif/update-layout-bg
uif/vault-drawer
update-1pux-ssh-pr
update-firefox-mv3
update-license-file
update-message-strings-app-restart
use-bit-subject-in-state-service
use-bit-subject-in-state-service-suggestion
use-original-key-in-folder-rotate
use-sdk-for-encrypt-decrypt
user-configurable-log-levels
v0-attachments-upload
vault-decryption-errors
vault-decryption-rc-weirdness
vault-user-key-migration
vault/7732
vault/AC-2607
vault/PM-11206
vault/PM-12281
vault/PM-17216
vault/PM-24178/fix-modal-focus
vault/PM-25012/cipher_versioning
vault/PM-26200
vault/PM-5433
vault/PM-6110
vault/PM-7906
vault/addtl-logging-for-pm15635
vault/cli-old-attachment-build
vault/experiment/collapsable-filters
vault/mod-on-state-providers
vault/pm-10426/implement-edit-item-view-admin-console-vault
vault/pm-11388/defect-section-headers-are-missing
vault/pm-11462/defect-getting-mp-reprompt-on-edit
vault/pm-1235-auth-flow-discoverable-passkeys
vault/pm-12717/cloning-item-takes-you-back-to-original
vault/pm-1400-ac-experiment
vault/pm-1401/failed-sync-warning-component
vault/pm-1401/refactor-sync-service
vault/pm-22756/copy-click-listener
vault/pm-2400/sdk-cipher-encryption-json-import-fix
vault/pm-24000/test-sdk-await-fix
vault/pm-24963/fix-access-intelligence-tab
vault/pm-24978/corrupt-attachments
vault/pm-25081/vault-skeleton-loaders
vault/pm-25688/folder-api-models
vault/pm-27632/sdk-cipher-ops
vault/pm-28847/all-regions
vault/pm-4185/regression-testing
vault/pm-4788
vault/pm-5072/update-minimum-server-version-for-cipher-key-encryption
vault/pm-9675/experiment
vault/use-sdk-sharing
vgrassia/test
view-cache-docs
web-app-checksum
web-copy-updates-to-clarify-vault-definition
web-vault-login-page-updates
workflow-file-usage-test
write-logs-to-storage
1.31.2
2.20.2
2022.05.0
a916476
browser-v2022.05.0
browser-v2022.10.0
browser-v2022.10.1
browser-v2022.12.0
browser-v2022.12.1
browser-v2022.5.0
browser-v2022.6.0
browser-v2022.6.1
browser-v2022.8.0
browser-v2022.9.0
browser-v2022.9.1
browser-v2023.1.0
browser-v2023.10.0
browser-v2023.10.1
browser-v2023.10.2
browser-v2023.12.0
browser-v2023.12.1
browser-v2023.2.0
browser-v2023.2.1
browser-v2023.3.0
browser-v2023.3.1
browser-v2023.4.0
browser-v2023.5.0
browser-v2023.5.1
browser-v2023.7.0
browser-v2023.7.1
browser-v2023.8.2
browser-v2023.8.3
browser-v2023.9.0
browser-v2023.9.1
browser-v2023.9.2
browser-v2024.1.0
browser-v2024.1.1
browser-v2024.10.0
browser-v2024.10.1
browser-v2024.11.0
browser-v2024.11.1
browser-v2024.11.2
browser-v2024.12.0
browser-v2024.12.1
browser-v2024.12.2
browser-v2024.12.3
browser-v2024.12.4
browser-v2024.2.0
browser-v2024.2.1
browser-v2024.3.1
browser-v2024.4.1
browser-v2024.4.2
browser-v2024.5.0
browser-v2024.5.1
browser-v2024.5.2
browser-v2024.6.0
browser-v2024.6.1
browser-v2024.6.2
browser-v2024.6.3
browser-v2024.7.0
browser-v2024.7.1
browser-v2024.8.0
browser-v2024.8.1
browser-v2024.8.2
browser-v2024.9.0
browser-v2024.9.1
browser-v2025.1.0
browser-v2025.1.1
browser-v2025.1.2
browser-v2025.1.3
browser-v2025.1.4
browser-v2025.10.0
browser-v2025.10.1
browser-v2025.10.2
browser-v2025.11.0
browser-v2025.11.1
browser-v2025.12.0
browser-v2025.2.0
browser-v2025.2.1
browser-v2025.2.2
browser-v2025.3.0
browser-v2025.3.1
browser-v2025.3.2
browser-v2025.4.0
browser-v2025.5.0
browser-v2025.5.1
browser-v2025.6.0
browser-v2025.6.1
browser-v2025.7.0
browser-v2025.7.1
browser-v2025.8.0
browser-v2025.8.1
browser-v2025.8.2
browser-v2025.9.0
cli-hotfix-v1.19.1
cli-v2022.10.0
cli-v2022.11.0
cli-v2022.6.0
cli-v2022.6.1
cli-v2022.6.2
cli-v2022.8.0
cli-v2022.9.0
cli-v2023.1.0
cli-v2023.10.0
cli-v2023.12.0
cli-v2023.12.1
cli-v2023.2.0
cli-v2023.3.0
cli-v2023.4.0
cli-v2023.5.0
cli-v2023.7.0
cli-v2023.8.2
cli-v2023.9.0
cli-v2023.9.1
cli-v2024.1.0
cli-v2024.10.0
cli-v2024.11.0
cli-v2024.11.1
cli-v2024.12.0
cli-v2024.2.0
cli-v2024.2.1
cli-v2024.3.1
cli-v2024.4.0
cli-v2024.4.1
cli-v2024.6.0
cli-v2024.6.1
cli-v2024.7.0
cli-v2024.7.1
cli-v2024.7.2
cli-v2024.8.0
cli-v2024.8.1
cli-v2024.8.2
cli-v2024.9.0
cli-v2025.1.0
cli-v2025.1.1
cli-v2025.1.2
cli-v2025.1.3
cli-v2025.10.0
cli-v2025.11.0
cli-v2025.12.0
cli-v2025.2.0
cli-v2025.3.0
cli-v2025.4.0
cli-v2025.5.0
cli-v2025.6.0
cli-v2025.6.1
cli-v2025.7.0
cli-v2025.8.0
cli-v2025.9.0
desktop-mac-v2025.4.2
desktop-v2022.10.0
desktop-v2022.10.1
desktop-v2022.11.0
desktop-v2022.12.0
desktop-v2022.5.0
desktop-v2022.5.1
desktop-v2022.6.0
desktop-v2022.6.1
desktop-v2022.6.2
desktop-v2022.8.0
desktop-v2022.8.1
desktop-v2022.9.0
desktop-v2022.9.1
desktop-v2023.1.0
desktop-v2023.1.1
desktop-v2023.10.0
desktop-v2023.10.1
desktop-v2023.12.0
desktop-v2023.12.1
desktop-v2023.2.0
desktop-v2023.3.0
desktop-v2023.3.1
desktop-v2023.3.2
desktop-v2023.4.0
desktop-v2023.5.0
desktop-v2023.5.1
desktop-v2023.7.0
desktop-v2023.7.1
desktop-v2023.8.2
desktop-v2023.8.3
desktop-v2023.8.4
desktop-v2023.9.0
desktop-v2023.9.1
desktop-v2023.9.2
desktop-v2023.9.3
desktop-v2024.1.0
desktop-v2024.10.0
desktop-v2024.10.1
desktop-v2024.10.2
desktop-v2024.11.0
desktop-v2024.11.1
desktop-v2024.11.2
desktop-v2024.12.0
desktop-v2024.12.1
desktop-v2024.2.0
desktop-v2024.2.1
desktop-v2024.3.0
desktop-v2024.3.2
desktop-v2024.4.0
desktop-v2024.4.1
desktop-v2024.4.3
desktop-v2024.5.0
desktop-v2024.6.0
desktop-v2024.6.1
desktop-v2024.6.2
desktop-v2024.6.3
desktop-v2024.6.4
desktop-v2024.7.0
desktop-v2024.7.1
desktop-v2024.8.0
desktop-v2024.8.1
desktop-v2024.8.2
desktop-v2024.9.0
desktop-v2025.1.0
desktop-v2025.1.1
desktop-v2025.1.2
desktop-v2025.1.3
desktop-v2025.1.4
desktop-v2025.10.0
desktop-v2025.11.0
desktop-v2025.11.1
desktop-v2025.11.2
desktop-v2025.12.0
desktop-v2025.2.0
desktop-v2025.2.1
desktop-v2025.3.0
desktop-v2025.3.1
desktop-v2025.4.2
desktop-v2025.5.0
desktop-v2025.5.1
desktop-v2025.6.0
desktop-v2025.6.1
desktop-v2025.7.0
desktop-v2025.8.0
desktop-v2025.8.1
desktop-v2025.8.2
desktop-v2025.9.0
tools/PM-7543/reproduce-bug
v0.0.1
v0.0.10
v0.0.11
v0.0.12
v0.0.13
v0.0.14
v0.0.15
v0.0.16
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.9
v1.0.0
v1.0.1
v1.0.5
v1.1.0
v1.1.1
v1.10.0
v1.10.1
v1.10.2
v1.11.0
v1.11.1
v1.11.2
v1.12.0
v1.12.2
v1.12.3
v1.13.0
v1.13.1
v1.13.4
v1.13.5
v1.14.0
v1.14.1
v1.14.2
v1.14.3
v1.15.0
v1.15.1
v1.15.2
v1.15.3
v1.16.0
v1.16.1
v1.16.2
v1.16.4
v1.16.6
v1.17.0
v1.17.1
v1.17.2
v1.17.3
v1.18.0
v1.19.0
v1.19.1
v1.2.0
v1.2.1
v1.2.2
v1.20.0
v1.20.1
v1.21.0
v1.21.1
v1.21.2
v1.21.3
v1.21.4
v1.22.0
v1.22.1
v1.22.2
v1.23.0
v1.23.1
v1.24.0
v1.24.1
v1.24.2
v1.24.3
v1.24.4
v1.24.6
v1.25.0
v1.25.1
v1.25.2
v1.25.3
v1.25.4
v1.25.5
v1.25.6
v1.25.7
v1.26.0
v1.26.1
v1.26.2
v1.26.3
v1.26.4
v1.26.5
v1.26.6
v1.27.0
v1.28.0
v1.29.0
v1.3.0
v1.30.0
v1.30.1
v1.30.2
v1.30.3
v1.31.0
v1.32.0
v1.32.1
v1.33.1
v1.33.2
v1.33.3
v1.34.0
v1.35.0
v1.35.1
v1.35.2
v1.36.0
v1.37.0
v1.38.0
v1.39.0
v1.39.1
v1.39.2
v1.39.3
v1.4.0
v1.40.0
v1.40.1
v1.41.0
v1.42.2
v1.43.1
v1.43.2
v1.43.3
v1.43.4
v1.44.0
v1.44.1
v1.44.2
v1.44.3
v1.45.0
v1.46.0
v1.46.1
v1.46.2
v1.47.0
v1.47.1
v1.48.0
v1.48.1
v1.49.0
v1.49.1
v1.5.0
v1.50.0
v1.51.0
v1.51.1
v1.52.0
v1.52.1
v1.53.0
v1.54.0
v1.55.0
v1.56.0
v1.56.1
v1.56.2
v1.56.3
v1.56.4
v1.56.5
v1.56.6
v1.57.0
v1.58.0
v1.6.0
v1.6.1
v1.7.0
v1.8.0
v1.8.1
v1.8.2
v1.9.0
v1.9.1
v1.9.8
v2.0.0
v2.1.0
v2.1.1
v2.10.0
v2.10.1
v2.11.0
v2.12.0
v2.13.0
v2.13.1
v2.13.2
v2.14.0
v2.15.1
v2.16.0
v2.16.1
v2.16.2
v2.17.0
v2.17.1
v2.18.0
v2.18.1
v2.18.2
v2.19.0
v2.2.0
v2.20.0
v2.20.1
v2.20.3
v2.20.4
v2.21.0
v2.21.1
v2.22.0
v2.22.1
v2.22.2
v2.22.3
v2.23.0
v2.24.0
v2.24.1
v2.24.2
v2.24.3
v2.24.4
v2.25.0
v2.25.1
v2.26.0
v2.26.1
v2.26.2
v2.27.0
v2.28.0
v2.28.1
v2.3.0
v2.4.0
v2.5.0
v2.6.0
v2.6.1
v2.7.0
v2.7.1
v2.8.0
v2.9.0
vNext
web-hotfix-v2.24.1
web-v
web-v2022.10.0
web-v2022.10.1
web-v2022.10.2
web-v2022.11.0
web-v2022.11.1
web-v2022.11.2
web-v2022.12.0
web-v2022.6.0
web-v2022.6.2
web-v2022.8.0
web-v2022.8.1
web-v2022.9.0
web-v2022.9.1
web-v2022.9.2
web-v2023.1.0
web-v2023.1.1
web-v2023.10.0
web-v2023.10.1
web-v2023.10.2
web-v2023.12.0
web-v2023.2.0
web-v2023.3.0
web-v2023.4.0
web-v2023.4.1
web-v2023.4.2
web-v2023.5.0
web-v2023.5.1
web-v2023.7.0
web-v2023.7.1
web-v2023.8.0
web-v2023.8.2
web-v2023.8.3
web-v2023.8.4
web-v2023.9.0
web-v2023.9.1
web-v2023.9.2
web-v2024.1.0
web-v2024.1.1
web-v2024.1.2
web-v2024.10.0
web-v2024.10.1
web-v2024.10.2
web-v2024.10.3
web-v2024.10.4
web-v2024.10.5
web-v2024.11.0
web-v2024.11.1
web-v2024.11.2
web-v2024.12.0
web-v2024.12.1
web-v2024.2.0
web-v2024.2.1
web-v2024.2.2
web-v2024.2.3
web-v2024.2.4
web-v2024.2.5
web-v2024.3.0
web-v2024.3.1
web-v2024.4.0
web-v2024.4.1
web-v2024.4.2
web-v2024.5.0
web-v2024.5.1
web-v2024.6.0
web-v2024.6.1
web-v2024.6.2
web-v2024.6.3
web-v2024.7.0
web-v2024.7.1
web-v2024.7.2
web-v2024.7.3
web-v2024.8.0
web-v2024.8.1
web-v2024.8.2
web-v2024.8.3
web-v2024.9.1
web-v2024.9.2
web-v2025.1.0
web-v2025.1.1
web-v2025.1.2
web-v2025.10.0
web-v2025.10.1
web-v2025.11.0
web-v2025.11.1
web-v2025.11.3
web-v2025.11.4
web-v2025.11.5
web-v2025.12.0
web-v2025.2.0
web-v2025.2.1
web-v2025.2.2
web-v2025.3.0
web-v2025.3.1
web-v2025.4.0
web-v2025.4.1
web-v2025.4.2
web-v2025.5.0
web-v2025.5.1
web-v2025.6.0
web-v2025.6.1
web-v2025.6.2
web-v2025.7.0
web-v2025.7.1
web-v2025.7.2
web-v2025.8.0
web-v2025.8.1
web-v2025.8.2
web-v2025.8.3
web-v2025.9.0
web-v2025.9.1
${ item.name }
${ noResults }
569 Commits (DEVOPS-1573_add-web-build-script)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
756c02cec2
|
Auth/PM-4596 - Extract PIN and Biometrics unlock method logic into re-useable services for user verification (#7107)
* PM-4596 - PinCryptoService first draft * PM-4596 - PinCryptoService - Refactor pinKeyEncryptedKey retrievals out into own method getPinKeyEncryptedKeys * PM-4596 - npm ci + npm run prettier to fix lint issues * PM-4596 - PinCryptoService - Add kdf types * PM-4596 - PinCryptoService - Refactor pin validation into own helper method. * PM-4596 - Rename pin-crypto.service.ts to pin-crypto.service.implementation.ts * PM-4596 - PinCryptoService - add additional logging for error states. * PM-4596 - JslibServicesModule - register new PinCryptoService and PinCryptoServiceAbstraction * PM-4596 - PinCryptoService - modify decryptUserKeyWithPin signature to not require email to match MP verification process in user verification service. * PM-4596 - Lock components - use new PinCryptoService.decryptUserKeyWithPin(...) to get user key + refactor base comp unlock with pin method to improve * PM-4596 - Lock component - if too many invalid attempts, added toast explaining that we were logging the user out due to excess PIN entry attempts * PM-4596 - UserVerificationService - (1) Refactor verifyUser(...) to use switch + separate methods for a cleaner parent method + better extensibility for PIN & biometrics which are TBD (2) Add PIN support to validateInput(...) * PM-4596 - UserVerificationService - add PIN and biometrics functions to verifyUser(...) * PM-4596 - PinCryptoService Spec - start test file - instantiates properly * PM-4596 - PinCryptoService tests - WIP * PM-4596 - PinCryptoService tests - WIP - got success cases working * PM-4596 - pin-crypto.service.implementation.spec.ts renamed to pin-crypto.service.spec.ts * PM-4596 - PinCryptoService.getPinKeyEncryptedKeys(...) - add comment + var name change for clarity * PM-4596 - PinCryptoService tests - test invalid, null return scenarios * PM-4596 - CLI - bw.ts - update UserVerificationService instantiation to include new pinCryptoService * PM-4596 - PinCryptoService - import VaultTimeoutSettingsServiceAbstraction instead of implementation for factory creation to get browser building * PM-4596 - (1) Create pinCryptoServiceFactory for browser background (2) Add it to the existing userVerificationServiceFactory * PM-4596 - Browser - Main.background.ts - Add pinCryptoService and add to userVerificationService dependencies * PM-4596 - UserVerificationService - per PR feedback simplify returns of verifyUserByPIN(...) and verifyUserByBiometrics(...) * PM-4596 - Messages.json on desktop & browser - per PR feedback, adjust tooManyInvalidPinEntryAttemptsLoggingOut translation text to remove "you" * PM-4596 - VerificationType enum - fix line copy mistake and give BIOMETRICS own, unique value. * PM-4596 - VerificationType - rename BIOMETRICS to Biometrics to match existing MasterPassword value case. * PM-4596 - Update verification type to consider whether or not a secret exists as we have added a new verification which doesn't have a type. Add new server and client side verification types. Update all relevant code to pass compilation checks. * PM-4596 - More verification type tweaking * PM-4596 - Verification - verificationHasSecret - tweak logic to be more dynamic and flexible for future verification types * PM-4596 - UpdateTempPasswordComp - use new MasterPasswordVerification * PM-4596 - Desktop - DeleteAcctComp - use VerificationWithSecret to solve compile error w/ accessing secret * PM-4596 - Per discussions with Andreas & Will, move new Pin Crypto services into libs/auth + added @bitwarden/auth path to CLI tsconfig + added new, required index.ts files for exporting service abstractions & implementations * PM-4596 - Fixed missed import fixes for lock components across clients for pin crypto service after moving into @bitwarden/auth * PM-4596 - More PinCryptoService import fixes to get browser & desktop building * PM-4596 - Update desktop lock comp tests to pass by providing new pin crypto service. * PM-4596 - User verification service -update todo * PM-4596 - PinCryptoService - per PR feedback, fix auto import wrong paths. * PM-4596 - PinCryptoService tests - fix imports per PR feedback * PM-4596 - UserVerificationSvc - rename method to validateSecretInput per PR feedback * Fix imports * PM-4596 - PinCryptoService - Refactor naming for clarity and move test cases into describes per PR feedback * reorg libs/auth; expose only libs/auth/core to cli app * PM-4596 - UserVerification - Resolve import issue with importing from libs/auth. Can't use @bitwarden/auth for whatever reason. * PM-4596 - Fix desktop build by fixing import * PM-4596 - Provide PinCryptoService to UserVerificationService * PM-4596 - PinCryptoServiceFactory - you cannot import services from @bitwarden/auth in the background b/c it brings along the libs/auth/components and introduces angular into the background context which doesn't have access to angular which causes random test failures. So, we must separate out the core services just like the CLI to only bring along the angular agnostic services from core. * PM-4596 - Refactor libs/auth to have angular / common + update all imports per discussion with Matt & Will. Introduced circular dep between PinCryptoService + VaultTimeoutSettingsService + UserVerificationService * PM-4596 - VaultTimeoutSettingsService - Refactor UserVerificationService out of the service and update all service instantiations and tests. The use of the UserVerificationService.hasMasterPassword method no longer needs to be used for backwards compatibility. This resolves the circular dependency between the PinCryptoService, the UserVerificationService, and the VaultTimeoutSettingsService. We will likely refactor the hasMasterPassword method out of the UserVerificationService in the future. * PM-4596 - Update CL tsconfig.libs.json to add new auth/common and auth/angular paths for jslib-services.module imports of pin crypto service to work and for test code coverage to run successfully. * PM-4596 - Address PR feedback * PM-4596 - Update root tsconfig (only used by storybook) to add new libs/auth paths to fix chromatic build pipeline. * PM-4596 - Actually update tsconfig with proper routes to fix storybook * PM-4596 - UserVerificationService - verifyUserByBiometrics - add error handling logic to convert failed or cancelled biometrics verification to a usable boolean * PM-4596 - Add missing await * PM-4596 - (1) Add log service and log to user verification service biometric flow to ensure errors are at least revealed to the console (2) Fix factory missing PinCryptoServiceInitOptions * PM-4596 - Use the correct log service abstraction * PM-4596 - Remove unused types per PR review --------- Co-authored-by: William Martin <contact@willmartian.com> |
2 years ago |
|
|
eae845d900
|
[PM-4260] [BEEEP] Mask TOTP seeds in cipher edit view - similar to how the password is hidden (#6649)
* PoC disallow changing masked values in edit mode and mask TOTP with password * toggle totp seed visibility independently from password visibility in edit mode * cleanup * add fallback value for when a cipher returns a null value for maskedPassword * toggle masks off for maskable login properties with no value on load * do not show mask toggle for password or totp if no value is present |
2 years ago |
|
|
48643e45ea
|
[AC-1893] Removed logic to downgrade Manager roles and remove Edit/Delete any collection permissions for Flexible Collections (#7365)
|
2 years ago |
|
|
280cb7e2c0
|
[CL-161] Update bit-search support autofocus (#7272)
appAutofocus currently doesn't work on the bit-search component. This PR resolves this issue by introducing a FocusableElement interface components can implement, which is respected by the autofocus directive. |
2 years ago |
|
|
f8d72f0231
|
[PM-5465] Fix null checks in login view uris (#7421)
* Prefer empty lists to null * Defensively null check public properties |
2 years ago |
|
|
7bd8b00fbf
|
[PM-2260] Remove TDE feature flag and all conditional logic based on it (#7352)
|
2 years ago |
|
|
46a3834f46
|
Add state for everHadUserKey (#7208)
* Migrate ever had user key * Add DI for state providers * Add state for everHadUserKey * Use ever had user key migrator Co-authored-by: SmithThe4th <gsmithwalter@gmail.com> Co-authored-by: Carlos Gonçalves <LRNcardozoWDF@users.noreply.github.com> Co-authored-by: Jason Ng <Jcory.ng@gmail.com> * Fix test from merge * Prefer stored observables to getters getters create a new observable every time they're called, whereas one set in the constructor is created only once. * Fix another merge issue * Fix cli background build --------- Co-authored-by: SmithThe4th <gsmithwalter@gmail.com> Co-authored-by: Carlos Gonçalves <LRNcardozoWDF@users.noreply.github.com> Co-authored-by: Jason Ng <Jcory.ng@gmail.com> |
2 years ago |
|
|
5e11cb212d
|
Combined State (#7383)
* Introduce Combined State * Cleanup Test * Update Fakes * Address PR Feedback * Update libs/common/src/platform/state/implementations/default-active-user-state.ts Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * Prettier * Get rid of ReplaySubject reference --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
2 years ago |
|
|
06affa9654
|
Rework derived state (#7290)
* Remove derived state from state classes * Create provider for derived state Derived state is automatically stored to memory storage, but can be derived from any observable. * Fixup state provider method definitions * Test `DefaultDerivedState` * remove implementation notes * Write docs for derived state * fixup derived state provider types * Implement buffered delayUntil operator * Move state types to a common module * Move mock ports to centra location * Alias DerivedStateDependency type * Add dependencies to browser * Prefer internal rxjs operators for ref counting * WIP * Ensure complete on subjects * Foreground/background messaging for browser Defers work for browser to the background * Test foreground port behaviors * Inject foreground and background derived state services * remove unnecessary class field * Adhere to required options * Add dderived state to CLI * Prefer type definition in type parameters to options * Prefer instance method * Implements factory methods for common uses * Remove nothing test * Remove share subject reference Share manages connector subjects internally and will reuse them until refcount is 0 and the cleanup time has passed. Saving our own reference just risks memory leaks without real testability benefits. * Fix interaction state |
2 years ago |
|
|
eebd10dfd0
|
linting failures from community pr update (#7434)
|
2 years ago |
|
|
1b4717a78f
|
[PM-3343] Capture TOTP QR codes from websites in the browser extension (#5985)
* Implement totp capture for browser extensions |
2 years ago |
|
|
f2eea12b4f
|
Route on switchAccountFinish Message (#7422)
|
2 years ago |
|
|
00bb814fbe
|
[PM-2414] Angular 16 Upgrade - SetPinComponent (#7214)
* migrate to DialogService * use static method * add reactive form dependencies * begin migrating to reactive forms * migrate template inputs to use CL * update set-pin.component.ts file to work with reactive forms * migrate desktop template and class file to Dialog and ReactiveForms * update settings page * remove old properties * update settings form upon dialog close * refactor ngOnInit() * remove duplicate validator (already have a validator in class file) |
2 years ago |
|
|
07d224d6bc
|
[PM-4239] When viewing an item with a passkey, passkey is not announced by screenreader (#7154)
* Made passkey field focusable * Made passkey field focusableand accessibilty possible for screenreaders in announcing the field |
2 years ago |
|
|
87b6651f8e
|
[pm-5287] fix account switch logout routing (#7231)
* Navigate to home from account switcher Also updates the main background handling of logout to either finish switch or logout, depending on which occurred * Prefer observable guards we were racing the account switch process on `accountService` and this async guard. It only depended on account status, which is available from `accountService`, so the correct move was to observe that status. The unauthGuardFn allows for updating homepage depending on window state because popout windows have different nav to other locations. |
2 years ago |
|
|
60d9f3d150
|
[PM-1925][PM-2741][AC-1334] flexible collections export page (#5759)
* Use bitTypography for page title * Replaced app-callout with bit-callout * Replace button with bit-button * Update radio buttons to use CL * Use searchable select for fileFormat dropdown * Remove unneeded divs (old styling) * pm-1826 remove eslint-disable tailwindcss/no-custom-classname * Removed for-attribute from bit-labels * Removed bitInput from bit-selects * Removed name-attribute from bit-selects * Make format a required field * Removed unused dependency on cryptoService * Remove unused dependency on BroadcasterService * Removed dependency on window * Moved organizationId into BaseExportComponent * Add vaultSelector Add organizationService as new dependency Retrieve organizations a user has access to Add vaultSelector dropdown Add `export from` label Add exportFromHint * Removed hint as discussed by product&design * Add function to check for import/export permission * Export callout should listen to changes Even though the organizationId was changed, the Input did not trigger changing the scope * Reading FlexibleCollections feature flag to show the vault-selector on export (#7196) --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: aj-rosado <109146700+aj-rosado@users.noreply.github.com> |
2 years ago |
|
|
df406a9862
|
[PM-252] fix inconsistent generator configuration behavior (#6755)
* decompose password generator policy enforcement * integrate new logic with UI * improve UX of minimum password length * improve password generator policy options documentation * initialize min length to default minimum length boundary * reset form value on input to prevent UI desync from model --------- Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> |
2 years ago |
|
|
483a197e4d
|
[AC-1139] Flexible collections: deprecate Manage/Edit/Delete Assigned Collections custom permissions (#6906)
* [AC-1139] Add new layout for MemberDialogComponent when FC feature flag is enabled * [AC-1139] Deprecated Organization canEditAssignedCollections, canDeleteAssignedCollections, canViewAssignedCollections * [AC-1139] Checking if FC feature flag is enabled when using canDeleteAssignedCollections or canViewAssignedCollections * [AC-1139] Added missing parameter to customRedirect * [AC-1139] Fixed canEdit permission * [AC-1139] Fixed CanDelete logic * [AC-1139] Changed canAccessVaultTab function to receive configService * Override deprecated values on sync * [AC-1139] Reverted change that introduced ConfigService as a parameter to canAccessVaultTab * [AC-1139] Fixed circular dependency * [AC-1139] Moved overriding of deprecated values to syncService * Revert "[AC-1139] Fixed circular dependency" This reverts commit |
2 years ago |
|
|
2b3faca86b
|
Move PasswordStrengthComponent to Tools (#7125)
* Moved password-strength component to Tools * Move zxcvbn into Tools ownership zxcvbn is the library currently used to calculate the password-strength --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> |
2 years ago |
|
|
ac899bebeb
|
[PM-194] Browser Account Switcher UI (#6772)
* Handle switch messaging TODO: handle loading state for account switcher * Async updates required for state * Fallback to email for current account avatar * Await un-awaited promises * Remove unnecessary Prune Prune was getting confused in browser and deleting memory in browser on account switch. This method isn't needed since logout already removes memory data, which is the condition for pruning * Fix temp password in browser * Use direct memory access until data is serializable Safari uses a different message object extraction than firefox/chrome and is removing `UInt8Array`s. Until all data passed into StorageService is guaranteed serializable, we need to use direct access in state service * Reload badge and context menu on switch * Gracefully switch account as they log out. * Maintain location on account switch * Remove unused state definitions * Prefer null for state undefined can be misinterpreted to indicate a value has not been set. * Hack: structured clone in memory storage We are currently getting dead objects on account switch due to updating the object in the foreground state service. However, the storage service is owned by the background. This structured clone hack ensures that all objects stored in memory are owned by the appropriate context * Null check nullable values active account can be null, so we should include null safety in the equality * Correct background->foreground switch command * Already providing background memory storage * Handle connection and clipboard on switch account * Prefer strict equal * Ensure structuredClone is available to jsdom This is a deficiency in jsdom -- https://github.com/jsdom/jsdom/issues/3363 -- structured clone is well supported. * Fixup types in faker class * add avatar and simple navigation to header * add options buttons * add app-header to necessary pages * add back button and adjust avatar sizes * add helper text when account limit reached * convert magic number to constant * add clarifying comment * adjust homepage header styles * navigate to previousp page upon avatar click when already on '/account-switcher' * move account UI to own component * add i18n * show correct auth status * add aria-hidden to icons * use listbox role * add screen reader accessibility to account component * more SR a11y updates to account component * add hover and focus states to avatar * refactor hover and focus states for avatar * add screen reader text for avatar * add slide-down animation on account switcher close * remove comment * setup account component story * add all stories * move navigation call to account component * implement account lock * add button hover effect * implement account logout * implement lockAll accounts functionality * replace 'any' with custom type * add account switcher button to /home login page * use <main> tag (enables scrolling) * change temp server filler name * temporarily remove server arg from account story * don't show avatar on /home if no accounts, and don't show 'lock'/'logout' buttons if no currentAccount * add translation and a11y to /home avatar * add correct server url to account component * add 'server' to AccountOption type * Enabled account switching client-side feature flag. * add slide-in transition to /account-switcher page * change capitalization to reflect figma design * make screen reader read active account email, address more capitalization * fix web avatar misalignment * make avatar color based on user settings and in sync with other clients * make property private * change accountOptions to availableAccounts for clarity * refactor to remove 'else' template ref * remove empty scss rule * use tailwind instead of scss * rename isSelected to isActive * add 'isButton' to /home page avatar * move files to services folder * update import * Remove duplicate active account button * Move no account button to current-account component * Always complete logging out Fixes PM-4866 * make screenreader read off email, not name * refactor avatar for button case * Do not next object updates StateService's init was calling `updateState` at multiple layers, once overall and then again for each account updated. Because we were not maintaining a single state object through the process, it was ending up in a consistent, but incomplete state. Fixed by returning the updated state everywhere. This very well may not be all the bugs associated with this * Treat null switch account as no active user * Listen for switchAccountFinish before routing (#6950) * adjust avatar style when wrapped in a button * show alt text for favicon setting * move stories to browser * Send Finish Message on null * Dynamically set active user when locking all This is required because some user lock states are not recoverable after process reload (those with logout timeout). This waits until reload is occurring, then sets the next user appropriately * Move Finished Message to Finally Block Fix tests * Drop problematic key migration Fixes PM-4933. This was an instance of foreground/background collision when writing state. We have several other fallbacks of clearing these deprecated keys. * Prefer location to homebrew router service * Initialize account disk cache from background Uses the `isRecoveredSession` bool to re-initialize foreground caches from a background message. This avoids a lengthy first-read for foregrounds * PM-4865 - Browser Acct Switcher - only show lock btn for lockable accounts (#6991) * Lock of active account first, when locking multiple. Fixes PM-4996 * Fix linter * Hide lock now for locked users (#7020) * Hide lock now for locked users * Prefer disabling button to removing * Add tooltip to TDE without unlock method * Load all auth states on state init (#7027) This is a temporary fix until the owning services can update state themselves. It uses the presence of an auto key to surmise unlocked state on init. This is safe since it's run only once on extension start. * Ps/pm 5004/add load to account switcher (#7032) * Add load spinner to account switcher * Remove ul list icons * Properly size account switcher in popout * [PM-5005] Prevent Double Navigation (#7035) * Delete Overriden Method * Add Lock Transition * truncate email and server name * remove account.stories.ts (will add in separate PR) * Do not switch user at reload if no user is active * fix prettier issues --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> Co-authored-by: Todd Martin <tmartin@bitwarden.com> Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com> |
2 years ago |
|
|
e045c6b103
|
Ps/introduce single user state (#7053)
* Specify state provider for currently active user * Split active and single user States UserStateProvider is still the mechanism to build each State object. The SingleUserState is basically a repeat of GlobalState, but with additional scoping. * Fixup global state cache * fix fakers to new interface * Make userId available in single user state * Split providers by dependency requirements This allows usage of the single state provider in contexts that would otherwise form circular dependencies. * Offer convenience wrapper classes for common use * Import for docs * Bind wrapped methods |
2 years ago |
|
|
28de9439be
|
[deps] Autofill: Update prettier to v3 (#7014)
* [deps] Autofill: Update prettier to v3 * prettier formatting updates --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> |
2 years ago |
|
|
ed865a6747
|
[PM-3560] Adding the password complexity component to the password protected va… (#6936)
* Adding the password complexity component to the password protected valut export * Removing the zxcvbn import as the component handles the strength check |
2 years ago |
|
|
a5e3432f85
|
Assign ownership to many libs files (#6928)
Assign ownership to many of the remaining libs/common files. Criteria for ownership: * Files used by a single team, is now owned by that team. * Files related to a domain owned by a team is now owned by that team. * Where ownership is unclear the "lowest level" service takes ownership. |
2 years ago |
|
|
3a0603a837
|
Auth/PM-2041 - Finish adding FIDO2 Authentication + Decryption to Web Client (#6798)
* PM-2041 - (1) Bring over WebauthnApiService + required models from existing #5493 PR (2) Per discussion with Andreas, remove unnecessary methods from WebauthnApiService * PM-2041 - Rename responses folder to response to match rest of codebase * PM-2041 - Recreate BaseLoginViaWebAuthnComponent and then web implementation of it. * PM-2041 - Web routing module - add LoginViaWebAuthnComponent and associated route "login-with-passkey" * PM-2041 - InjectionTokens - add new navigator credentials injection token which provides the CredentialsContainer interface of the Credential Management API and exposes methods to request credentials and notify the user agent when events such as successful sign in or sign out happen * PM-2041 - Rename WebauthnApiService & abstraction to WebAuthnLoginApiService * PM-2041 - Rename WebauthnLoginApiService to WebAuthnAdminApiService * PM-2041 - Bring over first draft of webauthn-login.service + abstraction; register on jslib-services.module. * PM-2041 - Bring over web & base login component changes to add login with passkey button if feature flag enabled. * PM-2041 - WebAuthnAdminApi - update list of TODOs based on conversation with Andreas * PM-2041 - Login.module - cleanup todo after conversation w/ Andreas * PM-2041 - Move utils out of web and into common auth/utils and renamed to webauthn-utils * PM-2041 - Update userDecryptionOptions to support new webauthn prf decryption option * PM-2041 - (1) Recreate webauthn-login service with updated logic (2) Move files from webauthn to webauthn-login (3) Recreate webauthn-login.strategy with updated logic * PM-2041 - Remove completed TODO * PM-2041 - Fix login-via-webauthn component imports + fix name (missing n) * PM-2041 - Missed this change when renaming LoginViaWebAuthComponent to LoginViaWebAuthnComponent * PM-2041 - Add WebAuthnLoginApiService to jslib-services.module * PM-2041 - Remove unused param from WebAuthnLoginApiServiceAbstraction as we aren't supporting non-discoverable passkeys for MVP * PM-2041 - WebAuthnLoginApiService - remove email and target correct endpoint for getCredentialAssertionOptions(...) call * PM-2041 - WebAuthnLoginStrategy - (1) Remove unused dep (2) Add safeguard checks to setUserKey(...) logic similar to SSO login strategy * PM-2041 - BaseLoginViaWebAuthnComponent - Rewrite authenticate logic to use new methods on webAuthnLoginService * PM-2041 - UserDecryptionOptionsResponse - update naming of webAuthn options object to match server response * PM-2041 - WebAuthnLoginAssertionResponseRequest - (1) clean up TODO (2) Fix response property name to match server * PM-2041 - WebAuthnTokenRequest - must stringify device response b/c sending as form data * PM-2041 - AuthService - Add WebAuthnLoginCredentials and WebAuthnLoginStrategy support to auth service * PM-2041 - WIP tests for WebAuthnLoginService * PM-2041 - UserDecryptionOptions - Rename WebAuthnPrfOptions to singular WebAuthnPrfOption to match server * PM-2041 - Add TODO in login comp * PM-2041 - (1) Update WebAuthnLoginService.assertCredential(...) to add a check to ensure we cannot leak PRF credentials to the BW server by mistake (2) Add credential to view names for clarity (3) Add JS doc style comments to WebAuthnLoginServiceAbstraction * PM-2041 - Login.component.html - (1) Center passkey login button (2) Use correct user passkey icon * PM-2041 - Utils + tests - (1) Add new hexStringToArrayBuffer(...) method (2) Add tests for existing fromBufferToHex(...) (3) Add tests for new hexStringToArrayBuffer(...) method * PM-2041 - Fix broken import * PM-2041 - WebAuthnLoginResponseRequest - Adjust warning to be correct * PM-2041 - Webauthn-utils - createSymmetricKeyFromPrf(...) - add return type * PM-2041 - WebAuthnLoginService spec file - good progress on figuring out how to test passkey assertion process. Tests are passing, but need to add more setup logic around the MockAuthenticatorAssertionResponse in order to be able to confirm the output is correct. * PM-2041 - Utils + Utils Spec file changes - (1) Add new fromB64ToArrayBuffer(...) method (2) Add tests for existing fromBufferToB64(...) (3) Add tests for new fromB64ToArrayBuffer(...) method (4) Add round trip conversion tests in both directions * PM-2041 - Utils.spec - update round trip conversion tests between hex string and array buffer. * PM-2041 - WebAuthnLoginService.spec - assertCredential(...) happy path test passing * PM-2041 - WebAuthnLoginAssertionResponseRequest - Add interface * PM-2041 - WebAuthnLoginAssertionResponseRequest data should be UrlB64 strings per discussion w/ Andreas * PM-2041 - WebAuthnLoginService Spec file - Per feedback, reverse approaches to generating test data (go from array buffer to b64 strings vs the reverse) to avoid using math.random which can introduce test inconsistency * PM-2041 - Finish testing assertCredential(...) * PM-2041 - WebAuthnLoginService tests completed - tested logIn method * PM-2041 - Login html - add "or" between standard email login and passkey login * PM-2041 - WebAuthnLoginStrategy test start * PM-2041 - After rebase - BaseLoginViaWebAuthnComponent - Must rename ForceResetPasswordReason to ForceSetPasswordReason + refactor post login routing logic to match other auth owned flows. * PM-2401 - Desktop - login comp - fix desktop build * PM-2041 - Browser - login comp - fix build issue * PM-2401 - WIP on webauthn-login.strategy testing * PM-2401 - Finish testing webauthn login strategy * PM-2041 - WebAuthnAdminApiService renamed to WebAuthnLoginAdminApiService * PM-2041 - Remove unnecessary comment * PM-2041 - Per PR feedback, remove noMargin and just add mb-3 * PM-2041 - Per PR feedback, remove unused 2FA and remember email logic (2FA isn't supported right now and we aren't using non-discoverable credentials so we aren't using a user entered email) * PM-2401 - BaseLoginViaWebAuthnComponent - improve error handling to allow users to retry w/ another passkey * PM-2401 - Per PR feedback, provide translated message to cover all invalid passkey scenarios. * PM-2401 - WebAuthnLoginService - per PR feedback, remove unnecessary from * PM-2041 - WebAuthnLoginCredentialAssertionView - per PR feedback, use actual key type * PM-2401 - Per PR feedback, remove WebAuthnLoginStrategy constructor as it is identical to its super class constructor * PM-2041 - WebAuthnLoginService tests - use first value from to improve tests * PM-2401 - Fix WebAuthnLoginService build issue after changing SymmetricCryptoKey to PrfKey * PM-2041 - WebAuthnLoginServiceAbstraction remove incorrect undefined from getCredentialAssertionOptions() abstraction * PM-2041 - Refacor WebAuthn login service tests based on PR feedback * PM-2041 - Per PR feedback, remove NAVIGATOR_CREDENTIALS injection token and just use WINDOW directly for WebAuthnLoginService * PM-2041 - WebAuthnLoginServiceAbstraction - per PR feedback, improve assertCredential jsdocs with return info * PM-2041 - Per PR feedback, update WebAuthnLoginStrategy logInTwoFactor(...) to return an exception if attempted to be called. * PM-2041 - WebAuthnLoginResponseRequest - per PR feedback, replace fromBufferToB64(...) with fromBufferToUrlB64(...) * PM-2041 - AssertionOptionsResponse - use doc comment per PR feedback * PM-2041 - Per PR feedback, adjust location of helpers and mocks in WebAuthnLoginStrategy test file * PM-2041 - Adjust WebAuthnLoginService tests to take the WebAuthnLoginResponseRequest change to use fromBufferToUrlB64(...) into account to get tests to pass again * PM-2041 - WebAuthnLoginStrategy - adjust test name to match convention per PR feedback * PM-2041 - More test tweaks - (1) Rename method (2) Support strict * PM-2041 - Per PR feedback, AssertionOptionsResponse constructor should null check allowCredentials b/c it is optional * PM-2041 - Per PR Feedback, remove duplicated fromB64ToArrayBuffer(...) from utils and update tests. * PM-2041 - Per PR feedback, rename WebAuthnTokenRequest to WebAuthnLoginTokenRequest * PM-2041 - Per discussion with product and Andreas, add 2FA transition handling just in case we add server support in the future. * feat: stretch PRF key (#6927) * feat: stretch PRF key includes necessary utils -> service refactors * feat: add tests * [PM-2041] feat: assertion-options `POST` -> `GET` * [PM-2041] chore: remove unused properties * [PM-2041] fix: set private key * [PM-2041] feat: remove all 2FA related fields * [PM-2041] chore: clean up 2FA comments * [PM-2041] chore: document `webauthn-login-prf-crypto.service.abstraction.ts` * [PM-2041] chore: document webauthn login services --------- Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com> |
2 years ago |
|
|
24c240d0d4
|
Ps/pm 2910/add browser storage services (#6849)
* Allow for update logic in state update callbacks * Prefer reading updates to sending in stream * Inform state providers when they must deserialize * Update DefaultGlobalState to act more like DefaultUserState * Fully Implement AbstractStorageService * Add KeyDefinitionOptions * Address PR feedback * Prefer testing interactions for ports * Synced memory storage for browser * Fix port handling * Do not stringify port message data * Use messaging storage * Initialize new foreground memory storage services This will need to be rethought for short-lived background pages, but for now the background is the source of truth for memory storage * Use global state for account service * Use BrowserApi listener to avoid safari memory leaks * Fix build errors: debugging and missed impls * Prefer bound arrow functions * JSON Stringify Messages * Prefer `useClass` * Use noop services * extract storage observable to new interface This also reverts changes for the existing services to use foreground/background services. Those are now used only in state providers * Fix web DI * Prefer initializing observable in constructor * Do not use jsonify as equality operator * Remove port listener to avoid memory leaks * Fix logic and type issues --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
b622c38c6f
|
[PM-4229] Autofill Overlay MVP (#6507)
* [PM-3914] Refactor Browser Extension Popouts * [PM-3914] Refactor Browser Extension Popouts * [PM-3914] Refactor Browser Extension Popouts * [PM-3914] Adding enums for the browser popout type * [PM-3914] Making the methods for getting a window in a targeted manner public * [PM-3914] Refactoing implementation * [PM-3914] Updating deprecated api call * [PM-3914] Fixing issues found when testing behavior * [PM-3914] Reimplementing behavior based on feedback from platform team * [PM-3914] Adding method of ensuring previously opened single action window is force closed for vault item password reprompts * [PM-3914] Taking into consideration feedback regarding the browser popup utils service and implementating requested changes * [PM-3914] Removing unnecesssary class dependencies * [PM-3914] Adding method for uniquely setting up password reprompt windows * [PM-3914] Modifying method * [PM-3914] Adding jest tests and documentation for AuthPopoutWindow util * [PM-3914] Adding jest tests and documentation for VaultPopoutWindow * [PM-3914] Adding jest tests for the debouncing method within autofill service * [PM-3914] Adding jest tests for the new BrowserApi methods * [PM-3914] Adding jest tests to the BrowserPopupUtils class * [PM-3914] Updating inPrivateMode reference * [PM-3914] Updating inPrivateMode reference * [PM-3914] Modifying comment * [PM-3914] Moviing implementation for openCurrentPagePopout to the BrowserPopupUtils * [PM-3914] Applying feedback * [PM-3914] Applying feedback * [PM-3914] Applying feedback * [PM-3983] Refactoring implementation of `setContentScrollY` to facilitate having a potential delay * [PM-3914] Applying feedback regarding setContentScrollY to the implementation * [PM-3914] Modifying early return within the run method of the ContextMenuClickedHandler * [PM-3914] Adding test for VaultPopoutWindow * [PM-4229] Autofill Overlay MVP * [PM-2855] Add Settings to Enable Autofill Overlay (#6509) * [PM-2855] Add Settings to Enable Autofill Overlay * [PM-2855] Removing unnecessary key * [PM-3914] Applying work done within PM-4366 to facilitate opening the popout window as a popup rather than a normal window * [PM-3914] Updating the BrowserApi.removeTab method to leverage a callback structure for the promise rather than an async away structure * [PM-3036] Adding jest tests for added passkeys popout windows * [PM-3914] Adjsuting logic for turning off the warning when FIDO2 credentials are saved * [PM-3914] Fixing height to design * [PM-3914] Fixing call to Fido2 Popout * [PM-3914] Fixing add/edit from fido2 popout * [PM-3914] Fixing add/edit from fido2 popout * [PM-3914] Fixing jest tests for updated elements * [PM-3914] Reverting how context menu actions are passed to the view component * [PM-3914] Reverting re-instantiation of config service within main.background.ts * [PM-3914] Adding jest test for BrowserAPI removeTab method * [PM-3914] Adding method to handle parsing the popout url path * [PM-3914] Removing JSDOC comment elements * [PM-3914] Removing await from method call * [PM-3914] Simplifying implementation on add/edit * [PM-3032] Adding more direct reference to view item action in context menus * [PM-3034] Modify Autofill Callout to Consider Autofill Overlay Visibility (#6510) * [PM-2855] Add Settings to Enable Autofill Overlay * [PM-2855] Removing unnecessary key * [PM-3034] Modify Autofill Callout to Consider Autofill Overlay Visibility * [PM-3034] Adding translated strings * [PM-3034] Updating boolean logic for showing the callout to remove unnecessary negation of boolean statement * [PM-3914] Adjusting routing on Fido2 component to pass the singleActionPopout param to the route when opening the add-edit component * [PM-3914] Adding singleActionPopout param to the fido2 component routing * [PM-3914] Updating implementation details for how we build the extension url path * [PM-3914] Reworking implementation for isSingleActionPopoutOpen to clean up iterative logic * [PM-3914] Merging work from master and fixing merge conflicts * [PM-3914] Fixing merge conflict introduced from master * [PM-3914] Reworking closure of single action popouts to ensure they close the window instead of attempting to close the tab * [PM-3036] Implement Autofill Overlay Unlock State (#6514) * [PM-2855] Add Settings to Enable Autofill Overlay * [PM-2855] Removing unnecessary key * [PM-3034] Modify Autofill Callout to Consider Autofill Overlay Visibility * [PM-3034] Adding translated strings * [PM-3034] Add Autofill Overlay Vault Locked State * [PM-3036] Bootstrap Autofill Overlay implementation and add locked vault state * [PM-3032] Removing add/edit cipher message * [PM-3036] Fixing lint error found within overlay background * [PM-3036] Setting properties within the autofill component method to be protected * [PM-3034] Updating boolean logic for showing the callout to remove unnecessary negation of boolean statement * [PM-3036] Applying feedback from browser popout refactor PR * [PM-3036] Adding ownership over the website icon service file to the autofill team * [PM-3036] Updating the `autoFillOverlayVisibility` setting to be a client-scoped setting rather than account-scoped * [PM-3036] Reworking jest setup implementation to facilitate approach recommended within code review * [PM-3036] Updating WebsiteIconService to act as a single function reference and moving it to be under the vault team as codeowners * [PM-3032] Show Matching Logins When User Interacts with Field (#6516) * [PM-3032] Show Matching Logins When User Interacts with Field * [PM-3032] Fixing issue found when changing pages * [PM-3032] Addressing feedback within PR * [PM-3032] Addressing feedback within PR * [PM-3033] Allow User to Fill Matching Logins within Overlay (#6517) * [PM-3033] Allow User to Fill Matching Logins within Overlay * [PM-3035] Allow adding new items when no ciphers found in overlay (#6518) * [PM-2319] Refactoring implementation to leverage styles within the encapsulated custom elements rather than inline on those elements * [PM-2319] Leveraging globalThis to avoid potential DOM clobbering within implementation * [PM-2319] Fixing issue where styles can override visibility of overlay icon and list * [PM-2319] Fixing issue where styles can override visibility of overlay icon and list * [PM-2319] Implementing more secure method for ensuring overlay is visible * [PM-2319] Optimizing implementation of mutation observers on elements that need to enforce CSS styling * [PM-2319] Refactoring how we handle mutation observers to allow for a more streamlined implementation approach * [PM-2319] Implementing view cipher item initial workflow * [PM-2319] Implementing obfruscation of username within login ciphers * [PM-2747] Fixing logic error incorporated when merging in master * [PM-2130] Fixing issue with autofill service unit tests * [PM-2130] Fixing issue with autofill service unit tests * [PM-2747] Fixing issue present with notification bar merge * [PM-2130] Fixing test test for when we need to handle a password reprompt * [PM-2319] Fixing issue present with context menu handler * [PM-2319] Implementing fixes for password reprompt when autofilling from overlay * [PM-2319] Working through accessibility and focus order on overlay elements * [PM-2319] Finishing out focus redirection approach for focus out of overlay list * [PM-2319] Working through screen reader accessibility including aria attributes * [PM-2319] Adding guard to usage of extension privacy api * [PM-2319] Adding guard to usage of extension privacy api * [PM-2319] Adding aria description for fill cipher elements * [PM-2319] Refactoring implementation * [PM-2319] Working through implementation of view cipher tirggers when overlay set to view an element * [PM-2319] Refining implementation for viewing vault item from overlay * [PM-2319] Applying fix for context menu ciphers * [PM-2319] Modifying namespace for overlay icon to overlay button * [PM-2319] Refactoring OverlayButton * [PM-2319] Refactoring OverlayButton * [PM-2319] Adding translations for overlay content * [PM-2319] Refactoring OverlayBackground class * [PM-2319] Refactoring OverlayBackground class to more optimially store and retrieve cipher data for the overlay elements * [PM-2319] Refactoring OverlayBackground class * [PM-2319] Refactoring AutofillOverlayList class structure * [PM-2319] Implementing randomization of custom element names for elements injected into tab * [PM-2319] Updating how we handle referencing port messages within the OverlayIframe service * [PM-3465] Optimization of CollectPageDetails Message within Autofill * [PM-3465] Implementing caching for CollectPage details call * [PM-3465] Implementing caching for CollectPage details call * [PM-3465] Implementing method for ensuring that getPageDetails is not called when no fields appear within a frame * [PM-3465] Implementing Mutation Observer to handle updating autofill fields when DOM updates * [PM-2747] Fixing wording for webpack script * [PM-2130] - Audit, Modularize, and Refactor Core autofill.js File (#5453) * split up autofill.ts, first pass * remove modification tracking comments * lessen and localize eslint disables * additional typing and formatting * update autofill v2 with PR #5364 changes (update/i18n confirm dialogs) * update autofill v2 with PR #4155 changes (add autofill support for textarea) Co-Authored-By: Manuel <mr-manuel@outlook.it> * move commonly used string values to constants * ts cleanup * [PM-2130] Starting work to re-architect autofillv2.ts * [PM-2130] Starting work to re-architect autofillv2.ts * [PM-2130] Working through autofill collect method * [PM-2130] Marking Removal of documentUUID as dead code * [PM-2130] Refining the implementation of collect and moving broken out utils back into class implementation * [PM-2130] Applying small refactors to AutofillCollect * [PM-2130] Refining the implementation of getAutofillFieldLabelTag to help with readability of the method * [PM-2130] Implementing jest tests for AutofillCollect methods * [PM-2130] Refining implementation for AutofillCollect * [PM-2200] Unit tests for autofill content script utilities with slight refactors (#5544) * add unit tests for urlNotSecure * add test coverage command * add unit tests for canSeeElementToStyle * canSeeElementToStyle should not return true if `animateTheFilling` or `currentEl` is false * add tests for selectAllFromDoc and getElementByOpId * clean up getElementByOpId * address some typing issues * add tests for setValueForElementByEvent, setValueForElement, and doSimpleSetByQuery * clean up setValueForElement and setValueForElementByEvent * more typescript cleanup * add tests for doClickByOpId and touchAllPasswordFields * add tests for doFocusByOpId and doClickByQuery * misc fill cleanup * move functions between collect and fill utils and replace getElementForOPID for duplicate getElementByOpId * add tests for isKnownTag and isElementVisible * rename addProp and remove redundant focusElement in favor of doFocusElement * cleanup * fix checkNodeType * add tests for shiftForLeftLabel * clean up and rename checkNodeType, isKnownTag, and shiftForLeftLabel * add tests for getFormElements * clean up getFormElements * add tests for getElementAttrValue, getElementValue, getSelectElementOptions, getLabelTop, and queryDoc * clean up and rename queryDoc to queryDocument * misc cleanup and rename getElementAttrValue to getPropertyOrAttribute * rebase cleanup * prettier formatting * [PM-2130] Fixing linting issues * [PM-2130] Fixing linting issues * [PM-2130] Migrating implementation for collect methods and tests for those methods into AutofillCollect context * [PM-2130] Migrating getPropertyOrAttribute method from utils to AutofillCollect * [PM-2130] Continuing migration of methods from collect utils into AutofillCollect * [PM-2130] Rework of isViewable method to better handle behavior for how we identify if an element is currently within the viewport * [PM-2130] Filling out implementation of autofill-insert * [PM-2130] Refining AutofillInsert * [PM-2130] Implementing jest tests for AutofillCollect methods and breaking out visibility related logic to a separate service * [PM-2130] Fixing jest tests for AutofillCollect * [PM-2130] Fixing jest tests for AutofillInit * [PM-2130] Adjusting how the AutofillFieldVisibilityService class is used in AutofillCollect * [PM-2130] Working through AutofillInsert implementation * [PM-2130] Migrating methods from fill.ts to AutofillInsert * [PM-2130] Migrating methods from fill.ts to AutofillInsert * [PM-2130] Applying fix for IntersectionObserver when triggering behavior in Safari and fixing issue with how we trigger an input event shortly after filling in a field * [PM-2130] Refactoring AutofillCollect to service CollectAutofillContentService * [PM-2130] Refactoring AutofillInsert to service InsertAutofillContentService * [PM-2130] Further organization of implementation * [PM-2130] Filling out missing jest test for AutofillInit.fillForm method * [PM-2130] Migrating the last of the collect jest tests to InsertAutofillContentService * [PM-2130] Further refactoring of elements including typing information * [PM-2130] Implementing jest tests for InsertAutofillContentService * [PM-2130] Implementing jest tests for InsertAutofillContentService * [PM-2130] Organization and refactoring of methods within InsertAutofillContent * [PM-2130] Implementation of jest tests for InsertAutofillContentService * [PM-2130] Implementation of Jest Test for IntertAutofillContentService * [PM-2130] Finalizing migration of methods and jest tests from util files into Autofill serivces * [PM-2130] Cleaning up dead code comments * [PM-2130] Removing unnecessary constants * [PM-2130] Finalizing jest tests for InsertAutofillContentService * [PM-2130] Refactoring FieldVisibiltyService to DomElementVisibilityService to allow service to act in a more general manner * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Breaking out the callback method used to resolve the IntersectionObserver promise * [PM-2130] Adding a comment explaining a fix for Safari * [PM-2130] Adding a comment explaining a fix for Safari * [PM-2130] Applying changes required for PM-2762 to implementation, and ensuring jest tests exist to validate the behavior * [PM-2130] Removing usage of IntersectionObserver when identifying element visibility due to broken interactions with React Components * [PM-2130] Fixing issue found when attempting to capture the elementAtCenterPoint in determining file visibility * [PM-2100] Create Unit Test Suite for autofill.service.ts (#5371) * [PM-2100] Create Unit Test Suite for Autofill.service.ts * [PM-2100] Finishing out tests for the getFormsWithPasswordFields method * [PM-2100] Implementing tests for the doAutofill method within the autofill service * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Finishing implementatino of isUntrustedIframe method within autofill service * [PM-2100] Finishing implementation of doAutoFill method within autofill service * [PM-2100] Finishing implementation of doAutoFillOnTab method within autofill service * [PM-2100] Working through tests for generateFillScript * [PM-2100] Finalizing generateFillScript method testing * [PM-2100] Starting implementation of generateLoginFillScript * [PM-2100] Working through tests for generateLoginFillScript * [PM-2100] Finalizing generateLoginFillScript method testing * [PM-2100] Removing unnecessary jest config file * [PM-2100] Fixing jest tests based on changes implemented within PM-2130 * [PM-2100] Fixing autofill mocks * [PM-2100] Fixing AutofillService jest tests * [PM-2100] Handling missing tests within coverage of AutofillService * [PM-2100] Handling missing tests within coverage of AutofillService.generateLoginFillScript * [PM-2100] Writing tests for AutofillService.generateCardFillScript * [PM-2100] Finalizing tests for AutofillService.generateCardFillScript * [PM-2100] Adding additional tests to cover changes introduced by TOTOP autofill PR * [PM-2100] Adding jest tests for Autofill.generateIdentityFillScript * [PM-2100] Finalizing tests for AutofillService.generateIdentityFillScript * [PM-2100] Implementing tests for AutofillService * [PM-2100] Implementing tests for AutofillService.loadPasswordFields * [PM-2100] Implementing tests for AutofillService.findUsernameField * [PM-2100] Implementing tests for AutofillService.findTotpField * [PM-2100] Implementing tests for AutofillService.fieldPropertyIsPrefixMatch * [PM-2100] Finalizing tests for AutofillService * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Removal of jest transform declaration * [PM-2130] Fixing issue with autofill service unit tests * [PM-2130] Fixing issue with autofill service unit tests * [PM-2130] Fixing test test for when we need to handle a password reprompt --------- Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Cesar Gonzalez <cgonzalez@bitwarden.com> Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * [PM-2747] Finanlizing implementation of attribute updates on cached values * [PM-2319] Refactoring implementation to reposition OverlayIframe classes * [PM-3465] Finalizing implementation of mutation observer behavior and CollectPageDetails optimization * [PM-3465] Adding jest tests for introduced functionality * [PM-3465] Finalizing jest tests and comments within implementation * [PM-3465] Removing a TODO by incorrporating a method for deep querying for a password field element * [PM-3465] Removing a TODO by incorrporating a method for deep querying for a password field element * [PM-3285] Migrating Changes from PM-1407 into autofill v2 refactor implementation * [PM-2747] Addressing stylistic changes requested from code review * [PM-2319] Refactoring implementation * [PM-2747] Add Support for Feature Flag of Autofill Version (#5695) * [PM-2100] Create Unit Test Suite for Autofill.service.ts * [PM-2100] Finishing out tests for the getFormsWithPasswordFields method * [PM-2100] Implementing tests for the doAutofill method within the autofill service * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Finishing implementatino of isUntrustedIframe method within autofill service * [PM-2100] Finishing implementation of doAutoFill method within autofill service * [PM-2100] Finishing implementation of doAutoFillOnTab method within autofill service * [PM-2100] Working through tests for generateFillScript * split up autofill.ts, first pass * remove modification tracking comments * lessen and localize eslint disables * additional typing and formatting * update autofill v2 with PR #5364 changes (update/i18n confirm dialogs) * update autofill v2 with PR #4155 changes (add autofill support for textarea) Co-Authored-By: Manuel <mr-manuel@outlook.it> * move commonly used string values to constants * ts cleanup * [PM-2100] Finalizing generateFillScript method testing * [PM-2100] Starting implementation of generateLoginFillScript * [PM-2100] Working through tests for generateLoginFillScript * [PM-2100] Finalizing generateLoginFillScript method testing * [PM-2130] Starting work to re-architect autofillv2.ts * [PM-2130] Starting work to re-architect autofillv2.ts * [PM-2130] Working through autofill collect method * [PM-2130] Marking Removal of documentUUID as dead code * [PM-2130] Refining the implementation of collect and moving broken out utils back into class implementation * [PM-2130] Applying small refactors to AutofillCollect * [PM-2130] Refining the implementation of getAutofillFieldLabelTag to help with readability of the method * [PM-2130] Implementing jest tests for AutofillCollect methods * [PM-2130] Refining implementation for AutofillCollect * [PM-2200] Unit tests for autofill content script utilities with slight refactors (#5544) * add unit tests for urlNotSecure * add test coverage command * add unit tests for canSeeElementToStyle * canSeeElementToStyle should not return true if `animateTheFilling` or `currentEl` is false * add tests for selectAllFromDoc and getElementByOpId * clean up getElementByOpId * address some typing issues * add tests for setValueForElementByEvent, setValueForElement, and doSimpleSetByQuery * clean up setValueForElement and setValueForElementByEvent * more typescript cleanup * add tests for doClickByOpId and touchAllPasswordFields * add tests for doFocusByOpId and doClickByQuery * misc fill cleanup * move functions between collect and fill utils and replace getElementForOPID for duplicate getElementByOpId * add tests for isKnownTag and isElementVisible * rename addProp and remove redundant focusElement in favor of doFocusElement * cleanup * fix checkNodeType * add tests for shiftForLeftLabel * clean up and rename checkNodeType, isKnownTag, and shiftForLeftLabel * add tests for getFormElements * clean up getFormElements * add tests for getElementAttrValue, getElementValue, getSelectElementOptions, getLabelTop, and queryDoc * clean up and rename queryDoc to queryDocument * misc cleanup and rename getElementAttrValue to getPropertyOrAttribute * rebase cleanup * prettier formatting * [PM-2130] Fixing linting issues * [PM-2130] Fixing linting issues * [PM-2130] Migrating implementation for collect methods and tests for those methods into AutofillCollect context * [PM-2130] Migrating getPropertyOrAttribute method from utils to AutofillCollect * [PM-2130] Continuing migration of methods from collect utils into AutofillCollect * [PM-2130] Rework of isViewable method to better handle behavior for how we identify if an element is currently within the viewport * [PM-2130] Filling out implementation of autofill-insert * [PM-2130] Refining AutofillInsert * [PM-2130] Implementing jest tests for AutofillCollect methods and breaking out visibility related logic to a separate service * [PM-2130] Fixing jest tests for AutofillCollect * [PM-2130] Fixing jest tests for AutofillInit * [PM-2130] Adjusting how the AutofillFieldVisibilityService class is used in AutofillCollect * [PM-2130] Working through AutofillInsert implementation * [PM-2130] Migrating methods from fill.ts to AutofillInsert * [PM-2130] Migrating methods from fill.ts to AutofillInsert * [PM-2130] Applying fix for IntersectionObserver when triggering behavior in Safari and fixing issue with how we trigger an input event shortly after filling in a field * [PM-2130] Refactoring AutofillCollect to service CollectAutofillContentService * [PM-2130] Refactoring AutofillInsert to service InsertAutofillContentService * [PM-2130] Further organization of implementation * [PM-2130] Filling out missing jest test for AutofillInit.fillForm method * [PM-2130] Migrating the last of the collect jest tests to InsertAutofillContentService * [PM-2130] Further refactoring of elements including typing information * [PM-2130] Implementing jest tests for InsertAutofillContentService * [PM-2130] Implementing jest tests for InsertAutofillContentService * [PM-2130] Organization and refactoring of methods within InsertAutofillContent * [PM-2130] Implementation of jest tests for InsertAutofillContentService * [PM-2130] Implementation of Jest Test for IntertAutofillContentService * [PM-2130] Finalizing migration of methods and jest tests from util files into Autofill serivces * [PM-2130] Cleaning up dead code comments * [PM-2130] Removing unnecessary constants * [PM-2130] Finalizing jest tests for InsertAutofillContentService * [PM-2130] Refactoring FieldVisibiltyService to DomElementVisibilityService to allow service to act in a more general manner * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Implementing jest tests for DomElementVisibilityService * [PM-2130] Breaking out the callback method used to resolve the IntersectionObserver promise * [PM-2100] Removing unnecessary jest config file * [PM-2100] Fixing jest tests based on changes implemented within PM-2130 * [PM-2100] Fixing autofill mocks * [PM-2100] Fixing AutofillService jest tests * [PM-2100] Handling missing tests within coverage of AutofillService * [PM-2100] Handling missing tests within coverage of AutofillService.generateLoginFillScript * [PM-2100] Writing tests for AutofillService.generateCardFillScript * [PM-2100] Finalizing tests for AutofillService.generateCardFillScript * [PM-2100] Adding additional tests to cover changes introduced by TOTOP autofill PR * [PM-2100] Adding jest tests for Autofill.generateIdentityFillScript * [PM-2100] Finalizing tests for AutofillService.generateIdentityFillScript * [PM-2100] Implementing tests for AutofillService * [PM-2130] Adding a comment explaining a fix for Safari * [PM-2130] Adding a comment explaining a fix for Safari * [PM-2100] Implementing tests for AutofillService.loadPasswordFields * [PM-2100] Implementing tests for AutofillService.findUsernameField * [PM-2100] Implementing tests for AutofillService.findTotpField * [PM-2100] Implementing tests for AutofillService.fieldPropertyIsPrefixMatch * [PM-2100] Finalizing tests for AutofillService * [PM-2747] Add Support for Feature Flag of Autofill Version * [PM-2747] Adding Support for Manifest v3 within the implementation * [PM-2747] Modifying how the feature flag for autofill is named * [PM-2747] Modifying main.background.ts to load the ConfigApiService correctly * [PM-2747] Refactoring trigger of autofill scripts to be a simple immediately invoked function * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Removal of jest transform declaration * [PM-2130] Applying changes required for PM-2762 to implementation, and ensuring jest tests exist to validate the behavior * [PM-2747] Modifying how we inject the autofill scripts to ensure we are injecting into all frames within a page * [PM-2130] Removing usage of IntersectionObserver when identifying element visibility due to broken interactions with React Components * [PM-2130] Fixing issue found when attempting to capture the elementAtCenterPoint in determining file visibility * [PM-2100] Create Unit Test Suite for autofill.service.ts (#5371) * [PM-2100] Create Unit Test Suite for Autofill.service.ts * [PM-2100] Finishing out tests for the getFormsWithPasswordFields method * [PM-2100] Implementing tests for the doAutofill method within the autofill service * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Working through implementation of doAutofill method * [PM-2100] Finishing implementatino of isUntrustedIframe method within autofill service * [PM-2100] Finishing implementation of doAutoFill method within autofill service * [PM-2100] Finishing implementation of doAutoFillOnTab method within autofill service * [PM-2100] Working through tests for generateFillScript * [PM-2100] Finalizing generateFillScript method testing * [PM-2100] Starting implementation of generateLoginFillScript * [PM-2100] Working through tests for generateLoginFillScript * [PM-2100] Finalizing generateLoginFillScript method testing * [PM-2100] Removing unnecessary jest config file * [PM-2100] Fixing jest tests based on changes implemented within PM-2130 * [PM-2100] Fixing autofill mocks * [PM-2100] Fixing AutofillService jest tests * [PM-2100] Handling missing tests within coverage of AutofillService * [PM-2100] Handling missing tests within coverage of AutofillService.generateLoginFillScript * [PM-2100] Writing tests for AutofillService.generateCardFillScript * [PM-2100] Finalizing tests for AutofillService.generateCardFillScript * [PM-2100] Adding additional tests to cover changes introduced by TOTOP autofill PR * [PM-2100] Adding jest tests for Autofill.generateIdentityFillScript * [PM-2100] Finalizing tests for AutofillService.generateIdentityFillScript * [PM-2100] Implementing tests for AutofillService * [PM-2100] Implementing tests for AutofillService.loadPasswordFields * [PM-2100] Implementing tests for AutofillService.findUsernameField * [PM-2100] Implementing tests for AutofillService.findTotpField * [PM-2100] Implementing tests for AutofillService.fieldPropertyIsPrefixMatch * [PM-2100] Finalizing tests for AutofillService * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Modyfing placement of autofill-mocks * [PM-2100] Removal of jest transform declaration * [PM-2747] Applying a fix for a race condition that can occur when loading the notification bar and autofiller script login * [PM-2747] Reverting removal of autofill npm action. Now this will force usage of autofill-v2 regardless of whether a feature flag is set or not * [PM-2747] Fixing logic error incorporated when merging in master * [PM-2130] Fixing issue with autofill service unit tests * [PM-2130] Fixing issue with autofill service unit tests * [PM-2747] Fixing issue present with notification bar merge * [PM-2130] Fixing test test for when we need to handle a password reprompt * [PM-2747] Fixing wording for webpack script * [PM-2747] Addressing stylistic changes requested from code review * [PM-2747] Addressing stylistic changes requested from code review --------- Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> * [PM-3285] Applying stylistic changes suggested by code review for the feature flag implementation * [PM-3285] Adding temporary console log to validate which version is being used * [PM-2319] Adjusting translation content * [PM-3465] Implementing a methodology for sorting the autofill field elements after awaiting the results of each element * [PM-3465] Implementing a methodology for sorting the autofill field elements after awaiting the results of each element * [PM-3465] Implementing a methodology for using cached field values when requerying DOM for elements * [PM-2319] Adjusting translation content * [PM-2319] Adding typing information for OverlayBackground * [PM-2319] Removing unnecesssary methods within OverlayBackground and AutofillOverlayContentService * [PM-2319] Refactoring implementation and incorpoarting BrowserApi class more effectively * [PM-2319] Fixing issue found with opening overaly element during reprompt of vault item * [PM-2319] Fixing issue found with auth status not updating when overlay is initializing * [PM-2319] Implementing a method for initializing the overlay with the user auth status * [PM-2319] Fixing issue where shadowRoot elements might not initialize overlay on setup * [PM-2319] Implementing await for runFillScriptAction * [PM-2319] Implementing methodology for having list of elements hide after user starts inputting within field * [PM-2319] Removing unnecesssary methods within OverlayBackground and AutofillOverlayContentService * [PM-2319] Fixing tab focus issue * [PM-2319] Fixing issue where page details would unload sooner than desired * [PM-2319] Fixing tab focus issues present on page details * [PM-2319] Adjusting how we iterate over cipher data * [PM-2319] Refactoring overlay background * [PM-2319] Adding typing information for OverlayBackground * [PM-2319] Adding typing information for OverlayBackground * [PM-2319] Refactoring and optimizing for loops * [PM-2319] Refactoring and optimizing how we listen for overlay element ports * [PM-2319] Implementing method for ensuring overlay removes itself if user scrolls focused input element out of viewport * [PM-2319] Replacing usage of foreach for a regular for loop * [PM-2319] Replacing usage of foreach for a regular for loop * [PM-2319] Refactoring forEach loops within CollectAutofillContent and moving autofill utils to a top level * [PM-2319] Refactoring getRandomCustomElementName util method * [PM-2319] Refactoring implementation * [PM-2319] Refactoring implementation * [PM-2319] Replacing hardcoded values for events with constant enum * [PM-2319] Adding reduced animation declaration for fill * [PM-2319] Adjusting implementation of mutation observer to better handle insertion of elements around overlay * [PM-2319] Fixing jest test * [PM-2319] Implementing method for ensuring tab focus from the overlay button can move to the correct place * [PM-2319] Refactoring implementation * [PM-3285] Removing temporary console log indicating which version of autofill the user is currently loading * [PM-3465] Adding scripting api reference to the manifest v3 json file * [PM-2319] Splitting shared logic within the overlay page implementations to act as a parent class for the overlay button and list pages * [PM-2319] Updating file names for page scripts * [PM-2319] Updating file names for page scripts * [PM-2319] Fixing issues present with overlay background when updating auth status * [PM-2319] Refactoring implementation * [PM-2319] Fixing cache invalidation issues present with the collect page details optimization * [PM-3465] Updating implementation to deal with cache invalidation issues * [PM-3465] Implementing jest tests for added collect autofill content class elements * [PM-3465] Removing scripting API permissiong within manifest v3 json file * [PM-2319] Adding scripting api to manifest v3 * [PM-2319] Fixing issue present with non visible fields having an overlay element * [PM-3465] Implementing method for removing cached page details if the window location has updated * [PM-3465] Fixing issue found with query selector generated while collecting page details * [PM-2319] Commenting out code that overrides default browser autofill behavior in chrome * [PM-3465] Fixing jest tests * [PM-3465] Fixing jest tests * [PM-2319] Adding typing information for OverlayBackground * [PM-2319] Updating typing information for the Overlay Background * [PM-2319] Adding typing information for notification changes * [PM-2319] Finalizing OverlayBackground typing info and removing browser autofill override method * [PM-2319] Refining typing information within different service classes * [PM-2319] Finalizing typing information within implementation * [PM-2319] Further refinement and fixes for icon element * [PM-2319] Fixing issue where submission of form and presentation of notification bar can offset the overlay element * [PM-2319] Fixing issues present with keyboard focus and determining when to open the overlay upon user interaction * [PM-2319] Adding in change to fix issue where autofill is occurring when iframes exist * [PM-2319] Implementing lazy load of UI elements * [PM-2319] Fixing issue present with lazy loading of cipher elements * [PM-2319] Fixing issue present with lazy loading of cipher elements * [PM-2319] Modifying offset for the ciphers list container * [PM-2319] Fixing issue encountered with autofilling using keyboard * [PM-2319] Modifying initialization of iframe element * [PM-2319] Fixing an issue where login ciphers that do not contain a user name will not display within the overlay list * [PM-2855] [PM-3034] Add Setting to Enable Autofill Overlay (#6194) * [PM-2855] Add Settings to Enable Autofil Overlay * [PM-2855] Adding feature flag for overlay * [PM-2855] Implementing autofill overlay setting within browser extension * [PM-2855] Implementing autofill overlay appearance setting * [PM-2855] Implementing behavior within autofill overlay to conditionally display either the icon or the full list on focus of an element * [PM-2855] Implementing a fix for when focus changes with the form field visible * [PM-2855] Modifying rules for how the callout appears within the current-tab component * [PM-2855] Modifying enum for autofill overlay appearance * [PM-2855] Implementing check to ensure autofill overlay setting is not visible if the feature flag is not set * [PM-2855] Fixing jest tests within implementation * [PM-2855] Modifying how we pull the overlay appearance information for the end user * [PM-2855] Applying changes to the structure for how the overlay settings are identified and verified * [PM-2855] Applying changes to the structure for how the overlay settings are identified and verified * [PM-2855] Adding translations content * [PM-2855] Modifying implementation for how autofill settings populate and present themselves * [PM-2855] Modifying implementation for how autofill settings populate and present themselves * [PM-2855] Adding the ability to override autofill permissions within Chrome as an opt-in * [PM-2855] Modifying message sent when vault item reprompt popout is opened * [PM-2855] Fixing issue encountered with how we handle lazy loading vaul items * [PM-2855] Fixing issue present when iframe is updating position when the window focus changes * [PM-3982] Implement Autofill Overlay unit tests (#6337) * [PM-2319] Jest Tests for Autofill Overlay MVP * [PM-2319] Jest test stubs for OverlayBackground * add tests and cleanup (#6341) * [PM-3983] Implementing test for `updateAutofillOverlayCiphers` * [PM-3983] Implementing test for `updateAutofillOverlayCiphers` * [PM-3983] Working through jest tests for overlay background * [PM-3983] Adding jest tests for OverlayBackground * [PM-3983] Adding jest tests for OverlayBackground; * [PM-3983] Adding jest tests for getAuthStatus * [PM-3983] Adding jest tests for getAuthStatus * [PM-3983] Adding jest tests for getTranslations * [PM-3983] Finalizing jest tests for OverlayBackground * [PM-3983] Finalizing jest tests for OverlayBackground * [PM-3982] Updating unit tests within AutofillInit * [PM-3982] Adding jest tests for AutofillOverlayIframeElement, AutofillOverlayButtonIframe, and AutofillOverlayListIframe * [PM-3982] Adding jest tests for the AutofillOverlayIframeService class * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3992] AutofillOverlayContentService class unit tests * [PM-3982] Filling out unit tests for the AutofillService class * [PM-3982] Implementing unit tests for the AutofillOverlayPageElement custom element class * [PM-3982] Updating elements to better allow for testing of the AutofillOverlayList and AutofillOverlayButton classes * [PM-3982] Adding jest tests for AutofillOverlayList custom element class * [PM-3982] Adding jest tests for AutofillOverlayList custom element class * [PM-3982] Adding jest tests for the AutofillOverlayButton custom element class * [PM-3982] Adding jest tests for the AutofillOverlayButton custom element class * [PM-3982] Updating obsolete snapshot * add tests for AutofillOverlayIframeService * [PM-3982] Refactoring * [PM-3982] Refactoring --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> * [PM-2319] Adjusting implementation for how we open the unlock popout to facilitate skipping the notification * [PM-2319] Adjusting typing information within the OverlayBackground class and fixing issue found within the AutofillOverlayList implementation * [PM-2319] Adjusting JSDOC comment within NotificationBackground * [PM-2319] Refactoring OverlayBackground tests * [PM-2319] Refactoring OverlayBackground tests * [PM-2319] Refactoring JSDOC comments * [PM-2319] Adding jest tests to modified TabsBackground class * [PM-2319] Refactoring jest tests for AutofillInit * [PM-2319] Refactoring AutofillInit JSDOC messages * [PM-2319] Applying refactors to AutofillInit * [PM-2319] Applying refactors to fying info for the AutofillOverlayIframeService * [PM-2319] Adding the ability to apply the extension theme to the overlay elements * [PM-2319] Adjusting background offset on darker themes * [PM-2319] Adjusting background offset on darker themes * [PM-2319] Adding JSDOC comments to the overlay iframe service * [PM-2319] Cleaning up implementation * [PM-2319] Cleaning up implementation * [PM-2319] Adding removal of unknown manifest key, `sandbox`, from the Firefox manifest * [PM-2319] Updating manifest v3 implementation to facilitate presentation of the overlay page elements * [PM-2319] Adding documentation to the changes to BrowserApi * [PM-2855] Removing unnecessary key * [PM-2319] Removing unnecesssary abstraction file * [PM-3035] Reverting changes to package-lock.json * [PM-3035] Reverting changes to package-lock.json * [PM-3035] Reverting added logs --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> * [PM-3032] Fixing issue with flashing background on overlay iframe list element * [PM-3032] Modifying how we determine the size of the overlay button element to facilitate smaller scaling on larger sized input elements * [PM-3032] Modifying how load actions are handled within the browser view component to clarify the triggered logic. * [PM-3032] Adjusting implementation to how we trigger copy actions * [PM-3032] Setting copyActions to be a static member of the view component class * [PM-3032] Merging in changes --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> * [PM-3914] Fixing issue within Opera where lock and login routes can persist if user opens the extension popout in a new window before locking or logging out * [PM-3914] Setting the extensionUrls that are cheked as a variable outside of the scope fo the openUlockPopout method to ensure it does not have to be rebuilt each time the method is called * [PM-4744] Page Details that Update after Mutation Observer has Triggered Do Not Update within Overlay Background (#6848) * [PM-4743] Windows Chromium Browser is Not Updating Overlay Ciphers on Tab Update (#6863) * [PM-4763] Fixing Issues with the Overlay UI Positioning and Presentation (#6864) * [PM-4763] Fixing overlay UI issues * [PM-4736] Implementing a method to ensure that the overlay is refreshed anytime the overlay has lost visibility * [PM-4763] Implementing a fix for a delayed opening of the overlay element where elements in the documentElement could potentially overlay our own UI element * [PM-4763] Implementing a fix for when the visibility of the dom changes to facilitate removing the overlay element if necessary * [PM-4763] Fixing jest tests * [PM-4763] Fixing global references * [PM-4790] Overlay not resetting on scroll of websites that do not scroll body element (#6877) * [PM-4790] Overlay not resetting on scroll of websites that do not scrollt he body element * [PM-4790] Setting up the scroll event to capture rather than setting mousewheel and touchmove events * [PM-4790] Setting up constants for referenced events * [PM-4229] Fixing issue found when collecting page details * [PM-4229] Implementing optimization to ensure we only rebuild the autofill item if the overlay needs to set the listeners on the field * [PM-4229] Adjusting copy for autofill callout message --------- Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Manuel <mr-manuel@outlook.it> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> |
2 years ago |
|
|
a4b961aa0a
|
Remove EU environment feature flag from clients (#6619)
|
2 years ago |
|
|
29aabeb4f5
|
Ps/pm 2910/state framework improvements (#6860)
* Allow for update logic in state update callbacks * Prefer reading updates to sending in stream * Inform state providers when they must deserialize * Update DefaultGlobalState to act more like DefaultUserState * Fully Implement AbstractStorageService * Add KeyDefinitionOptions * Address PR feedback * More Descriptive Error --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
90bad00cb5
|
[PM-3000] Add Environment URLs to Account Switcher (#5978)
* add server url to account switcher tab * add serverUrl to SwitcherAccount(s) * refactor serverUrl getter * cleanup urls * adjust styling * remove SwitcherAccount class * remove authenticationStatus from AccountProfile * rename to inactiveAccounts for clarity * move business logic to environmentService * use tokenService instead of stateService * cleanup type and comments * remove unused property * replace magic strings * remove unused function * minor refactoring * refactor to use environmentService insead of getServerConfig * use Utils.getHost() instead of Utils.getDomain() * create getHost() method * remove comment * get base url as fallback * resolve eslint error * Update apps/desktop/src/app/layout/account-switcher.component.html Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> --------- Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> |
2 years ago |
|
|
84f93edd8e
|
fix : return from submit method when pin is empty (#5769)
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Co-authored-by: Thomas Rittson <trittson@bitwarden.com> |
2 years ago |
|
|
161c1c63ff
|
Auth/PM-3275 - Changes to support TDE User without MP being able to Set a Password (#6281)
* PM-3275 - Policy.service - Refactor existing mapPoliciesFromToken internal logic to provide public mapPolicyFromResponse method * PM-3275 - Add new PolicyApiService.getMasterPasswordPolicyOptsForOrgUser method for use in the set password comp * PM-3275 - Update set-password.comp to use new policyApiService.getMasterPasswordPoliciesForInvitedUsers method * PM-3275 - (1) Remove post TDE AuthN set password routing logic from SSO/2FA comps as we cannot set an initial user password until after decryption in order to avoid losing the ability to decrypt existing vault items (a new user key would be created if one didn't exist in memory) (2) Add set password routing logic post TDE decryption in LoginWithDevice/Lock components (3) Add new ForceResetPasswordReason to capture this case so that we can guard against users manually navigating away from the set password screen * PM-3275 - SyncSvc - Add logic for setting forcePasswordReset reason if TDE user w/out MP went from not having MP reset permission to having it. * PM-3275 - Rename ForceResetPasswordReason enum to ForceSetPasswordReason + update all references. * PM-3275 - Removing client deprecated calls to getPoliciesByInvitedUser and helper call getMasterPasswordPoliciesForInvitedUsers * PM-3275 - PolicyAPI service - remove no longer necessary getPoliciesByInvitedUser method * PM-3275 - LockComp - TODO cleanup * PM-3275 - SSO & 2FA comp - cleanup of incorrect routing path * PM-3275 - (1) State service refactor - change getForcePasswordResetReason / setForcePasswordResetReason to be getForceSetPasswordReason / setForceSetPasswordReason (2) Sync Service - encapsulate setForceSetPasswordReasonIfNeeded logic into own method * PM-3275 - SetPassword Comp - Rename "identifier" to be "orgSsoIdentifier" for clarity * PM-3275 - SetPasswordComp - Moving routing from SSO / 2FA comps to Lock / LoginWithDevice comps results in a loss of the the OrgSsoId. However, as part of the TDE work, we added the OrgSsoId to state so use that as a fallback so we can accurately evaluate if the user needs to be auto enrolled in admin account recovery. * PM-3275 - SetPasswordComp - add a bit more context to why/when we are reading the user org sso id out of state * PM-3275 - SetPassword Comp - (1) Add forceSetPasswordReason and ForceSetPasswordReason enum as public props on the class so we can change copy text based on which is set + set forceSetPasswordReason on ngOnInit (2) Refactor ngOnInit to use a single RxJs observable chain for primary logic as the auto enroll check was occurring before the async getUserSsoOrganizationIdentifier could finish. * PM-3275 - Desktop - App comp - missed replacing getForcePasswordResetReason with getForceSetPasswordReason * PM-3275 - TDE Decryption Option Comps - must set ForceSetPasswordReason so that we can properly enforce keeping the user on the component + display the correct copy explaining the scenario to the user. * PM-3275 - All Clients - SetPasswordComp html - Update page description per product + remove no longer used ssoCompleteRegistration translation. * PM-3275 - SetPasswordComp - hopefully the final puzzle piece - must clear ForceSetPasswordReason in order to let user navigate back to vault. * PM-3275 - SyncService - Remove check for previous value of account decryption options hasManageResetPasswordPermission as when a user logged in on a trusted device after having their permissions updated, the initial setting would be true and it would cause the flag to NOT be set when it should have. * PM-3275 - TDE User Context - (1) Remove explicit navigation to set password screen from post decryption success scenarios on lock & login w/ device comps (2) Move TdeUserWithoutPasswordHasPasswordResetPermission flag setting to SSO / 2FA components to support both trusted and untrusted device scenarios (both of which are now caught by the auth guard). * PM-3275 - (1) SetPassword comp - adjust set password logic for TDE users to avoid creating a new user asymmetric key pair and setting a new private key in memory. (2) Adjust SetPasswordRequest to allow null keys * PM-3275 - Remove unused route from login with device comp * PM-3275 - Sso & 2FA comp tests - Update tests to reflect new routing logic when TDE user needs to set a password * PM-3275 - Lock comp - per PR feedback, remove unused setPasswordRoute property. * PM-3275 - SetPasswordComp - Per PR feedback, use explicit null check * PM-3275 - Per PR Feedback, rename missed forcePasswordResetReason to be forceSetPasswordReason on account model * PM-3275 - Auth guard - rename forcePasswordResetReason to forceSetPasswordReason * PM-3275 - SSO / 2FA comps - Per PR feedback, refactor Admin Force Password reset handling to be in one place above the TDE user flows and standard user flows as it applies to both. * PM-3275 - Per PR feedback, clarify 2FA routing comment * PM-3275 - Per PR feedback, update set-password comp ngOnInit switchMaps to just return promises as switchMap converts promises to observables internally. * PM-3275 - Per PR feedback, refactor set password ngOnInit observable chain to avoid using async subscribe and instead simply sequence the calls via switchMap and tap for side effects. * PM-3275 - Per PR feedback, move tap after filter so we can remove if check * PM-3275 - Per PR feedback, update policy service mapping methods to use shorthand null checking. * PM-3275 - SetPassword comp - (1) Move force set password reason logic into onSetPasswordSuccess(...) (2) On onSetPasswordSuccess, must set hasMasterPassword to true for user verification scenarios. * PM-3275 - Per PR feedback, remove new hasManageResetPasswordPermission flag from profile response and instead simply read the information off the existing profile.organizations data as the information I needed was already present. * PM-4633 - PolicyService - mapPolicyFromResponse(...) - remove incorrect null check for data. Policies with internal null data property should still be evaluated and turned into Policy objects or the policy array ends up having null values in it and it causes errors down the line on login after acct creation. |
2 years ago |
|
|
a1729c97df
|
PM-4588 - Resolve desktop issue where account menu was disabled after a user JIT provisions into a MP encryption org - simply add a menu redraw call after succesfully setting the MP and relevant keys. (#6717)
|
2 years ago |
|
|
317d652088
|
[PM-3722] Use `UserVerificationPrompt` in passkey registration dialog (#6422)
* [PM-3722] fix: wrong translation bug * [PM-3722] feat: use user verification component during creation * [PM-3722] feat: use user verification component during deletion * [PM-3722] feat: improve error handling |
2 years ago |
|
|
43edc1a893
|
[PM-105] Premium Badge Send File (#6684)
* adding the premium badge for the send item file option * Removing the unnecessary margin after seeing design spec |
2 years ago |
|
|
485be21826
|
[PM-4360] Move organization-domain and organization-user to admin console (#6630)
* Move organization-domain and organization-user to admin console |
2 years ago |
|
|
5868d76b91
|
[PM-3198][PM-3199] Rename PasswordlessLoginStrategy (#6425)
* rename to LoginWithDeviceLoginStrategy * rename LoginWithDeviceComponent * update translation for web route * rename strategy to AuthRequestLoginStrategy * rename PasswordlessLogInCredentials and PasswordlessCreateAuthRequest * rename setPasswordlessAccessCode * rename startPasswordlessLogin() in template files * rename startPasswordlessLogin() for browser template file * rename AuthenticationType.Passwordless * standardize LogInStrategy to LoginStrategy * standardize PasswordLogInStrategy to PasswordLoginStrategy * standardize SsoLogInStrategy to SsoLoginStrategy * standardize UserApiLogInStrategy to UserApiLoginStrategy * standardize naming of login credentials * rename log-in-credentials.ts to login-credentials.ts |
2 years ago |
|
|
8dd17bd55a
|
move legacy check below auth check in lock guard (#6696)
|
2 years ago |
|
|
1d2757e42b
|
Noop notifications for dev (#6671)
* Noop notifications for dev We rarely have notifications set up for development environments, this removes the error messages related to missing server notification services * Log actions in noop service * Add line breaks * Improve log messages * Ignore local config at all levels |
2 years ago |
|
|
cdcd1809f0
|
Expand account service (#6622)
* Define account service observable responsibilities * Establish account service observables and update methods * Update Account Service observables from state service This is a temporary stop-gap to avoid needing to reroute all account activity and status changes through the account service. That can be done as part of the breakup of state service. * Add matchers for Observable emissions * Fix null active account * Test account service * Transition account status to account info * Remove unused matchers * Remove duplicate class * Replay active account for late subscriptions * Add factories for background services * Fix state service for web * Allow for optional messaging This is a temporary hack until the flow of account status can be reversed from state -> account to account -> state. The foreground account service will still logout, it's just the background one cannot send messages * Fix add account logic * Do not throw on recoverable errors It's possible that duplicate entries exist in `activeAccounts` exist in the wild. If we throw on adding a duplicate account this will cause applications to be unusable until duplicates are removed it is not necessary to throw since this is recoverable. with some potential loss in current account status * Add documentation to abstraction * Update libs/common/spec/utils.ts Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * Fix justin's comment :fist-shake: --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
9e290a3fed
|
[PM-4222] Make importer UI reusable (#6504)
* Split up import/export into separate modules * Fix routing and apply PR feedback * Renamed OrganizationExport exports to OrganizationVaultExport * Make import dialogs standalone and move them to libs/importer * Make import.component re-usable - Move functionality which was previously present on the org-import.component into import.component - Move import.component into libs/importer Make import.component standalone Create import-web.component to represent Web UI Fix module imports and routing Remove unused org-import-files * Renamed filenames according to export rename * Make ImportWebComponent standalone, simplify routing * Pass organizationId as Input to ImportComponent * use formLoading and formDisabled outputs * Emit an event when the import succeeds Remove Angular router from base-component as other clients might not have routing (i.e. desktop) Move logic that happened on web successful import into the import-web.component * fix table themes on desktop & browser * fix fileSelector button styles * update selectors to use tools prefix; remove unused selectors * Wall off UI components in libs/importer Create barrel-file for libs/importer/components Remove components and dialog exports from libs/importer/index.ts Extend libs/shared/tsconfig.libs.json to include @bitwarden/importer/ui -> libs/importer/components Extend apps/web/tsconfig.ts to include @bitwarden/importer/ui Update all usages * Rename @bitwarden/importer to @bitwarden/importer/core Create more barrel files in libs/importer/* Update imports within libs/importer Extend tsconfig files Update imports in web, desktop, browser and cli * Lazy-load the ImportWebComponent via both routes * Use SharedModule as import in import-web.component * File selector should be displayed as secondary * Use bitSubmit to override submit preventDefault (#6607) Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: William Martin <contact@willmartian.com> |
2 years ago |
|
|
d0e72f5554
|
[PM-4360] Move auth owned code into auth (#6595)
|
2 years ago |
|
|
ba7a211f0d
|
[PM-1222] Store passkeys in Bitwarden vault (#4715)
* [EC-598] feat: scaffold content scripting * [EC-598] feat: load page script from content script * [EC-598] feat: succesfully intercept methods * [EC-598] feat: add better support for messaging * [EC-598] feat: implement calls to new service * [EC-598] feat: add ability to return responses * [EC-598] feat: half-implemented params mapping * [EC-598] feat: add b64 conversion * [EC-598] feat: half-implemented user interfacing * [EC-598] feat: initial working user verification * [EC-598] feat: center popup * [EC-598] feat: add basic cancel button * [EC-598] feat: confirm new credentials * [EC-598] feat: add cbor-redux npm package * [EC-598] feat: initial version of credential creation * [EC-598] feat: fully working credential creation * [EC-598] feat: fully working register and assert flow * [EC-598] feat: properly check for presence * [EC-598] feat: rudimentar error handling * [EC-598] feat: transparent passthrough of platform authenticators * [EC-598] feat: improve error handling * [EC-598] feat: use browser as fallback when vault does not contain requested credential * [EC-598] feat: add fido2Key to cipher * [EC-598] feat: successfully store passkeys in vault * [EC-598] feat: implement passwordless vault auth * [EC-598] feat: add basic support for managing passkeys * [EC-598] feat: show new cipher being added * [EC-598] feat: allow user to pick which credential to use * [EC-598] feat: differntiate between resident auth and 2fa * [EC-598] feat: add some padding to popout * [EC-598] feat: allow storage of more information * [EC-598] feat: show user name as sub title * [EC-598] feat: show all available data * [EC-598] chore: clean up console logs * [EC-598] feat: fix google issues Google does not like self-signed packed format. I've removed the attestation statement all-together untill further notice. We're don't really have any statements so * [EC-598] fix: temporarily remove origin check * [EC-598] fix: user interaction not being awaited sometimes Only one handler can return a response. That handler needs to return true to indicated it's intention to eventually do so. Our issue was that multiple handlers were returning truthy values, causing a race condition. * [EC-598] fix: messenger crashing The messenger is listening to all DOM communcation, most of which is formatted differently. We were not handling these cases properly which resulted in attempts to access undefined fields. * [EC-598] feat: add basic test-case for messenger * [EC-598] feat: add test for request/response * [EC-598] feat: add initial one-way support for aborting * [EC-598] feat: add ability to throw errors across messenger * [EC-598] feat: transition to using exceptions * [EC-598] feat: add abort controller all the way to service * [EC-598] feat: ability to abort from page script * [EC-598] feat: add automatic default timeouts * [EC-598] chore: move component from generic popup fodler * [EC-598] chore: collect all passkeys stuff under common folder * [EC-598] fix: filter messages from other sources * [EC-598] chore: add small todo comment * [EC-598] feat: add timeout and UV to params * [EC-598] feat: implement full support for timeouts * [EC-598] feat: start creating separate authenticator service * [EC-598] feat: first tested rule in new authentitcator * [EC-598] feat: allow user to confirm duplication * [EC-598] feat: add check for unsupported algorithms * [EC-598] feat: add check for invalid option values * [EC-598] feat: handle unsupported pinAuth * [EC-598] feat: confirm new credentials * [EC-598] feat: rearrange order of execution * [EC-598] chore: rearrange tests * [EC-598] feat: add support for saving discoverable credential * [EC-598] feat: remove ability to duplicate excluded credentials * [EC-598] chore: rearrange tests * [EC-598] feat: add support for non-discoverable credentials * [EC-598] chore: use webauthn authenticator model as base instead of CTAP * [EC-598] feat: don't leak internal errors during creation * [EC-598] feat: tweak key data to contain separate type and algorithm * [EC-598] feat: add counter to fido2key * [EC-598] feat: complete implementation of `makeCredential` * [EC-598] feat: add ignored enterpriseAttestation param * [EC-598] feat: start implementing `getAssertion` * [EC-598] feat: add separate `nonDiscoverableId` to keys * [EC-598] fix: properly convert credentials to guid raw format * [EC-598] chore: add todo tests about deleted items * [EC-598] feat: implement missing credential checks * [EC-598] feat: add user confirmation test to assertion also rewrite to use cipher views in tests * [EC-598] feat: increment counter during assertion * [EC-598] feat: implement assertion * [EC-598] feat: add signatures to attestation * [EC-598] feat: add general error handling for attestation * [EC-598] feat: start working on new `Fido2ClientService` * [EC-598] feat: check user id length * [EC-598] feat: check origin and rp.id effective domains * [EC-598] feat: check for supported key algorithms * [EC-598] feat: hash client data and throw if aborted * [EC-598] feat: extend return from authenticator * [EC-598] feat: fully implement createCredential * [EC-598] feat: implement assertCredential * [EC-598] feat: make everything compile again * [EC-598] feat: remove orgigin * [EC-598] fix: rpId validation logic * [EC-598] fix: some smaller bugs * [EC-598] fix: flag saying authData doesnt contain attestation * [EC-598] fix: wrong flags in tests * [EC-598] fix: data not getting saved properly * [EC-598] fix: invalid signature due to double hashing * [EC-598] chore: clean up unusued function * [EC-598] feat: fully wokring non-discoverable implementation * [EC-598] feat: add initial implementation of UI sessions * [EC-598] feat: fully refactored user interface Now uses sessions instead of single request-response style communcation * [EC-598] feat: make fallback working again * [EC-598] feat: add rudimentary support for excluded credentials * [EC-598] fix: send correct excluded cipher ids * [EC-598] feat: wait for session close before closing window * [EC-598] feat: test unique signatures * [EC-598] chore: clean up old commented code * [EC-598] feat: do not exclude organization credentials * [EC-598] chore: remove unused clas * [EC-598] fix: remove platform attachment check * [EC-598] chore: rename webauthn folder to fido2 * [EC-598] chore: continue rename webauthn to fido2 * [EC-598] feat: interpret rk preferred as required Fixes GoDaddy issues * [EC-598] fix: bug preventing fallback on assertion * [EC-598] feat: inform user when no credentials are found * [EC-598] chore: add some more console logs for debugging * [EC-598] feat: very basic scroll when picking credentials * [EC-598] chore: tweak unique signature test * [EC-598] chore: tweak how unassigned rpId gets calcuated * [EC-598] fix: response prototype chains * [EC-598] feat: allow discoverable credentials to be used for non-discoverable assertions * [EC-598] fix: counter not being saved correctly * [EC-598] fix: bug in result mapping * [EC-598] feat: add support for user verifiction using MP during attestation * [EC-598] feat: add support for user verifiction using MP during assertion * [EC-598] feat: quick fix noop service * [EC-598] chore: refactor observables a little bit * [EC-598] feat: show unsupported user verification error * [EC-598] feat: add logging to fido2 authenticator * [EC-598] feat: add logging to fido2 client * [EC-598] feat: close popout directly from bg script * [EC-598] chore: clean up page-script * [EC-598] feat: add webauthn polyfill * [EC-598] feat: polyfill platform authenticator support * [EC-598] feat: only show fallback options if supported * [EC-598] fix: reponse not correctly polyfilled * [EC-598] chore: add name to polyfill classes * [EC-598] chore: update unsupported UV copy * [EC-598] fix: race condition when opening new popout * Fixed lint issues * [PM-1500] Add feature flag to enable passkeys (#5406) * Added launch darkly feature flag to passkeys implementation * fixed linter * Updated fido2 client service test to accomodate feature flag * Updated fido2client service to include unit test for feature flag * Renamed enable pass keys to fido2 vault credentials, added unit test when feature flag is not enabled * fixed failing Login domain test case * [EC-598] chore: remove unecessary return statement * [EC-598] chore: remove unnecessary eslint disable * [PM-1975] Move FIDO2 files into vault folder (#5496) * Moved fido2 models to vault in libs * Moved fido2 models to vault in libs * Moved fido2 services and abstractions to vault folder in libs * Moved fido2 popup to vault folder on the browser * Updated import path after moving files to the vault folder * Moved authenticator abstraction and service to the vault folder * Updated content and page script path * Added content script, page script and background messaging to vault * fixed lint issue * Updated reference paths * Added missing fallbacksupported property in test files * Added missing fallbacksupported to the newSession method * [PM-2560] Fix Firefox default passkeys handling (#5690) * Return callback response in addListener * Add clarifying comment * Isolate returning the callback to fido2 commands * Update apps/browser/src/platform/browser/browser-api.ts Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * Fix formatting --------- Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * [PM-1976] Display passkeys properly on the browser (#5616) * Removed passkeys from the vault types filter and added fucntion to get the count of Fido2keys and Login types * Updated build filter to take Fido2key type as a Login type * Updated icon font files * Updated vault items and view to handle changes with fido2keys * Updated add edit view for fido2keys * Prevent moving passkeys to an organization where it exists * Prevent moving passkeys to an organization where it exists * Added view for non-discoverable passkeys * Added diaglog to inform user that passkey won't be copied when cloning a non discoverable key * Muted text that shows cipher item is available for 2fa * Changed conditional to check if an organization already has the same passkey item * Muted text to align with figma designs and used rpId for the application input value * Modified checkFido2KeyExistsInOrg function to workk with discoverable and non discoverable keys * Differentiate between non-discoverable and discoverable keys when moving to an organization * Added suggested changes from PR review * Updated font files css changes * Fixed bug preventing launch bitton from working for Login types (#5639) * [PM-1574] Display passkeys on web (#5651) * Allowed discoverable Fido2key type to be displayed alongside Login type * Added view during edit for discoverable and non-discoverable passkeys * Fixed PR comments, added relvant tests to domain changes * Fixed imports and updated the launch function to use the Launchable interface * Added launch on vault filter for fido2key types * Added missing passkey text field in edit view (#5800) * [PM-1977] Display passkeys properly on the desktop (#5763) * Allowed discoverable Fido2key type to be displayed alongside Login type * Added view during edit for discoverable and non-discoverable passkeys * Fixed PR comments, added relvant tests to domain changes * Fixed imports and updated the launch function to use the Launchable interface * Added fido2key to login filter and added view display for fido2key * Added passkeys view for non discoverable passkeys and edit view for passkeys * Fixed PR comments * switched date format to short * [PM-3046] [PM-3047] Defects for discoverable and non-discoverable passkeys on desktop and web (#5847) * Added missing passkey text field in edit view (#5800) * Added dialog to clone no discoverable passkeys on web and desktop.Also, removed clone on the desktop for discoverable passkeys and added passkey view to non- discoverable passkeys on desktop during edit * Prevent cloning dialog on non fido2key ciphers * Made fido2key use website favicon if avaialble instead of the passkey icon * Do not display passkey view on clone edit for dekstop * Do not display passkey view on clone edit for browser * Prevented movement of passkeys ND or D to an organization once one exists and also made it possible for org memebers with user roles to move passkeys to an organization. (#5868) * two step passkey view was outside the conditional (#5872) * fixed merge conflict * [PM-2907] Shopify Passkey Broken on Firefox When Extension is Installed (#6003) * [PM-2907] Shopify Passkey Broken on Firefox When Extension is Installed * [PM-2907] Shopify Passkey Broken on Firefox When Extension is Installed * [PM-2907] Shopify Passkey Broken on Firefox When Extension is Installed * Added passkey fallback imaged and added extension to image name on the icons component * [PM-3155] CLI: Editing a cipher with a non-discoverable passkey causes the passkey to be removed (#6055) * Added fido2keyexport for the CLI and added the fido2key field to the login response for the CLI * Added fido2keyexport for the CLI and added the fido2key field to the login response for the CLI * Removed unneccesary code * Added non discoverable passkey to template * [PM-2270] Renamed Fido2Key.userName to Fido2Key.userDisplayName (#6005) * Renamed fido2key property username to userDisplayName * Renamed username property on fido2key object to userdisplayname * updated username to userDisplayName in fido2 export * Update libs/angular/src/vault/vault-filter/models/vault-filter.model.ts Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> * [PM-3775] feat: import v0.4.0 (#6183) * [PM-3660] Address PR feedback (#6157) * [PM-3660] chore: simplify object assignment * [PM-3660] fix: remove unused origin field * [PM-3660] feat: add Fido2Key tests * [PM-3660] chore: convert popOut to async func * [PM-3660] chore: refactor if-statements * [PM-3660] chore: simplify closePopOut * [PM-3660] fix: remove confusing comment * [PM-3660] chore: move guid utils away from platform utils * [PM-3660] chore: use null instead of undefined * [PM-3660] chore: use `switch` instead of `if` * [EC-598] fix: popup not closing bug * [PM-1859] Refactor to credentialId (#6034) * PM-1859 Refactor to credentialId * PM-1859 Minor changes * PM-1859 Fix credentialId initialization logic * PM-1859 Added missing logic * PM-1859 Fixed logic to use credentialID instead of cipher.id * [PM-1859] fix: missing renames --------- Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com> * [PM-1722] gracefully fail if site prompts user for passkey on load (#6089) * added error logic to look for options.mediation in page-script * moved the options mediation logic into the try catch. changed error to FallbackRequestedError * [PM-1224] Ensure Passkeys Not Requested From Iframes (#6057) * added isNotIFrame method to page-script * added NotAllowedError to assertCredential in fido2 * remove excess comments * refactor fido2-client.service. created new errorhandling method for similar code between create and assert * update types and naming convention for new method in fido2-client.service * Did a reset to previous commit withiout the refactoring to reduce code duplication, Renamed isNotIframeCheck function and fixed other commits * Revert "update types and naming convention for new method in fido2-client.service" This reverts commit |
2 years ago |
|
|
2dc94ede97
|
[PM-3538] Migrate AddOrganizationComponent Web (#6275)
Migrate add organization in provider portal to use component library. |
2 years ago |
|
|
84bafe5e73
|
[CL-104] fix overlay + virtual scroll view recycling bug (#6179)
* close menu overlay when no longer visible * prevent infinite loop in fallback-src directive * block scrolling when menu is open * disable view recycling; use reposition strategy |
2 years ago |
|
|
922de469f4
|
[PM-2169] Update Password Reprompt Modal to use Component Library (#5720)
* update password reprompt to use the dialog CL * Override showPasswordPrompt and submit method on web child classes from base classes to allow dialog work on web and modal on other clients * Override showPasswordPrompt and submit method on web child classes from base classes to allow dialog work on web and modal on other clients * Fixed lint issues * Corrected comments * Refactored passwored reprompt to use dialog service after changes to make the dialog service work on the desktop and browser * Changed access modifier from protected to protected * Refactored passwprd reprompt component to a stand alone component and fixed all references * fix merge changes * fix import aliases in password-reprompt.component.ts * fix alias typo in browser tsconfig * import from root vault alias * revert tsconfig changes * remove service abstraction and update imports * remove component from imports * Removed unneccesary show password toggle * renamed selector to use vault prefix * removed unnecessary data dismiss * merged and fixed conflicts * remove reintroduced file * Added appAutoFocus to reprompt dialog * delayed validation until submit happens --------- Co-authored-by: William Martin <contact@willmartian.com> |
2 years ago |
|
|
462daab322
|
PM-3981 - SSO/2FA Comp bugfix for user unable to be JIT created in a TDE org with a require 2FA policy. We were trying to save the Org SSO Id in all post login scenarios instead of all post login success scenarios. 2FA required is a scenario in which the login would not be successful and no account will exist in state for data to be set on. (#6439)
|
2 years ago |
|
|
0dd1aeba9f
|
[PM-4031] Add libs/importer to browser and desktop (#6373)
* Import libs/importer and instantiate ImportService * Create ImportApi and ImportService factories * Add libs/importer to desktop * [PM-4075] Setup Feature Flag for Browser Fileless Import (#6391) * Update apps/browser/src/tools/background/service_factories/import-api-service.factory.ts Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com> * Created non-exported ServiceCache-type for ImportApiServiceFactory --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com> |
2 years ago |
|
|
8bef0883f5
|
Individual Vault Item Encryption Feature (#6241)
* PM-1049 - TODO: replace base component with business service * updated server version * disabled cipher key encryption * add new storage to replace MasterKey with UserSymKey * add storage for master key encrypted user symmetric key * Begin refactor of crypto service to support new key structure * remove provided key from getKeyForUserEncryption * add decryption with MasterKey method to crypto service * update makeKeyPair on crypto service to be generic * add type to parameter of setUserKey in abstraction of crypto service * add setUserSymKeyMasterKey so we can set the encrypted user sym key from server * update cli with new crypto service methods - decrypt user sym key and set when unlocking * separate the user key in memory from user keys in storage * add new memory concept to crypto service calls in cli * update auth service to use new crypto service * update register component in lib to use new crypto service * update register component again with more crypto service * update sync service to use new crypto service methods * update send service to use new crypto service methods * update folder service to use new crypto service methods * update cipher service to use new crypto service * update password generation service to use new crypto service * update vault timeout service with new crypto service * update collection service to use new crypto service * update emergency access components to use new crypto service methods * migrate login strategies to new key model - decrypt and set user symmetric key if Master Key is available - rename keys where applicable - update unit tests * migrate pin to use user's symmetric key instead of master key - set up new state - migrate on lock component - use new crypto service methods * update pin key when the user symmetric key is set - always set the protected pin so we can recreate pin key from user symmetric key - stop using EncryptionPair in account - use EncString for both pin key storage - update migration from old strategy on lock component * set user symmetric key on lock component - add missed key suffix types to crypto service methods * migrate auto key - add helper to internal crypto service method to migrate * remove additional keys in state service clean * clean up the old pin keys in more flows - in the case that the app is updated while logged in and the user changes their pin, this will clear the old pin keys * finish migrate auto key if needed - migrate whenever retrieved from storage - add back the user symmetric key toggle * migrate biometrics key - migrate only on retrieval * fix crypto calls for key connector and vault timeout settings * update change password components with new crypto service * update assortment of leftover old crypto service calls * update device-crypto service with new crypto service * remove old EncKey methods from crypto service * remove clearEncKey from crypto service * move crypto service jsdoc to abstraction * add org key type and new method to build a data enc key for orgs * fix typing of bulk confirm component * fix EncString serialization issues & various fixes Co-authored-by: Matt Gibson <MGibson1@users.noreply.github.com> * update account model with new keys serialization * migrate native messaging for biometrics to use new key model - support backwards compatibility - update safari web extension to send user key - add error handling * add early exit to native messaging flow for errors * improve error strings in crypto service * disable disk cache for browser due to bg script/popup race conditions * clear bio key when pin is migrated as bio is refreshed * share disk cache to fix syncing issues between contexts * check for ephemeral pin before process reload * remove state no longer needed and add JSDOC * fix linter * add new types to tests * remove cryptoMasterKeyB64 from account * fix tests imports * use master key for device approvals still * cleanup old TODOs, add missing crypto service parameters * fix cli crypto service calls * share disk cache between contexts on browser * Revert "share disk cache between contexts on browser" This reverts commit |
2 years ago |
|
|
c75f6c28eb
|
[PM-3730] Master Password Re-prompt Enabled Items Invoke Popup Window Automatically When Autofill on Page Load is Enabled (#6189)
* [PM-3730] MPR-enabled items invoke the pop-out window automatically when autofill on-page-load is enabled * [PM-3730] Updating vault item views to ensure that autofill on page load setting is not confusing to users * [PM-3730] Setting up toast message to appear when user opts to turn on master password reprompt * [PM-3730] Ensuring that toast messages do not show when the autofill on page load value is not on * [PM-3730] Updating copy and adding help text below the autofill on page load field within vault items in the extension |
2 years ago |