main
ps/electron-custom-protocol-poc
vault/pm-34113/desktop-passport
PM-37554-Defect-The-discard-dialog-is-displayed-twice-when-clicking-cancel-while-creating-a-send
uif/CL-978/field-update
renovate/lock-file-maintenance
uif/angular-21-update
renovate/ctor-1.x
ps/PM-34331-update-electron
ac/pm-37251/invite-link-status-get-endpoint
ps/PM-35903-update-node-24
vault/PM-34114/cli-passport
vault/pm-36880/filter-linked-bank-account
km/sdk-ipc
crowdin-auto-sync-web
crowdin-auto-sync-browser
crowdin-auto-sync-desktop
version-bump-20260518-105748
renovate/open-11.x
renovate/chromatic-16.x
renovate/jsdom-29.x
renovate/type-fest-5.x
renovate/ed25519-3.x
renovate/sha1-0.x
renovate/pbkdf2-0.x
renovate/napi-rs-cli-3.x
renovate/koa-router-15.x
renovate/autoprefixer-10.x
renovate/storybook-test-runner-0.x
renovate/rand-0.x
renovate/macosios-bindings
renovate/yao-pkg-pkg-6.x
renovate/sha2-0.x
renovate/russh-cryptovec-0.x
renovate/cbc-0.x
renovate/aes-0.x
renovate/pkcs8-0.x
renovate/inquirer-8.x
renovate/commander-14.x
renovate/chrome-0.x
renovate/crate-rsa-vulnerability
billing/pm-24216/WEB-BEEEP-Improve-the-Code-Quality-of-the-Upgrade-Dialog
km/test-speed
pam/pm-37278-kill-switch
pam/pm-37275-policy-composite
pam/pm-37265-request-detail-modal
pam/pm-37270-email-deep-link
pam/pm-37266-leased-pill-extension
pam/pm-37273-policy-ip-allowlist
pam/pm-37274-policy-time-of-day
pam/pm-37272-policy-human-approval
PM-2588-Tools-Send-URL-we-change-vault.bitwarden.com-to-send.bitwarden.com-but-ignore-all-others
renovate/serde_with-3.x
renovate/inquirer-13.x
PM-32187-restrict-send-type
formform
ac/pm-37608-automation-test-ids
rc
dirt/pm-35058/welcome-modal-post-scan-state
dirt/pm-35133
tools/pm-27251/clean-up-sdk-generator-2
dn/expired-card-poc
PM-36172
pm-34172-badge-position-hidden-multi-field
uif/CL-1042/ds-refresh-3
pam/pm-37276-member-require-lease
pam/pm-37271-leasing-tab-scaffold
pam/pm-37268-approver-inbox
pam/pm-37269-active-leases-view
pam/pm-37267-my-requests-page
billing/pm-35230/clients-web-Checkout-success-page
pam/pm-37277-governance-dashboard
pam/pm-37264-cipher-open-flow
tools/pm-31068/use-sdk-sends-api-in-clients-2
pam/pm-37279-email-templates
pam/pm-37262-push-subscription
pam/pm-37263-vault-list-badge
pam/pm-37261-scaffold
desktop/settings
auth/pm-35600/update-password-request-models-key-management
auth/pm-35601/update-password-request-models-admin-console
km/pin-management-sdk
ac/pm-34157/clients-wire-up-policyservice-to-use-sdk
ac/pm-34156/clients-add-accepted-state-organization-sync
remove-claude-plan-md-file
PM-37590
dn/pm-31761/ssh-agent-v2-sign-request
km/add-upgrade-token-to-sync
PM-6796-Change-paths-and-names-within-libs-tools
pm-34497-iframe-deepselector
pm-37565
PM-32016-1
hotfix-rc-browser
auth/pm-30365/account-recovery-salt-fallback
SM-1926]-corrupted-secret-data
renovate/major-github-artifact-actions
renovate/actions-create-github-app-token-3.x
renovate/rust-1.x
renovate/minor-github-actions-updates
renovate/chromaui-action-16.x
km/shared-unlock-initial
auth/pm-35599/update-password-request-models-auth
billing/pm-36878/update-existing-user-trail-flow
dirt/pm-35134/rename-assign-tasks
auth/pm-32445/extension-scrollbar-bug-fix
PM-31884-New-send-policy-to-restrict-access-controls-front-end
SM-1588-Secrets-list.component
km/pm-37295
vault/pm-34108/browser-drivers-license
vault/PM-28192
fix/repository-management-remove-tokens
vault/pm-31832/update-ng-to-@-in-vault-browser-components
dirt/pm-36359/splunk-hec-integration
agalles/fix-version-bump
PM-31929-new-send-policy-for-deletion-days
uif/CL-965/Updating-Spinner-Component
dirt/pm-32654/fix-app-table-column-width
vault/pm-31312/remove-flagged-logic-from-clients-pm-29437-welcome-dialog-feature-flag
km/pm-32211-fix-private-key-before-key-rotation
km/disable-state-bridge
revert-20394-km/state-bridge
extract/magic-values
PM-31084
PM-32016
PM-35120
vault/pm-27679/remove-flagged-logic-from-clients-server-and-clients-feature-flag
iinuwa/win-passkey-poc3
vault/pm-34109/copyable-items-bank-account
autofill/pm-35399/custom-elements-galore
billing/pm-35229/clients-browser-desktop-stripe-checkout-from-upgrade-dialog
uif/CL-1077/update-menu-item-styles
vault/pm-36947/solution-plan
uif/CL-1155/breadcrumb-style-updates
km/state-bridge
km/desktop-ipc
innovation-sprint/shared-unlock
dirt/file-storage-orgreports
dirt/pm-35323/fix-risk-over-time-all-time-xaxis
auth/token-svc-memory-first-storage-and-circ-dep-refactor
billing/pm-35228/add-premium-status-changed-push-notification
vault/fix-cardholder-name-copy-button-12439
vault/pm-33407/add-organizationusernotificationpolicy-component
nav-host-display-block
uif/lit-ds-spike
PM-36534
CL-1192
vault/pm-33933
vault/pm-20461/drivers-license-desktop
int/draft-ctap1-hardware-key-fallback
beeep/auth-paste-auto-submit
vgrassia/test
CL-1028
SM-1927-Machine-Accounts-Bad-Data
billing/PM-35121/premium-subscription-page-multiple-discounts
uif/storybook-10-update
iinuwa/win-passkey-poc4
bre-1851_update-repository-management-workflow
ac/pm-34388/update-invite-link-command
ac/pm-34918-fix-types-collection-encryption-and-decryption
skunkworks/PM-23485/macos-autofill-static-lib
renovate/https-proxy-agent-9.x
PM-29785/com-server-impl
bit-workflow-fix
sm-1928-access
uif/CL-1138/stacked-drawers
PM-29781-Remove-the-feature-flag-for-email-verification-clients
km/key-rotation/pm-30213
vault/PM-16125
billing/pm-33923/add-support-for-multiple-organization-discounts-to-organization-subscription-page
ac/pm-22352-refactor-lowDbStorageService-to-use-internal-typings
sm-1506-jest-mock-extended
uif/CL-1001/update-toggle-group
vault/add-bank-account
uif/CL-51/file-upload
km/unlock-with-pin-state
renovate/electron-41.x
beeep/improve-collections-page-speeds
vault/pm-28191-part-2
ac-performance-logged
SM-1934-overlapinui
km/move-pin-to-sdk
BRE-1845-secret-rotation-placeholder-work
PM-35496
hotfix-rc-cli
PM-34615
km/autostart-test-automation
auth/pm-35336/fix-user-logout-on-org-confirm-sync
revert-19594-km/pm-32761-lock-causes-log-out-on-tde-account-with-pin
before-close
performance-logs-main
km/ac-performance
km/warning
jmccannon/inno/passkey-report
revert-20273-vault/rc-pm-35318-duplicate-archived-badge
dirt/pm-35052/address-ai-refactor-feedback-pre-rebase-2026-04-30
arch/vite-poc
desktop/cleanup-m3-m4
km/value-managed-state
poc/auto-config-git-and-ssh
dirt/file-persistence/pm-31942
recoverystrings
dirt/pt3/pm-31942
auth/pm-32833/remove-input-password-feature-flag
dirt/pm-35224/featureflaggedroute-route-providers
PM-29785/windows-webauthn-wrapper
km/remove-masterkey-state
uif/CL-1156/breadcrumb-responsive-updates
Jest
anders/agent-access
backup/PM-33121-old-branch
PM-32622-Defect-Keepass-importer-is-returning-an-error-when-importing-into-individual-vault
dirt/pm-34910/badges-tabable-with-aria-label
fix/security-sast-22741814-7cga
km/pm-34814/update-sdk-rotation
km/move-bio
renovate-docker
vault/fix-sdk-update-pr-desc
dirt/pm-34677/chart-label-date
magnify/demo
magnify/main
pm-34743
tools/pm-31067/update-sends-id
uif/CL-962/Update-Banner-Component
km/poc-replace-ever-had-userkey
pm-34135/user-preferences-service
PM-34689
innovation/sync-user-preferences
copy-revert
ResolveInquirerDepIssues
PM-33889-Innovation-sprint-Bitwarden-Receive
is/pm-34458/experimental-enable-automated-release-notes
vault/innovation-sprint/sync-preferences
innovation-sprint-2026-send-folder-drag-drop
hello-window
innov8-ssowned
innovation-sprint-2026-send-folder-windows-context
innovation-sprint/autotriage/export-eligibility
innovation-sprint-2026-send-folder
km/auto-navigate-on-unlock
innovation-sprint/disable-proc-reload-in-dev
dirt/pm-34230/blumira-integration-changes
feature/ipc-desktop-browser-transport
platform/pm-27825-remove-artifact-name
dirt/pm-34230/blumira-integration
coroiu/for-QA/fix-desktop-warn-unsaved-changes-before-update
dirt/pm-31942
magnify/frontend-ui-merge-to-main
innovation-sprint/autotriage/report-issue
vault/pm-19618/remove-archive-ff
magnify/magnify-window-open-on-active-screen
ac/pm-32159-hide-account-recovery-for-providers
innov8-ssowned-adding-new-cipher-type
magnify/frontend-implementation-after-bootstrap-angular
uif/CL-519/remove-toastr
dirt/update-models/pm-31942
magnify/uxui-updates
PM-34100-fix-autofill-notification-locked-vault
innovation-sprint/autotriage/triage-report-page
magnify/desktop-ipc
PM-31884-New-send-policy-to-restrict-access-controls-fe
remove-reviewers-community-prs
extract-platform-common-leaf
SM-Jest-Update
PM-33960
pm-34008
magnify/working-search-with-keybinds
worktree-uif/aria-anchor-lint
arch/vitest-poc
beeep/adds-new-chip-input-component
pr-19505
uif/CL-1023/ds-refresh-1-badge-max-width
revert-bugfixes
uif/CL-1114/re-run-icon-migration
jest-major-prep
jest-major-upgrades-10th-attempt
dirt/pm-28529/risk-over-time-api
dirt/PM-24366/prototype/consolidate-at-risk-passwords
dirt/PM-30542/pt-2
SM-prototype-for-manage-permissions
PM-30340-Defect-Desktop-file-send-does-not-show-premium-badge
fix/macos-cli-notarization
sdk-update-020-main-613
dirt/feature/access-intelligence-performance
apixley/verify-publisher-name
messaging-docs
uif/CL-1049/autofocus-refactor
jestmajor
PM-32542
PM-29439
feature/PM-30737-Migrate-DeleteAccount
pm-33481
uif/CL-205/Add-BannerSlot-To-Bit-Layout
worktree-uif/typesafe-i18n
sdk-update-020-main-597
uif/desktop-upgrade-prompt
worktree-uif/bit-item-policies-stories
pr-19507
billing/pm-31645/swiss-tax-logic-update
dev/kreynolds/remote-access-crate-sdk
ac/pm-32718-wip-improve-collections-performance-speed
PM-32604-VULN-GermanyClub-2026-Bitwarden-CLI-SSO-webserver-binds-to-0.0.0.0
PM-32888-Defect-An-error-is-returned-when-using-the-browser-importer-Windows-Chrome
PM-32495-VULN-GermanyClub-2026-Command-line-flag-injection-on-chromium-import-feature
auth/pm-33328/clean-up-flagged-prefetch-password-prelogin-logic
implement-flight-recorder-for-web-clients
auth/pm-17630/libs-auth-decomposition/move-login-strats-and-decryption-opts
auth/pm-27060/update-password-prelogin-to-use-sdk
km/pm-33166/draft
arch/napi-proposal
iinuwa/reorganize-win-webauthn
arch/oxlint
PM-32025
dirt/pm-32144/improve-review-dialog
ac/pm-30809-slowness-when-accessing-collections-in-ac
auth/pm-32487/emergency-access-prevent-negative-approval-wait-time
auth/remove-libs-auth
coroiu/add-api-service-middleware
beeep/policy-pipe
auth/pm-33203/move-web-key-rotation-feature-to-common
km/migrate-cli-to-new-km-apis
uif/sass
PM-10699-Defect-CLI-Password-length-command-is-not-taking-effect
spike/vanilla-extract
km/remove-kc-master-key-login
spike/tailwind-variants
dep
dirt/PM-32047/fix-phishing-loading-bypass
pr-18755
uif/dialog-container
km/key-rotation-fix-bump
km/draft-wipe-masterkey
deps-jest-major
SM-1762-jest-major
PM-32048-vuln-origin-check-bypass-via-sandbox-iframe-in-chrome
km/stop-sync-blocking-unlock
dirt/pm-32843/normalize-protocol-at-ingest
uif/CL-1029/button-group
vault/web-vault-unit-tests
tools/pm-32160/web-shared-send-list-component
ac/pm-31364-add-discard-edits-dialog-to-policies-page
clients-init-framework
dirt/pm-32697/fix-phishing-excessive-cdn-downloads
pm-25909-commercial-desktop
anders/electron-builder
vgrassia/test-2
beeep/takeuntildestroyed/platform
beeep/takeuntildestroyed/secrets-manager
beeep/takeuntildestroyed/ui-foundation
beeep/takeuntildestroyed/key-management
beeep/takeuntildestroyed/dirt
beeep/takeuntildestroyed/billing
beeep/takeuntildestroyed/admin-console
beeep/takeuntildestroyed/vault
beeep/takeuntildestroyed/tools
beeep/takeuntildestroyed/autofill-desktop
beeep/takeuntildestroyed/autofill-browser
beeep/takeuntildestroyed/auth
PM-7853-getting-rc-up-to-date
cherry-pick-CL-971
beeep-autofill-debug
PM-7853-rc-cherrypick
beeep/ff-dialog
pr-19117
revert/pm-26704-pm-26706
PM-30542
bre-1646/cherry-pick-version-bump
iinuwa/windows-crypto
km/auth-ts7
auth/temp/possible-changes-for-salt-sent-to-server
uif/no-standalone-true
dirt/pm-31197/phish-incognito
bre-1638/improve-macos-cli-notarization-flow
dirt/documentation/standards
vault/pm-28190/sdk-sharing
feature/CL-965-Update-Spinner-Comp
PM-32254
tools/pm-31322/delete-send-dialog-focus
aj-bw/appx-manifest-fix-poc
uif/CL-1046/form-dialogs/secrets-manager
uif/CL-1046/form-dialogs/admin-console
uif/CL-1046/form-dialogs/auth
dirt/review-applications-performance
dirt/pm-32101/continue-anyways-button
test-opera-release-version-bump
coroiu/fix-flatpak
km/test-use-unlock-service
playwright
pm-28967-bug-missing-icons
PM-31994-Defect-An-error-is-returned-when-trying-to-remove-a-password
uif/CL-1028/popover-anchor-border-radius
dirt/access-int-performance
km/replace-encstring-with-unsigned-shared-key
PM-18607-Tools-Remove-unknown-elements-properties
feature/PM-31665-Missing-AddEdit-Field
release-fix-store-appx
iinuwa/rc-fix-ms-store-release
feature/CL-980-Update-Icon-Title
PM-31787-Defect-Users-can-access-the-sends-after-the-limit-was-reached
PM-23485/shared-autofill-provider-types
scheduler-mutation-cache
ac/pm-31792-get-rid-of-unused-style-which-breaks-form-fields
dirt/pm-20112-short-term-fix-for-member-access-report
PM-31391-restore-persistent-password-scenerio-for-edit-send
dirt/access-int-client-data
PM-29816-1
SM-1718
diff-husky
PM-29437
PM-31256-archive-badge-edit-item
dirt/access-svc-refactor
PM-27365-migrate-list-scss-to-non-sass-for-autofill-content-script-experiences
feature/PM-28167-Desktop-Migrate-Vault-Drawers-UI-Shared-Lib
aj-bw/appx-poc-target
anders/claude-init
dirt/pm-27876/update-widgets-from-application-tab-updates
ddg-alert-files-list-test-pr
uif/angular-21
dirt/access-intelligence-prototype
add-check-job
feature/PM-28167-Desktop-Migrate-Vault-Drawers-UI
ac/pm-31293-fix-empty-toast-message-rc
dirt/PM-31185
vault/pm-30289/extension-focus-loss
feature/PM-28167-Desktop-Migrate-Vault-Drawers
dirt/indexeddb-improvements
PM-19251-Unknown-Firefox-Relay-Error-occurred
dirt/beep/use-rust-for-member-access-report
sp-poc
autofill/refactor/generator
ac/pm-26342-members-page-does-not-default-all-button
feature/PM-31157-No-New-Send-Text
uif/jsdoc
dirt/pm-30879/huntress-hec-integration
uif/context-rules
context-rules
dirt/phishing-blocker-info-logs
PM-31039
km/poc-userkey-state
arch/build-desktop-cache-key
huntress-hec-integration
PM-29791/desktop-os-fido-user-verification
bitwarden-init-test
PM-7853-Clients-Hide-Send-from-navigation-when-user-is-subject-to-the-disable-Send-policy
coroiu/play-around-with-remote-sdk
dirt/pm-30629/firefox-cache-freeze
km/set-legacy-state
iinuwa/bidi-autofill-ipc
auth/add-logout-reason
uif/CL-1007/menu-item-action
dirt/pm-26917/documentation
dirt/pm-30531/phish-download-flag
dirt/pm-30524/phish-toggle-fix
anders/pnpm
dirt/fix-main
anders/eb-26-3
consolidate-key-service-deprecation-messages
bre-1314/das-rollback-web-workflow
open-at-login-clarification
auth/web-auth-request-answering-service
rc-no-napi
rc-no-electron
billing/pm-29606/implement-storage-and-additional-options-plan-cards-into-subscription-pag
km/fix-ssh-crash-on-login
fix-15485
auth/pm-14922/sdk-login-with-password-demo
autofill/PM-27365-convert-list.scss-to-css-file
autofill/PM-26053-new-login-defect
uif/CL-939/icon-refresh
km/fido2-client
uif/fix-flicker-on-load
uif/CL-853/windows-title-bar
iinuwa/win-passkey-poc
uif/pm-24178/menu-item-dialog-v2
anders/ssh-ux
uif/CL-961/nested-menus
anders/eslint2
anders/logs-silent
anders/eslint-cache
aa-branch-2
anders/rust-cache
dev-mode-example
anders/oxc-prettier
anders-oxlint
anders-oxc-prettier
revert-17123-tools/PM-23258/import-items-vs-data-verbiage
anders/increase-passkey-limit
update-message-strings-app-restart
uif/strict-angular-templates
auth/claude-component-service-architecutre
PM-25575-BEEP-duplicate-login-detection
coroiu/poc-api-service-cookie-fetching
dirt/pm-29021/phishing-blocker-guard-updates
PM-27310-potentially-drop-use-of-i-frame-and-render-notification-bar-in-shadow-dom
coroiu/wasm-tracing
platform/mark-activeuserstate-deprecated
bc/anon-layout-with-logo-slot
km/process-reload-dev
PM-28548-update-phishing-list-to-links
coroiu/allow-rust-cache-disable
autofill/PM-26503-medium-blocks-events
vault/cli-old-attachment-build
feature/PM-27794-create-send-component-desktop-migration
uif/add-tooltip-delay
platform/pm-27943/handle-electron-store-errors
PM-21950-Defect-Browser-After-importing-and-landing-on-Vault-Settings-back-button-navigation-goes-to-Import-screen-again
uif/add-desktop-header-slot
km/package-type-qa
km/rsa-extract-public-key
feature/windows-native-passkeys-provider
bc/group-mjml-updates
uif/CL-854/page-header-component
PM-28428
PM-28374-add-report-false-positive-button
PM-28391-persistent-ignore-phishing-sites
feature/phishing-detection-exemptions
inline-menu-test-from-browser-rc-branch
sm-jest-mock-extended
SM-Jest
reno-major-jest
modified-jest-major-upgrade
fix/medium-click-issue
electron-hook-afterpack-test-for-chrome-sandbox-issue
km/fido2-desktop-plumbing
PM-24173-Defect-Length-min-numbers-and-min-special-fields-allow-any-values
SM-1599-VirtualScroll
dev/kreynolds/tunnel_proto
auth/pm-19057/poc
iinuwa/win-passkey-uv
anders/win4
anders/win3
auth/pm-23907/token-to-sync-delay
anders/win2
aj-test-workflow-update
workflow-file-usage-test
uif/CL-923/more-flakey-chromatic-fixes
auth/pm-19057/test-1
dirt/pm-27803/disabled-activity-states
billing/pm-27911/subscription-details-for-secrets-manager-with-free-password-manager
anders/win-sign
nov-6-known-good-main-desktop-build-test
PM-27819
dirt/pm-27739/application-icons-not-rendering
vault/PM-26200
add-risk-over-time-chart
dirt/pm-27706/columns-for-new-apps-dialog
PM-23686
auth/pm-22663/auth-consolidate-login-comp-routing
claude/make-newapplications-optional-011CUcmXM8m4juUdrcr4qyCv
claude/review-run-report-changes-011CUcUFkD9eAFPENxSQozh4
claude/review-merged-prs-011CUcFEum5zpdxzgRcQRWct
dirt/pm-23375/replace-drawer-with-dialog
claude/dirt-pm-27284-claude-1-session-011CUaHfLuKZghJYCJpUtcZd
auth/setUserDecryptionOptions
dirt/pm-26676/risk-insights-refresh-when-org-changes-2
dirt/pm-26676/risk-insights-refresh-when-org-changes
CL-896
dirt/pm-17577/test-deployment
local-phishing-data-gh-action
pm-26476
coroiu/beeep-desktop-browser-ipc-channel
PM-26650
beeep/developer-tooling-feature-flags
vault/PM-24178/fix-modal-focus
CL-668-responsive-toggle-group
PM-26651
autofill/PM-26348-zoom-autofill-password
responsive-vault--filters
CL-671-remove-body-width
uif/CL-852/chip-toggle
coroiu/remove-deps
pm-25269
auth/pm-17172/extension-acct-switcher-lock-now-btn-not-showing-disabled-style
dirt/pm-20630/my-items-in-report
billing/pm-24033/update-premium-subscription-page-m2
vault/use-sdk-sharing
regen-package-lock
autofill/PM-24656-detect-login-fields-with-webauthn-name
pm-25166-deprecate-premium-banner
PM-662
settings-modal
pm-24033-update-premium-subscription-page-m2
remove-clippy-allow-crypto
nx-integration-testing
PM-24269
dirt/pm-19322/accessibility
auth/pm-24103/remove-get-user-key
autofill/PM-25072-autofill-password-potterybarn
dirt/pm-23002/first-run-prompt
vault/PM-25012/cipher_versioning
add-root-dir-to-libs
POC/cipher-versioning
common-nx
autofill/PM-24720-non-blocking-page-details-collection
pm-24216-WEB-BEEEP-Improve-the-Code-Quality-of-the-Upgrade-Dialog
autofill/PM-24720-autofill-after-focus-alternative
ac/pm-2790-use-master-password-policy-in-account-recovery
platform/pm-25424/revert-changes
PM-24646-add-licensed-browser-release
auth/pm-14943/auth-request-extension-dialog-approve-debug
PM-24646-research-how-to-build-all-clients-in-gpl-and-proprietary-licensed-versions
vault/7732
SM-1548-SecretViewSlow
PM-25256
PM-24508
coroiu/beeep-iterators
billing/pm-24350-discrepancy-between-estimated-tax-values-for-product-vs-marketing
coroiu/fix-refresh-clearing-badge
vault/pm-24963/fix-access-intelligence-tab
dirt/pm-23824/integration-and-configuration-data
ps/remove-node-fetch
platform/safari-native-messaging-docs
api-lib
anders/win-passkey-poc
fix-ts58-platform
dirt/pm-24655/hec-connection-delete
dirt/pm-20580/risk-insights-use-save-services
202505-notifications-refactor
PM-24501-multi-cipher
autofill/for-nick
browser-ext-message-symbols
feature-passkey-provider
coroiu/experiment-with-dynamic-badge-calculators
250807-notif-strict
autofill/autotype-security
platform/add-prerequisites-to-issue-templates
autofill/atdb_v2
PM-530
PM-14619
autofill/atdb
pm-22968-ui-when-MSP-BUP-is-suspended-feature-flag
arch/localization-migrators
uif/design-tokens-exploration
core-test-utils-lib
poc/structurizr
bre-1037/update-rc-deploy-trigger
billing/pm-24098-remove-getOrgKey-from-the-key-service
kiro-localize
client-type-library
feature/i18n-component-template
beeep/enhanced-a11y-form-fields
ps/raise-tsconfig-target
arch/takeuntil-migrator
PM-23748
auth/pm-23620/auth-request-answering-service-temp
arch/tools-abstract-strict
extract-utils-from-common
extract-serialization-library-from-common
vault/pm-24000/test-sdk-await-fix
pm-23023
arch/kiro
vault/pm-2400/sdk-cipher-encryption-json-import-fix
dirt/pm-23822/org-integration-api-service
pm-19497-reset-search-x-browser
improve-options-type-safety
dirt/pm-20132/member-count-must-includes-invited-users
dirt/pm-23264/display-cipher-name
uif/CL-277/bit-item-group-keyboard-nav
serialization-library
dirt/pm-23603/group-names-in-event-logs
dirt/pm-23602/collection-name-in-event-logs
anders/win-passkey-poc-clean
dirt/pm-23273/display-username-in-event-logs
autofill/pm-19255-variables
ac/pm-20633/rename-individual-vault
anders/test-bug
autofill/log-cipher-decryption
SM-1301-getbyidsevent
uif/CL-707/signals-auto-migrate
dirt/risk-insights-saving-reports-outline
dirt/pm-20578/report-summary-for-db
coroiu/PM-22593-improve-initialization-process-for-database-and-repositories
dirt/pm-20577/report-summmary-for-db
auth/pm-18720/change-password-component-non-dialog-v3
pm-18701-optional-payment-modal-after-signup
storage-core-library-2
auth/pm-22723/policy-service-updates
vault/pm-22756/copy-click-listener
autofill/pm-19255
autotype-demo
autofill/pm-21845
split-large-event-upload-requests
dirt/pm-21287/ngrx-poc
cli-macos-signing
BRE-863-Automate-Chrome-releases
coroiu/performance-measure
platform/pm-22534/move-account-activity-to-memory
auth/pm-20532/tech-breakdown-poc-token-based-send-authn-and-authz
ac/pm-22390/fix-device-approval-perm
platform/pm-21683/add-duckduckgo-extension-device-type
SM-1415-EventLogs
state-library
global-state-library
ac/pm-22392/fix-cli-manage-device-approvals
logout-library
anders/passkeys
billing/csp-update
innovation/archive/desktop-work
add-storage-lib
PM-21719]-Assign-collection-visibility
impl-sdk-engines
logout-lib
add-window-menu-id
auto-merge-renovate
coroiu/group-lowdb
logout-reason-circular-imports
anders/mac
auth/pm-18720/change-password-component-non-dialog-v2
autofill/PM-21846-center-unlock-vault-modal
nathan/autofill-fix
auth-circ-deps
fix-auth-circular-references
update-license-file
anders/cxp-extension
view-cache-docs
auth/pm-17111/add-browser-to-list-of-approving-clients-v2
anders/passkey-debugger
arch/migrate-desktop-settings
PM-21408
platform/adjust-ignoredeps
autofill/pm-17789
revert-14521-PM-20514-ux-updating-item-with-1-matching-login-edit-permission
anders/test1
linux-rpm-arm64-build-test
innovation/archive/web-work
anders/ipc1
ac/pm-19814/improved-warning-popup-ui
anders/sign4
anders/sign3
anders/sign2
anders/sign1
anders/kvc2
anders/kvc
anders/new-macos-sdk
PM-21017
auth/pm-19555/defect-clicking-log-out-button
dirt/pm-19996/app-icons-on-risk-insights
cherry-pick-auth-request-fix
uif/vault-drawer
revert-14414-crowdin-auto-sync-browser
agalles/test-workflows-feature
auth/pm-9115/implement-view-data-persistence-in-2FA-flows
agalles/test-workflows-sticky
auth/pm-19398/managed-environement-not-displayed-on-browser-client
tools/pm-19223/aggregate-by-domain
test-PM-12423-for-loop
PM-19923]AutoFocusOnSearch
coroiu/remove-unsafe-from-extern
coroiu/ipc-ping-example
autofill/PM-20367
uif/pm-19437/access-selector-spacing-workflow-test
auth/pm-14938/proof-of-concept-notification-architecture
dirt/pm-19810/member-access-report-csv
agalles/troubleshooting-20250415
PM-16921
auth/pm-11940/migrate-registration-to-sdk
autofill/PM-19511-with-exclude
PM-19180
tools/pm-919/cli-send-get-file
autofill/anders-passkey-unlock
desktop-devtools-enabled
fix-autofill-signing-with-main
autofill/PM-19511-show-existing-items
auth/pm-19617/speed-up-local-host-config
ps/test-sdk-ipc-through-proxy
beeep/cipher-service-refactor
uif/apply-button-styles
sdk-pass-generation
auth/add-sync-for-standard-auth-requests
poc/search-query-language
revert-13922-fix/check-device-id-falsy-values
InnovationMenuItemChanges
tools/pm-18656/remove-individual-vault-policy
feature/phishing-detection
platform/revert-2025.3.1
Customize-the-Phishing--Alert
anders/poc-unlock
poc/searchable-decorator
arch/ng-localize
auth/pm-3519/move-auth-request-api-methods
get-the-known-phishing-domain-from-the-server
auth/pm-19209/revert-to-original-message
PM-19158-Archive-menu-option
close-window-debugging
autofill/PM-17187-autofill-new-identity
anders/passkey-window-working-mergetest
add-tool-manifest
uif/update-layout-bg
auth/pm-18986/ui-refresh-extension-webauthn-2fa-fix-old-styles
PM-17732
fastlane-desktop-test
reduce-desktop-disk-writes
PM-13246
skip-listening-to-flag-changes-during-login
auth/pm-18654/new-ui-desktop-tde-jit-errors-with-missing-org-sso-id-v2
PM-14622-rf-opt-state
revert-13612-tools/pm-18456/unassigned-items-reports
no-firefox-mv3
arch/test-fail-console
autofill/PM-9034-implement-passkey-for-unlocked-accounts-jholland-tests
BRE-494
arch/poc-form-builder
coroiu/remove-using-from-rc
PM-18027
anders/extension-signing
platform/pm-14640/npm-ignore-patch
platform/add-comments-to-renovate
auth/pm-16783/tech-debt-fixes-toast-service
PM-14164
vault/PM-17216
auth/pm-14873/registration-add-reseller-provider-portal-invite-support
PM-15943-3
pm-18047-blank-loading-modal-briefly-shown-before-the-upgrade-modal
auth/pm-17464/remove-snap-sso-handler
ac/pm-17168/revoking-user-is-not-synced-immediately-via-push-notification
temp-zhHant-testing-branch
web-app-checksum
platform/pm-11936/remove-token-refresh-before-sync
auth/device-on-all-requests
platform/config-device-identifier
handle-unix-not-found-error
PM-15943
uif/test-disabled-binding-on-input
ps/pm-15333/portable-desktop
ps/web-subresource-integrity
tools/PM-16822/Replace-account-service
extension-signing
PM-14952
PM-16164
revert-12161-PM-13938-exceptPasswordPermission
passkey-window-loadurl
auth/desktop-debug
snap-extra-files
auth/add-tde-offboarding-check-to-2fa
platform/disable-patch-updates
uif/eslint-forbid-libs-components
fix-ci
PM-12985-testing-reports
PM-15077-passkey-save-error-on-oracle-cloud
uif/generator-min-validator
PM-16104
risk-insights-final-demo
tools/PM-14927/display-critical-app-count
auth/pm-7882/email-verification-removal
tools/pm-16484/risk-insights-at-risk-count-fix
PM-15840-Defect-When-Free-Families-org-reached-max-collection-count-clicking-Upgrade-button-navigates-to-a-spinning-Subscription-page
auth/pm-16536/login-comp-mp-entry-screen-auto-fill-doesnt-change-email-subtitle
release-management-fix
use-sdk-for-encrypt-decrypt
pm-15808-Show-suspended-org-modals-for-orgs-in-unpaid-and-canceled-status
storage-service-get$
PM-13755-revoked-members-counted-as-seat
PM-2844-beeep-add-custom-error-codes-for-server-api-exceptions
PM-15126-second-attempt
beeep/files
risk-insights-demo-1
PM-15126-tighten-scope-of-our-client-build-pipelines-to-remove-reliance-on-secrets
vault/addtl-logging-for-pm15635
PM-15498-2
prevent-failure-from-corrupted-cipher-key
beeep/plausible
auth/pm-1779/remove-window-post-message-from-sso
PM-15090
pm-15166-build-bw-musl
PM-15498
PM-14894-Drop-Sales-Tax-Database-Tables
tools/PM-14470/mark-critical-apps
tools/PM-15091/db-feature-flag
mer/browser-refresh/beta-3
PM-14892-Sales-Tax-Estimation-For-Clients
PM-14891-Sales-Tax-Estimation-For-Organizations
PM-13455
dh-communications-with-key-connector
DEVOPS-1573_add-web-build-script
auth/pm-8341/radio-buttons-to-checkboxes
beeep/typesafe-i18n
task/BRE-284
ds/compact-mode-2
ps/pm-7826/token-service-obs
mer/pre-release-flag-on
update-firefox-mv3
ds/popup-siderbar-test
ds/compact-mode-user-setting
renovate/gio-0.x
autofill/pm-12352-remove-legacy-overlay-background
autofill/pm-12763-modify-autofill-animation
pm-13868-remove-upgrade-password-manager-flag
PM-12765
vault/experiment/collapsable-filters
platform/addison/PM-12624/update-codeowners
BRE-285-create-flatpak-distibution-method
auth/pm-8111/browser-refresh-login-component
user-configurable-log-levels
PM-13156-2
pm-12767
pm-13785-after-submitting-the-payment-method-the-blank-add-payment-method-modal-pops-up-again
auth/remove-twoFactorProvider-property
beeep-chip-focus-redirection-after-selection
beeep-focus-headings-after-load
autofill/pm-73-improve-detection-of-new-login
auth/pm-8115/desktop-extension-ui-refresh-self-hosted-setup-dialog
better-passkey-auth
SM-954-SeparateGettingStartedPage
PM-13273
PM-11525-Estimated-tax-shown-to-customers-potentially-incorrect
PM-13272
autofill/dialog-box-fix
km/biometrics-testflight-builds
vault/pm-12717/cloning-item-takes-you-back-to-original
PM-12681
optimize-workflows
fix-unawaited-promises-crypto-service
PM-11199-add-perm-value-to-table-admin-console
PM-12403
adjust-trial-icon
vault/pm-10426/implement-edit-item-view-admin-console-vault
vault/pm-11388/defect-section-headers-are-missing
manyorgdomains
PM-11438
PM-9032-swift-extension-add-ui-to-handle-desktop-not-being-open
poc/observable-based-update-service
observable-token-service
structural-request-result
ps/pm-11661/fill-buffer
auth/pm-11537/increase-passkey-limit
anders/pm-7673-create
beeep-performance-improvements
SM-10995]-Remove-Feature-Flag-VBMA
pm-11417-customers-expiration-date-in-admin-console-changing-to-next-invoice-date
ds/CL-330/close-select-on-scroll
shane/experiment/vault-state-v2
ds/prevent-copy-masked-field
autofill/pm-10418-expiration-date-on-cards-does-not-autofill-the-correct-format
autofill/notifications-rework-overlay-content-service-integration
vault-decryption-errors
explicit-userId-on-master-password-decryption
log-to-storage-2024.7.1
write-logs-to-storage
auth/pm-10964/set-userid-org-acceptange
auth/pm-10964/explicitly-define-userId-on-org-create
remove-annotated-keys-from-memory
use-original-key-in-folder-rotate
ds/test-chromatic
ps/cli-module-es2020
ac-2957-delete-the-feature-flag-PM-5864-dollar-threshold
shane/experiment/vault-state
autofill/poc-firefox-mv3
PM-9022-scaffold-the-extension-and-build-pipeline
autofill/poc-auto-submit-filled-form-alt
autofill/beeep/autofill-identity-card-from-keyboard-shortcut
autofill/pm-10068-remove-send-response-usages
PM-9476-desktop-setup-obj-c-library-statically-bound-and-callable-from-desktop-native-module
idphost
introduce-inversify
ps/forward-conditional-create
ps/BEEEP-sos-dialog
refactor-biometric-service-method-names
addison/esm-exp
ds/full-screen-dialog
vault/pm-9675/experiment
origin/billing/PM-5093/send-trial-initiation-email
ps/CL-131/bit-row-selector
ds/update-ds-codeowners
main-branch-for-BRE49
ps/pm-7826/expose-user-environment
change-return-of-refresh-logic
refresh-token-logging
v0-attachments-upload
ac-2721-apply-subscription-status-updates-in-provider-subscription-details
appid-logging-build
run-chrome-updates-in-angular
autofill/implement-collect-page-details-observable
CL-298-async-actions-2-0-context-string
PM-6271-propose-cipher-versioning-scheme-data-layer
PM-6271-propose-cipher-versioning-scheme
build-execution-context
ps/pm-7926/fix-browser-logout
ps/pm-7985/vault-not-loading
change-tap-to-mergemap
5019
vault/pm-1401/refactor-sync-service
ps/list-unnecessary-save-warnings-to-state-providers
AC-2400-Migrate-families-for-enterprise-setup-component
ps/pm-7486/detect-libsecret-service-debugging
add-logging-around-main-background
ps/service-worker-sessions-are-not-recovered
ps/fix-browser-account-switching
revert-8685-ac-1218-add-ability-to-delete-provider-portals-emaillink
add-application-lifetime-service
messaging-update-cg
autofill/pm-7138-implement-separate-main-background-instance-within-popup-for-get-bg-service-calls
acoroiu/poc-simple-vault-indexing
catalina-browserslist-test
revert-8546-revert-8534-CLOUDOPS-1369-remove-r-2-bucket-secrets-and-upload-procedure-from-the-artifacts-github-workflows
ac-1218-add-ability-to-delete-provider-portals
autofill/mv3-required-poc-changes
PM-5024-migrate-tax-info-component
AC-217-Migrate-Cards-To-Banners
vault-user-key-migration
add-secure-logging
autofill/beep/pm-5189-fix-issues-present-with-inline-menu-rendering-in-iframe
ps/vault-health-dashboard
auth/pm-6188/move-two-factor-service-to-popup
ps/beeep-compodoc
vault-decryption-rc-weirdness
ps/include-previous-in-derive-callbacks
fix-logout-on-biometrics-state-service
remove-autofill-shortcut-from-platform-utils
ps/resume-popup-url
autofill/beep-rearchitect-extension-messaging
autofill/spike-mv3-part-5
on-installed-message-injection-poc
autofill/pm-6122-rework-call-for-match-media-within-notification-background
ps/CL-210/base-font-size
autofill/spike-mv3-part-4
pm-5559-cg
PM-6113-build-rust-authenticator-and-client-to-support-i-os-and-android-passkey-provider-implementation-features
cl/copy-field
PM-1223-investigate-ability-to-add-support-for-mediated-conditional-ui-cg
ac-2101-update-welcome-emails-from-trial-initiation-and-org-creation
ps/pm-5533/migrate-asym-user-keys
ps/on-lock-on-logout-interfaces
catalina-after-angular-16
autofill/pm-5582-verify-usage-of-window-object-in-browser-popup-utils
autofill/spike-mv3-part-2
ac1454-2fa-directory
autofill/spike-mv3-working-session
ps/pm-5537/desktop-biometrics-state-service
cl/section-stack
autofill/spike-mv3
autofill/pm-2753-prompt-to-save-login-credentials-silently-drops-data-on-network-error
ps/CL-175/bit-layout-horizontal-scroll
sm-bulk-move-to-project
autofill/pm-5742-rework-usage-of-extension-apis-that-are-not-callable-within-service-workers-get-extension-views
autofill/pm-5740-update-local-back-storage-service-to-trigger-observable-updates
vault/pm-4185/regression-testing
autofill/migrate-autofill-on-page-load
vault/pm-1401/failed-sync-warning-component
beeep/import-selection
PM-4532-investigate-add-support-for-native-mac-os-credential-manager-in-desktop-application
pm-5620
ps/angular-jest-browser
vault/pm-4788
SM-910
pm-5347/vault/fix-p1336-to-asn1-der-conversion
vault/mod-on-state-providers
ps/move-org-switcher
add-key-value-pair-importer
fix-never-domain-location
ac-1753/Automatically-assign-provider-pricing-to-new-org
PM-4060-native-rust-POC-implementation-of-desktop-webauthn
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-macos-objc2
auth/state-provider-key-connector
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-macos
autofill/pm-5189-duplicate-overlay-elements-shown-when-focusing-iframe-field
attachrend
ac/state-provider-framework-policy-service
auth/pm-194/account-stories
autofill/pm-5056-edge-and-opera-users-cannot-override-default-browser-autofill
PM-4060-native-rust-POC-implementation-of-desktop-webauthn-windows
ps/CL-135/migration-docs
ps/pm-2910/migrate-environment-service
key-definition-enhancements
autofill/pm-934-autofill-not-working-until-page-has-been-refreshed
abortfido
CLOUDOPS-838
PM-4401-re-add-manual-zone-execution
add-gitlens-settings
platform/PM-2910/unblock-account-switching
cloudops-437
implement-account-service
auth/pm-3797/emergency-access-refactor
ps/nullable-factory
PM-4295-popout-offscreen
PM-4276-passkey-popup-use-browser-overlap
sm/PM-145-confirm-safe-site
autofill/pm-2319-implement-autofill-overlay-poc
lastpass-sso
add-purpose-enc-string-type
state-provider-service
CL-badge-alignment
ps/CL-135/cl-standalone-comps
ac/ac-1662/can-delete-port-ffc
SM-846
namespaced-state-service
ps/forbid-direct-api-service
use-bit-subject-in-state-service-suggestion
remove-session-sync-suggestion-clearable
ac/ac-1595/bypass-sso-identifier-copy-update
auth/pm-3916/firefox-pin-issues
PM-3644-beeep-experiment-with-reactive-syncing
PM-1978-ui-flow-non-discoverable-passkeys
pm-3612-cg
use-bit-subject-in-state-service
remove-session-sync
PM-2207-acoroiu-review
CL-122-common-components-module
pm/CL-91-table-pagination
feature-tde-merge-testing
feature/trusted-device-encryption-rc
SM-646-sidebar
feature/trust
add-opentelemetry
SM-867-UUID
PM-2207-cg-edit
PM-3169-browser-extension-show-login-decryption-options-in-extension-popup-and-not-in-extension-tab
PM-1034-tde-flow-3-v2
Client-Integrations/pm-2733-master-password-does-not-reprompt-on-edit-after-cancelling-mp-reprompt-dialog
Ac-1410/update_planresponsemodel_on_client
sso-device-key-callback-poc
sm/SM-830-bulk-SM-uncheck
BEEEP-automated-browser-release-to-stores
PM-1203-replace-mp-confirmation-with-verification-code
totp-autofill-remove-onload-suggestions
duo-sdk-upgrade
DEVOPS-462-Add_code_signing_to_the_MacOS_CLI
sm/CL-82-icon-component
revert-5400-renovate/gh-minor
feature/PM-191-desktop-envs
responsive-web-vault
vault/pm-1400-ac-experiment
feature/PM-55-extract-token-api-calls-from-api-service-v2
feature/PM-55-refactor-identity-api-methods-out-of-api-service
beep/rails-nav
move-folder-state-to-folder-service
notifications-mv3
SM-612-ProductSwitcherHighlights
SM-614
sm/secrets-access
improve-session-syncer-observables
angular-di-mv3
feature/org-admin-refresh-v3
notifications-bar-mv3
feature/EC-14-collections
EC-855-cl-radio-group-block-support
cl-ra
add-url-filtering
CL-58-improvement-make-icon-button-compatible-with-bit-suffix-directive
sandbox/vault-filter-example
EC-649-beeep-routeable-dialogs
feature/autofill-tester
PS-1086-add-account-observables-to-account-service
SM-264
PS-1086/add-observable-to-vault-timeout-settings-service
ps-1081/split-out-api-methods-into-api
SecretsService
PS-1086-crypto-service-refactors
feature/seperate-connectors
ps-1082/transition-cipherService-into-providing-observables
SM-95-ProjectsList
alt-EC-457-component-library-icon-butttons-custom-tw-plugin
ps-1081/split-out-api-methods-into-api-service
PS-1076-folder-service-refactors
PS-55-8-3
PS-55-EncryptedExport
ExtensionAcctSwitching
browser-mv3-messaging
CL-10-button-group-CVA-example
PS-589-add-2fa-new-device-login-settings-flag
mac-build-test
feature-personal-item-clone
cli-hotfix-v1.19.1
web-hotfix-v2.24.1
v1.9.1
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.12.1
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
browser-v2026.1.0
browser-v2026.1.1
browser-v2026.2.0
browser-v2026.3.0
browser-v2026.4.0
browser-v2026.4.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.12.1
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
cli-v2026.1.0
cli-v2026.2.0
cli-v2026.3.0
cli-v2026.4.1
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.12.1
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
desktop-v2026.1.0
desktop-v2026.1.1
desktop-v2026.2.1
desktop-v2026.3.1
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.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-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.12.1
web-v2025.12.2
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
web-v2026.1.0
web-v2026.1.1
web-v2026.2.0
web-v2026.2.1
web-v2026.3.0
web-v2026.3.1
web-v2026.4.0
web-v2026.4.1
web-v2026.4.2
${ item.name }
${ noResults }
44 Commits (km/value-managed-state)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
14cd2ad341
|
[PM-26713] Refactor Attachment Uploads to use XMLHTTPRequest (#19634)
* allow consumers of upload service to input block size * implement progress bar for cipher attachment uploads * refactor to use a constant for available block sizes * rework tests to use AzureUploadBlockSize * update cipher attachments to ensure 100% is shown for all attachments * do not allocate real memory in test * update file uploads to use `XMLHttpRequest` when possible to track progress * remove unused block size * update tests + make options optional * fix unit tests to align with single block approach * add optional chaining for optional parameter * remove duplicate import * catch error from xhr send * remove redundant try/catch block * use if/else syntax in attachment template * add `applyPlatformHeaders` to consolidate header creations between methods. * add feature flag for file upload changes for progress * update constructor parameters * only pass object when feature flag is enabled |
1 month ago |
|
|
35d25b7f8e
|
[PM-24047] Make popout windows respect vault timeout when unfocused (#19019)
* PM-24047: Make popout windows respect vault timeout when unfocused
Replace the heartbeat message-passing mechanism for popup detection
with direct browser API queries (getContexts on MV3, getExtensionViews
on MV2/Safari) that can distinguish focused from unfocused popout
windows. Unfocused popout windows no longer prevent vault timeout.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* PM-24047: Add isAnyViewFocused(), revert isPopupOpen() to simple popup detection
Addresses PR review feedback by separating focus-aware logic from the
isPopupOpen() semantics, which other callers depend on for simple
popup detection:
- BrowserApi.isPopupOpen(): reverted to return views.length > 0 for
popup-type views only (original behavior)
- BrowserApi.isAnyViewFocused(): new method that checks popup views
(always focused), sidebar tab views (always focused), and popout
tab views (focused only if document.hasFocus() is true)
- BrowserPlatformUtilsService.isPopupOpen(): simplified MV3 path
uses getContexts({ contextTypes: ['POPUP'] })
- BrowserPlatformUtilsService.isAnyViewFocused(): new method with
MV3 (POPUP/SIDE_PANEL/focused TAB) and MV2/Safari paths
- PlatformUtilsService: adds isAnyViewFocused() to the interface
- Web/Desktop/CLI stubs return false (no popout windows)
- VaultTimeoutService now calls isAnyViewFocused() instead of
isPopupOpen() so unfocused popouts don't block vault timeout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Move MV3/MV2 routing into BrowserApi
isPopupOpen() and isAnyViewFocused() now use feature detection for
chrome.runtime.getContexts to select the right API internally,
rather than having the routing in BrowserPlatformUtilsService.
This means BrowserApi is the single owner of view-detection logic,
and the service methods are simple one-line delegations.
Using typeof getContexts === "function" rather than isManifestVersion()
handles Safari naturally: if Safari doesn't support getContexts it
falls back to getExtensionViews, without needing an explicit isSafari()
exclusion.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Scope MV3/MV2 routing refactor to isAnyViewFocused only
isPopupOpen() keeps its existing pattern (MV3/MV2 routing in the
service, simple getExtensionViews in BrowserApi) to avoid touching
unrelated code. Only isAnyViewFocused() has its routing moved into
BrowserApi via feature detection.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Restore isPopupOpen to main branch implementation
isPopupOpen() and its tests are restored exactly to the main branch
version (heartbeat-based approach). Only isAnyViewFocused is new code.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Refactor isPopupOpen() to use getContexts/getViews instead of heartbeat
Replaces the message-passing heartbeat approach with the same
chrome.runtime.getContexts() (MV3) / chrome.extension.getViews() (MV2/Safari)
introspection pattern used by isAnyViewFocused(). This eliminates the need
for a heartbeat listener in the popup and makes both methods consistent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Simplify isAnyViewFocused() using Array.some()
Collapse the two separate POPUP/SIDE_PANEL checks into a single .some()
call, and replace the synchronous MV2/Safari tab view loop with .some().
The async TAB/popout window check stays as a for loop.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: improve tabs loop readability somewhat
* PM-24047: Fix MV3 popout focus check using wrong uilocation filter
The TAB context filter was checking for `uilocation=sidebar` instead of
`uilocation=popout`. In MV3, sidebars are SIDE_PANEL contexts (already
handled above), so this filter never matched, causing focused popout
windows to be silently ignored and the vault to timeout while a user was
actively viewing one.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* PM-24047: Rename isViewOpen to isViewFocused for semantic accuracy
The variable and parameter previously named isViewOpen reflected
the old "is any view open?" semantics. After the refactor to
isAnyViewFocused(), the naming is updated to match the actual
behavior: checking whether a view is focused, not merely open.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2 months ago |
|
|
3b2286fbb0
|
Revert "[deps] Platform: Lock file maintenance (#14932)" (#18406)
This reverts commit
|
4 months ago |
|
|
5dee97158a
|
[deps] Platform: Lock file maintenance (#14932)
* [deps]: Lock file maintenance * Pin is-generator-function, downgrade open * Bump zbus to match zbus_macro * Attempt to fix rust compile issue by matching zbus and zbus_macro * Update ashpd ... * Fix lockfile --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Hinton <hinton@users.noreply.github.com> |
4 months ago |
|
|
2fd3923c30
|
Disable info log on SDK CLI (#17834)
|
5 months ago |
|
|
eb4fd42153
|
[PM-28446] Log package types (#17496)
* User agent * Update to use header * Fix build on cli * Replace unsandboxed with unknown * Apply feedback * Prevent sending null values |
6 months ago |
|
|
3125f679d3
|
[PM-25206] Inject service instead of passing as param (#16801)
* Inject service instead of passing as param * [PM-25206] Move locking logic to LockService (#16802) * Move locking logic to lock service * Fix tests * Fix CLI * Fix test * FIx safari build * Update call to lock service * Remove locked callback * Clean up lock service logic * Add tests * Fix cli build * Add extension lock service * Fix cli build * Fix build * Undo ac changes * Undo ac changes * Run prettier * Fix build * Remove duplicate call * [PM-25206] Remove VaultTimeoutService lock logic (#16804) * Move consumers off of vaulttimeoutsettingsservice lock * Fix build * Fix build * Fix build * Fix firefox build * Fix test * Fix ts strict errors * Fix ts strict error * Undo AC changes * Cleanup * Fix * Fix missing service |
6 months ago |
|
|
42ec956782
|
feat(PlatformUtils): [Auth/PM-25817] New PlatformUtilsService.isChromium() method (#16468)
|
8 months ago |
|
|
73e8532ecc
|
feat(tokens): Allow Inactive user authenticated API calls
|
9 months ago |
|
|
719a43d050
|
Feat PM-19877 System Notification Processing (#15611)
* feat(notification-processing): [PM-19877] System Notification Implementation - Minor changes to popup logic and removed content in login component. * docs(notification-processing): [PM-19877] System Notification Implementation - Added more docs. * docs(notification-processing): [PM-19877] System Notification Implementation - Added markdown document. * fix(notification-processing): [PM-19877] System Notification Implementation - Updated condition for if notification is supported. * fix(notification-processing): [PM-19877] System Notification Implementation - Updated services module with correct platform utils service. |
9 months ago |
|
|
d1c6b334b1
|
feat(DuckDuckGo): [PM-9388] Add new device type for DuckDuckGo browser
* Add new device type for DuckDuckGo browser * Added feature support property for sync domains * Added new features * Added isDuckDuckGo() to CLI * Addressed PR feedback. * Renamed new property * Fixed rename that missed CLI. |
11 months ago |
|
|
18573bdc48
|
[PM-22250] Bump open (#15011)
Upgrade open to latest version. |
12 months ago |
|
|
d93f547cfb
|
[PM-21001] Move platform code to new encrypt service interface (#14544)
* Move platform code to new encrypt service interface * Fix tests * Fix tests * Fix cli build |
1 year ago |
|
|
1b756df749
|
[PM-14484] `ApiService` showing html in error message (#14658)
* Make ApiService more testable * Add ApiService tests * Switch to only reading text/plain content |
1 year ago |
|
|
a9fd16968f
|
[PM-14999] Remove Sequentialize (#12113)
* Remove Sequentialize * Delete `clearCaches` |
1 year ago |
|
|
43f5423e78
|
[PM-12606] Move Vault Timeout and Vault Timeout Settings to KM (#13405)
* move vault timeout and vault timeout settings to km * move browser vault timeout service to km * fix cli import * fix imports * fix some relative imports * use relative imports within common * fix imports * fix new imports * Fix new imports * fix spec imports |
1 year ago |
|
|
ce5a5e3649
|
Improve SDK direct function usage (#13353)
* feat: initalize WASM/SDK directly after load * fix: default sdk service trying to set log level * feat: wait for sdk to load in sdk service * fix: add required disposable polyfills * feat: update sdk version * feat: replace rc-specific workaround with global polyfill * fix: sdk service tests |
1 year ago |
|
|
2f8a7a95bd
|
[PM-15994] Move encrypt service to km ownership (#13220)
* Move encrypt service to km ownership * Update imports for encrypt service abstraction and move bulk encrypt service abstraction * Fix imports * Fix further imports * Fix imports * Fix worker import |
1 year ago |
|
|
f9f30f8ec4
|
[PM-17479] Load-sdk-once (#12764)
* create service to load sdk on application init * Eagerly load CLI SDK * Remove wasm logging to api * Fix imports * Eagerly load Desktop renderer SDK Note: If the main process ever requires an SDK, we'll need to load it there, too. In that event, it's probably a good idea to move to IPC for all SDK functions to avoid loading the SDK for every window. * init wasm module from sdk load service * Use default client factory * Fix type imports * Resolve jest module import errors A CLI sdk load service that async imports our wasm binary doesn't seem to be needed to run, but jest isn't dealing with the ESM import properly. * Fix linting * remove example code |
1 year ago |
|
|
62e879940c
|
[deps] SM: Update typescript-eslint monorepo to v8 (major) (#10601)
* [deps] SM: Update typescript-eslint monorepo to v8 --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Hinton <hinton@users.noreply.github.com> Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> |
1 year ago |
|
|
9c1e2ebd67
|
Typescript-strict-plugin (#12235)
* Use typescript-strict-plugin to iteratively turn on strict * Add strict testing to pipeline Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files. * turn on strict for scripts directory * Use plugin for all tsconfigs in monorepo vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes. * remove plugin from configs that extend one that already has it * Update workspace settings to honor strict plugin * Apply strict-plugin to native message test runner * Update vscode workspace to use root tsc version * `./node_modules/.bin/update-strict-comments` 🤖 This is a one-time operation. All future files should adhere to strict type checking. * Add fixme to `ts-strict-ignore` comments * `update-strict-comments` 🤖 repeated for new merge files |
1 year ago |
|
|
3c9b3ea2cc
|
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (v2) (#10374)
* Create unavailable message for biometrics when in clamshell mode * Move browser biometrics * Inject nativemessagingbackground instead of using constructor * Fix linting * Fix build on browser |
2 years ago |
|
|
b84becd9e4
|
Fix cli build by adding biometric stubs (#10421)
|
2 years ago |
|
|
cc45655b86
|
Revert "[PM-6296] Fix biometrics error prompt when biometrics are temporarily…" (#10373)
This reverts commit
|
2 years ago |
|
|
1184c504d1
|
[PM-6296] Fix biometrics error prompt when biometrics are temporarily unavailable in browser extension (#9851)
* Add availability check to biometrics * Move isbiometricunlockavailable logic to parent component * Fix availability detection on desktop * FIx response parsing on browser * Suppress pending biometric message while checking for availability * Refactor biometrics functions out of platformutilsservice * Remove unused constructor * Remove unused abstract function definitions * Rename abstract services * Add documentation * Rename service abstraction, add comments * Add comments * Refactor browser biometrics into background/foreground and remove callbacks * Remove unused logs * Remove unused logs |
2 years ago |
|
|
c26669cf60
|
Moving the config command and adding the error for server config when logged in (#9347)
|
2 years ago |
|
|
f691854387
|
Auth - PM-7392 & PM-7436 - Token Service - Desktop - Add disk fallback for secure storage failures (#8913)
* PM-7392 - EncryptSvc - add new method for detecting if a simple string is an enc string. * PM-7392 - TokenSvc - add checks when setting and retrieving the access token to improve handling around the access token encryption. * PM-7392 - (1) Clean up token svc (2) export access token key type for use in tests. * PM-7392 - Get token svc tests passing; WIP more tests to come for new scenarios. * PM-7392 - Access token secure storage to disk fallback WIP but mostly functional besides weird logout behavior. * PM-7392 - Clean up unnecessary comment * PM-7392 - TokenSvc - refresh token disk storage fallback * PM-7392 - Fix token service tests in prep for adding tests for new scenarios. * PM-7392 - TokenSvc tests - Test new setRefreshToken scenarios * PM-7392 - TokenSvc - getRefreshToken should return null or a value - not undefined. * PM-7392 - Fix test name. * PM-7392 - TokenSvc tests - clean up test names that reference removed refresh token migrated flag. * PM-7392 - getRefreshToken tests done. * PM-7392 - Fix error quote * PM-7392 - TokenSvc tests - setAccessToken new scenarios tested. * PM-7392 - TokenSvc - getAccessToken - if secure storage errors add error to log. * PM-7392 - TokenSvc tests - getAccessToken - all new scenarios tested * PM-7392 - EncryptSvc - test new stringIsEncString method * PM-7392 - Main.ts - fix circ dep issue. * PM-7392 - Main.ts - remove comment. * PM-7392 - Don't re-invent the wheel and simply use existing isSerializedEncString static method. * PM-7392 - Enc String - (1) Add handling for Nan in parseEncryptedString (2) Added null handling to isSerializedEncString. (3) Plan to remove encrypt service implementation Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-7392 - Remove encrypt service method Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-7392 - Actually fix circ dep issues with Justin. Ty! Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-7392 - TokenSvc - update to use EncString instead of EncryptSvc + fix tests. * PM-7392 - TokenSvc - (1) Remove test code (2) Refactor decryptAccessToken method to accept access token key and error on failure to pass required decryption key to method. * PM-7392 - Per PR feedback and discussion, do not log the user out if hte refresh token cannot be found. This will allow users to continue to use the app until their access token expires and we will error on trying to refresh it. The app will then still work on a fresh login for 55 min. * PM-7392 - API service - update doAuthRefresh error to clarify which token cannot be refreshed. * PM-7392 - Fix SetRefreshToken case where a null input would incorrectly trigger a fallback to disk. * PM-7392 - If the access token cannot be refreshed due to a missing refresh token or API keys, then surface an error to the user and log it so it isn't a silent failure + we get a log. * PM-7392 - Fix CLI build errors * PM-7392 - Per PR feedback, add missing tests (thank you Jake for writing these!) Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-7392 - Per PR feedback, update incorrect comment from 3 releases to 3 months. * PM-7392 - Per PR feedback, remove links. * PM-7392 - Per PR feedback, move tests to existing describe. * PM-7392 - Per PR feedback, adjust all test names to match naming convention. * PM-7392 - ApiService - refreshIdentityToken - log error before swallowing it so we have a record of it. * PM-7392 - Fix copy for errorRefreshingAccessToken * PM-7392 - Per PR feedback, move error handling toast responsibility to client specific app component logic reached via messaging. * PM-7392 - Swap logout reason from enum to type. * PM-7392 - ApiService - Stop using messaging to trigger toast to let user know about refresh access token errors; replace with client specific callback logic. Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * PM-7392 - Per PR feedback, adjust enc string changes and tests. * PM-7392 - Rename file to be type from enum * PM-7392 - ToastService - we need to await the activeToast.onHidden observable so return the activeToast from the showToast. * PM-7392 - Desktop AppComp - cleanup messaging * PM-7392 - Move Logout reason custom type to auth/common * PM-7392 - WIP - Enhancing logout callback to consider the logout reason + move show toast logic into logout callback * PM-7392 - Logout callback should simply pass along the LogoutReason instead of handling it - let each client's message listener handle it. * PM-7392 - More replacements of expired with logoutReason * PM-7392 - More expired to logoutReason replacements * PM-7392 - Build new handlers for displaying the logout reason for desktop & web. * PM-7392 - Revert ToastService changes * PM-7392 - TokenSvc - Replace messageSender with logout callback per PR feedback. * PM-7392 - Desktop App comp - replace toast usage with simple dialog to guarantee users will see the reason for them being logged out. * PM-7392 - Web app comp - fix issue * PM-7392 - Desktop App comp - don't show cancel btn on simple dialogs. * PM-7392 - Desktop App comp - Don't open n simple dialogs. * PM-7392 - Fix browser build * PM-7392 - Remove logout reason from CLI as each logout call handles messaging on its own. * PM-7392 - Previously, if a security stamp was invalid, the session was marked as expired. Restore that functionality. * PM-7392 - Update sync service logoutCallback to include optional user id. * PM-7392 - Clean up web app comp * PM-7392 - Web - app comp - only handle actually possible web logout scenarios. * PM-7392 - Browser Popup app comp - restore done logging out message functionality + add new default logout message * PM-7392 - Add optional user id to logout callbacks. * PM-7392 - Main.background.ts - add clarifying comment. * PM-7392 - Per feedback, use danger simple dialog type for error. * PM-7392 - Browser Popup - add comment clarifying expectation of seeing toasts. * PM-7392 - Consolidate invalidSecurityStamp error handling * PM-7392 - Per PR feedback, REFRESH_ACCESS_TOKEN_ERROR_CALLBACK can be completely sync. + Refactor to method in main.background. * PM-7392 - Per PR feedback, use a named callback for refreshAccessTokenErrorCallback in CLI * PM-7392 - Add TODO * PM-7392 - Re-apply bw.ts changes to new service-container. * PM-7392 - TokenSvc - tweak error message. * PM-7392 - Fix test * PM-7392 - Clean up merge conflict where I duplicated dependencies. * PM-7392 - Per discussion with product, change default logout toast to be info * PM-7392 - After merge, add new logout reason to sync service. * PM-7392 - Remove default logout message per discussion with product since it isn't really visible on desktop or browser. * PM-7392 - address PR feedback. --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: Jake Fink <jfink@bitwarden.com> Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
2 years ago |
|
|
473c5311fa
|
Auth/PM-5501 - VaultTimeoutSettingsService State Provider Migration (#8604)
* PM-5501 - VaultTimeoutSettingsSvc - refactor var names in getVaultTimeoutAction * PM-5501 - Add state definitions and key definitions + test deserialization of key defs. * PM-5501 - Add state provider dep to VaultTimeoutSettingsSvc * PM-5501 - Refactor getVaultTimeout * PM-5501 - VaultTimeoutSettingsService - Build getMaxVaultTimeoutPolicyByUserId helper * PM-5501 - (1) Update state definitions (2) convert KeyDefs to UserKeyDefs (2) Remove everBeenUnlocked as we won't need it * PM-5501 - VaultTimeoutSettingsSvc - POC for getVaultTimeoutActionByUserId$ method + new private determineVaultTimeoutAction helper. * PM-5501 - VaultTimeoutSettingsSvc - build set and observable get methods for vault timeout settings * PM-5501 - Update web references to use new vault timeout setting service methods * PM-5501 - VaultTimeoutSettingsSvc - write up abstraction js docs * PM-5501 - VaultTimeoutSettingsSvc abstraction - finish tweaks * PM-5501 - VaultTimeoutSettingsSvc - add catchError blocks to observables to protect outer observables and prevent cancellation in case of error. * PM-5501 - Remove vault timeout settings from state service implementation. * PM-5501 - VaultTimeoutSettingsServiceStateProviderMigrator first draft * PM-5501 - WIP - replace some state service calls with calls to vault timeout settings svc. * PM-5501 - Replace state service calls in login strategies to get vault timeout settings data with VaultTimeoutSettingsService calls. * PM-5501 - Fix login strategy tests * PM-5501 - Update login strategy tests to pass * PM-5501 - CryptoSvc - share VaultTimeout user key def to allow crypto svc access to the vault timeout without creating a circular dep. * PM-5501 - Fix dependency injections. * PM-5501 - ApiSvc - replace state svc with vault timeout settings svc. * PM-5501 - VaultTimeoutSettingsServiceStateProviderMigrator more cleanup * PM-5501 - Test VaultTimeoutSettingsServiceStateProviderMigrator * PM-5501 - VaultTimeoutSettingsSvc tests updated * PM-5501 - Update all setVaultTimeoutOptions references * PM-5501 - VaultTimeoutSettingsSvc - Update setVaultTimeoutOptions to remove unnecessary logic and clean up clearTokens condition. * PM-5501 - Fix vault timeout service tests * PM-5501 - Update VaultTimeoutSettings state tests to pass * PM-5501 - Desktop - system svc - fix build by replacing use of removed method. * PM-5501 - Fix CLI by properly configuring super class deps in NodeApiService * PM-5501 - Actually finish getitng deps fixed to get CLI to build * PM-5501 - VaultTimeoutSettingsSvc.determineVaultTimeoutAction - pass userId to getAvailableVaultTimeoutActions to prevent hang waiting for an active user. * PM-5501 - VaultTimeoutSettingSvc test - enhance getVaultTimeoutActionByUserId$ to also test PIN scenarios as an unlock method * PM-5501 - bump migration version * PM-5501 - Refactor migration to ensure the migration persists null vault timeout values. * PM-5501 - Bump migration version * PM-5501 - Fix web build issues introduced by merging main. * PM-5501 - Bump migration version * PM-5501 - PreferencesComponent - revert dep change from InternalPolicyService to standard PolicyService abstraction * PM-5501 - Address all PR feedback from Jake Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-5501 - VaultTimeoutSettingsSvc tests - add tests for setVaultTimeoutOptions * PM-5501 - VaultTimeoutSettingsSvc - setVaultTimeoutOptions - Update tests to use platform's desired syntax. * PM-5501 - Fix tests * PM-5501 - Create new VaultTimeout type * PM-5501 - Create new DEFAULT_VAULT_TIMEOUT to allow each client to inject their default timeout into the VaultTimeoutSettingService * PM-5501 - Migrate client default vault timeout to new injection token * PM-5501 - Update VaultTimeoutSettingsSvc to use VaultTimeout type and apply default vault timeout if it is null. * PM-5501 - Update vaultTimeout: number to be vaultTimeout: VaultTimeout everywhere I could find it. * PM-5501 - More changes based on changing vaultTimeout from number to VaultTimeout type. * PM-5501 - VaultTimeoutSvc - Update shouldLock logic which previously checked for null (never) or any negative values (any strings except never) with a simple string type check. * PM-5501 - More cleanup of vaultTimeout type change - replacing null checks with "never" checks * PM-5501 - VaultTimeoutSettingsSvc - refactor determineVaultTimeout to properly treat string and numeric vault timeouts. * PM-5501 - Update vault timeout settings service tests to reflect new VaultTimeout type. * PM-5501 - VaultTimeoutSettingsService - add more test cases for getVaultTimeoutByUserId * PM-5501 - (1) Remove "immediately" as 0 is numerically meaningful and can be used with Math.min (2) Add VaultTimeoutOption interface for use in all places we show the user a list of vault timeout options. * PM-5501 - VaultTimeoutSettingSvc - update tests to use 0 as immediately. * PM-5501 - VaultTimeoutInputComp - Add new types and update applyVaultTimeoutPolicy logic appropriately. * PM-5501 - Add new types to all preferences and setting components across clients. * PM-5501 - Fix bug on web where navigating to the preferences page throws an error b/c the validatorChange function isn't defined. * PM-5501 - WIP on updating vault timeout setting migration and rollback + testing it. * PM-5501 - Update VaultTimeoutSettingsSvc state provider migration and tests to map existing possible values into new VaultTImeout type. * PM-5501 - Fix vault timeout settings state tests by changing number to new VaultTimeout type. * PM-5501 - Fix crypto svc auto key refresh test to use "never" instead of null. * PM-5501 - Add clarifying comment to vaulttimeout type * PM-5501 - Desktop app comp - replace systemTimeoutOptions with vault timeout type. * PM-5501 - Update vault timeout service tests to use VaultTimeout type. * PM-5501 - VaultTimeoutSettingsSvc - (1) Fix bug where vault timeout action didn't have a default like it did before (2) Fix bug in userHasMasterPassword where it would incorrectly return the active user stream for a given user id as a fallback. There is no guarantee the given user would match the active user so the paths are mutually exclusive. * PM-5501 - Login Strategy fix - Move retrieval of vault timeout settings and setting of the tokens until after account init and user decryption options set as those opts are needed to properly determine the user's available vault timeout actions. * PM-5501 - Fix vault timeout settings svc tests * PM-5501 - VaultTimeoutSettingSvc - move default logic to determine methods + refactor default vault timeout action to properly default to lock in scenarios the user has lock available. * Update libs/angular/src/components/settings/vault-timeout-input.component.ts Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * PM-5501 - Per PR feedback, cleanup commented out vault timeout options * PM-5501 - Fix vault timeout input comp lint issues * PM-5501 - Per PR feedback from Cesar, update VaultTimeout type to use const so we can avoid any magic string usage. Awesome. Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * PM-5501 - CLI - use "never" as default vault timeout instead of null. * PM-5501 - Fix broken tests * PM-5501 - Bump migration version * PM-5501 - Fix build errors after merging main. * PM-5501 - Update mockMigrationHelper to pass along client type so tests will respect it. * PM-5501 - Update VaultTimeoutSettingsServiceStateProviderMigrator and tests to use new CLI client type to convert undefined values to never so that CLI users don't lose their session upon running this migration. * PM-5501 - Bump migration version * PM-5501 - Fix migration tests to use new authenticated user format * PM-5501 Update rollback tests * PM-5501 - Adjust migration based on feedback. * PM-5501 - Per Jake's find, fix missed -2 Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-5501 - Add user id to needsStorageReseed. Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-5501 - Per PR feedback, setVaultTimeoutOptions shouldn't accept null for vault timeout anymore. * PM-5501 - Per PR feedback, add null checks for set methods for setting vault timeout or vault timeout action. * PM-5501 - Per PR feedback, add more context as to why we need vault timeout settings to persist after logout. * PM-5501 - Per PR feedback, fix userHasMasterPassword * PM-5501 - VaultTimeoutSettingsService - fix userHasMasterPassword check by checking for null decryption options. * PM-5501 - Remove state service from vault timeout settings service (WOOO) * PM-5501 - Bump migration version * PM-5501 - Account Security comp - refactor to consider ease of debugging. * PM-5501 - (1) Add checks for null vault timeout and vault timeout actions (2) Add tests for new scenarios. * PM-5501 - VaultTimeoutSettingsSvc - setVaultTimeoutOptions - fix bug where nullish check would throw incorrectly if immediately (0) was picked as the timeout. * PM-5501 - Per PR feedback, clean up remaining token service methods which accept null for timeout and add tests. . * PM-5501 - Fix nit --------- Co-authored-by: Jake Fink <jfink@bitwarden.com> Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> |
2 years ago |
|
|
c0216e191a
|
Use encrypt service in node env secure storage (#9099)
* Use `EncryptService` In `NodeEnvSecureStorage` To Replace Deprecated Methods * Update Abstract EncryptService Method To Reflect Implementation |
2 years ago |
|
|
b4631b0dd1
|
Ps/improve-log-service (#8989)
* Match console method signatures in logService abstraction * Add a few usages of improved signature * Remove reality check test * Improve electron logging |
2 years ago |
|
|
7064b595da
|
[SM-1031] Remove SecretsManager & showDDG compile flags (#8610)
Remove old compile flags which should no longer be required, and may even cause issues. secretsManager: false hides the app switcher which is now used for more than just secrets manager. |
2 years ago |
|
|
62ad39e697
|
Ps/pm 5965/better config polling (#8325)
* Create tracker that can await until expected observables are received. * Test dates are almost equal * Remove unused class method * Allow for updating active account in accout service fake * Correct observable tracker behavior Clarify documentation * Transition config service to state provider Updates the config fetching behavior to be lazy and ensure that any emitted value has been updated if older than a configurable value (statically compiled). If desired, config fetching can be ensured fresh through an async. * Update calls to config service in DI and bootstrapping * Migrate account server configs * Fix global config fetching * Test migration rollback * Adhere to implementation naming convention * Adhere to abstract class naming convention * Complete config abstraction rename * Remove unnecessary cli config service * Fix builds * Validate observable does not complete * Use token service to determine authed or unauthed config pull * Remove superfluous factory config * Name describe blocks after the thing they test * Remove implementation documentation Unfortunately the experience when linking to external documentation is quite poor. Instead of following the link and retrieving docs, you get a link that can be clicked to take you out of context to the docs. No link _does_ retrieve docs, but lacks indication in the implementation that documentation exists at all. On the balance, removing the link is the better experience. * Fix storybook |
2 years ago |
|
|
161fb1da5d
|
Auth/PM-5263 - TokenService State Provider Migration (#7975)
* PM-5263 - Token Service state migration - (1) Got key and state definitions setup (2) Ported over core state service getTimeoutBasedStorageOptions method logic into local determineStorageLocation method (3) Updated majority of methods to use state provider state * PM-5263 - StateSvc - add TODO to remove timeoutBasedStorageOptions + other state methods after migration code complete. * PM-5263 - TokenSvc - ClearToken method - (1) Update signature to remove user id as it wasn't used and it simplifies the new state provider implementation (2) Convert away from state svc to state provider state. * PM-5263 - TokenService - update deps - WIP on circular dep issues. * PM-5263 - To resolve circular dep issues between VaultTimeoutSettingsSvc and TokenService: (1) For writes, require callers to pass in vault timeout data (2) For reads, we can just check both locations. This approach has 1 less state call than the previous implementation and is safe as long as the clear logic properly works and is executed anytime a user changes their vault timeout action (lock or log out) & vault timeout (numeric value) * PM-5263 - VaultTimeoutSettingsSvc - Set token calls now updated to include vault timeout info. * PM-5263 - Update API Service - add state service and look up vault timeout details and pass to token service when setting token info. * PM-5263 - TokenService - update service dependencies. * PM-5263 - TokenService - Add new getAccessTokenByUserId method for state service use case. * PM-5263 - StateSvc - remove migrated methods and try to replace all usages of getAccessToken. WIP * PM-5263 - TokenSvc Migration - start on migrator * PM-5263 - (1) TokenSvc - Build new clearAccessTokenByUserId which is required by state service (2) TokenSvc - Update getToken to take an optional userId to handle another state service case (3) Add some documentation to TokenSvc abstraction. * PM-5263 - StateService - finish updating all calls within the state service which accessed token service state directly with calls to the new token service methods instead. * PM-5263 - TokenSvc Abstraction - Add more docs * PM-5263 - TokenSvc abstraction - more doc tweaks * PM-5263 - Web state service - add new token service dependency. * PM-5263 - User API Key Login Strategy - Update to pull vault timeout action and vault timeout from state service in order to pass to new token service endpoints for setting API key client id and secret. * PM-5263 - (1) Remove TokenSvc owned state from account (2) StateSvc - remove account scaffold logic for clearing removed account data. The same functionality will exist in the state provider framework via lifecycle hooks cleaning up this data and users getting initialized with null data by default. * PM-5263 - Add token service dependency to state service (WIP - desktop deps not working) * PM-5263 - Update services module on desktop and browser to add token svc dependency * PM-5263 - API service factory - add state service factory dependency that I missed initially to get browser building. * PM-5263 - TokenSvc - getToken/setToken/decodeToken --> getAccessToken/setAccessToken/decodeAccessToken * PM-5263 - TokenSvc State Provider Migrator - WIP - update expected acct type to match actual account * PM-5263 - TokenService - clearToken renamed to clearTokens * PM-5263 - CLI - NodeApiService - add state service dep to get CLI building. * PM-5263 - StateDefinitions - use unique state definition names * PM-5263 - StateSvc - remove getTimeoutBasedStorageOptions as no longer used. * PM-5263 - TokenSvc - Add TODO for figuring out how to store tokens in secure storage. * PM-5263 - StateSvc - remove get/set 2FA token - references migrated later. * PM-5263 - TODO: figure out if using same key definition names is an issue * PM-5263 - TokenServiceStateProviderMigrator written * PM-5263 - TokenServiceStateProviderMigrator - (1) Don't update legacy account if we only added a new state in state provider for 2FA token (2) Use for loop for easier debugging * PM-5263 - TokenServiceStateProviderMigrator test - WIP - migration testing mostly complete and passing. Rollback logic TODO. * PM-5263 - TokenServiceStateProviderMigrator - Add rollback logic to restore 2FA token from users to global. * PM-5263 - TokenServiceStateProviderMigrator - Refactor rollback to only set account once as not necessary to set it every time. * PM-5263 - TokenServiceStateProviderMigrator tests - test all rollback scenarios * PM-5263 - Remove TODO as don't need unique key def names as long as state def keys are unique. * PM-5263 - TokenSvc - update clearAccessTokenByUserId to use proper state provider helper method to set state. * PM-5263 - Revert accidentally committing settings.json changes. * PM-5263 - TokenSvc - update all 2FA token methods to require email so we can user specifically scope 2FA tokens while still storing them in global storage. * PM-5263 - Update all token service 2FA set / get / clear methods to pass in email. * PM-5263 - JslibServices module - add missed login service to login strategy svc deps. * PM-5263 - VaultTimeoutSettingsService - setVaultTimeoutOptions - rename token to accesToken for clarity. * PM-5263 - (1) TokenSvc - remove getAccessTokenByUserId and force consumers to use getAccessToken w/ optional user id to keep interface small (2) TokenSvc - attempt to implement secure storage on platforms that support it for access & refresh token storage (3) StateSvc - replace usage of getAccessTokenByUserId with getAccessToken * PM-5263 - TokenSvc - add platform utils and secure storage svc deps * PM-5263 - TODO: figure out what to do with broken migration * PM-5263 - TODO: update tests in light of latest 2FA token changes. * PM-5263 - TokenSvc - clean up TODO * PM-5263 - We should have tests for the token service. * PM-5263 - TokenSvc - setAccessToken - If platform supports secure storage and we are saving an access token, remove the access token from memory and disk to fully migrate to secure storage. * PM-5263 - TokenSvc - getAccessToken - Update logic to look at memory and disk first always and secure storage last to support the secure storage migration * PM-5263 - TokenSvc - setAccesToken - if user id null on a secure storage supporting platform, throw error. * PM-5263 - TokenService - (1) Refresh token now stored in secure storage (2) Refresh token set now private as we require a user id to store it in secure storage and we can use the setTokens method to enforce always setting the access token and refresh token together in order to extract a user id from the refresh token. (3) setTokens clientIdClientSecret param now optional * PM-5263 - TokenServiceStateProviderMigrator - update migration to take global but user scoped 2FA token storage changes into account. * PM-5263 - Remove old migration as it references state we are removing. Bump min version. Co-authored-by: Matt Gibson <git@mgibson.dev> * PM-5263 - TokenService - 2FA token methods now backed by global state record which maps email to individual tokens. * PM-5263 - WIP on Token Svc migrator and test updates based on new 2FA token storage changes. * PM-5263 - TokenSvc - (1) Add jira tickets to clean up state migration (2) Add state to track secure storage migration to improve # of reads to get data * PM-5263 - StateDef - consolidate name of token domain state defs per feedback from Justin + update migration tests * PM-5263 - TokenSvc - fix error message and add TODO * PM-5263 - Update token service migration + tests to pass after all 2FA token changes. * PM-5263 - Fix all login strategy tests which were failing due to token state provider changes + the addition of the loginService as a dependency in the base login strategy. * PM-5263 - Register TokenService state provider migration with migrator * PM-5263 - TokenSvc state migration - set tokens after initializing account * PM-5263 - TokenService changes - WIP - convert from ActiveUserStateProvider to just SingleUserStateProvider to avoid future circ dependency issues. Co-authored-by: Jake Fink <jlf0dev@users.noreply.github.com> * PM-5263 - TokenSvc - create getSecureStorageOptions for centralizing all logic for getting data out of SecureStorage. * PM-5263 - TokenSvc - (1) Refactor determineStorageLocation to also determine secure storage - created a TokenStorageLocation string enum to remove magic strings (2) Refactor setAccessToken to use switch (3) Refactor clearAccessTokenByUserId to clear all locations and not early return on secure storage b/c we only use secure storage if disk is the location but I don't want to require vault timeout data for this method. * PM-5263 - TokenSvc - getDataFromSecureStorage - Refactor to be more generic for easier re-use * PM-5263 - TokenSvc - Convert refresh token methods to use single user state and require user ids * PM-5263 - VaultTimeoutSettingsSvc - get user id and pass to access and refresh token methods. * PM-5263 - TokenSvc - refactor save secure storage logic into private helper. * PM-5263 - Base Login Strategy - per discussion with Justin, move save of tokens to before account initialization as we can always derive the user id from the access token. This will ensure that the account is initialized with the proper authN status. * PM-5263 - TokenSvc - latest refactor - update all methods to accept optional userId now as we can read active user id from global state provider without using activeUserStateProvider (thus, avoiding a circular dep and having to have every method accept in a mandatory user id). * PM-5263 - VaultTimeoutSettingsService - remove user id from token calls * PM-5263 - TokenSvc - update all places we instantiate token service to properly pass in new deps. * PM-5263 - TokenSvc migration is now 27th instead of 23rd. * PM-5263 - Browser - MainContextMenuHandler - Update service options to include PlatformUtilsServiceInitOptions as the TokenService requires that and the TokenService is now injected on the StateService * PM-5263 - TokenSvc migration test - update rollback tests to start with correct current version * PM-5263 - Create token service test file - WIP * PM-5263 - TokenSvc - tests WIP - instantiates working. * PM-5263 - TokenSvc - set2FAToken - use null coalesce to ensure record is instantiated for new users before setting data on it. * PM-5263 - TokenService tests - WIP - 2FA token tests. * PM-5263 - Worked with Justin to resolve desktop circular dependency issue by adding SUPPORTS_SECURE_STORAGE injection token instead of injecting PlatformUtilsService directly into TokenService. Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-5263 - TokenSvc tests - WIP - (1) Update TokenSvc instantiation to use new supportsSecureStorage (2) Test TwoFactorToken methods * PM-5263 - Fix SUPPORTS_SECURE_STORAGE injection token to properly call supportsSecureStorage message * PM-5263 - Token state testing * PM-5263 - TokenState fix name of describe * PM-5263 - TokenService - export TokenStorageLocation for use in tests. * PM-5263 - TokenSvc Tests WIP * PM-5263 - TokenSvc tests - access token logic mostly completed. * PM-5263 - TokenSvc Tests - more WIP - finish testing access token methods. * PM-5263 - TokenSvc WIP - another clear access token test. * PM-5263 - TokenSvc tests - WIP - SetTokens tested. * PM-5263 - Tweak test name * PM-5263 - TokenSvc tests - remove unnecessary describe around 2FA token methods. * PM-5263 - TokenSvc.clearAccessTokenByUserId renamed to just clearAccessToken * PM-5263 - TokenSvc - refactor clearTokens logic and implement individual clear logic which doesn't require vault timeout setting information. * PM-5263 - TokenSvc - Replace all places we have vaultTimeout: number with vaultTimeout: number | null to be accurate. * PM-5263 - TokenSvc.clearTokens - add check for user id; throw if not found * PM-5263 - TokenService - test clearTokens * PM-5263 - TokenSvc Tests - setRefreshToken tested * PM-5263 - TokenSvc tests - getRefreshToken tested + added a new getAccessToken test * PM-5263 - TokenSvc - ClearRefreshToken scenarios tested. * PM-5263 - TokenSvc.clearRefreshToken tests - fix copy pasta * PM-5263 - TokenSvc tests - (1) Fix mistakes in refresh token testing (2) Test setClientId for all scenarios * PM-5263 - TokenSvc tests - (1) Add some getClientId tests (2) clarify lack of awaits * PM-5263 - TokenSvc Tests - WIP - getClientId && clearClientId * PM-5263 - TokenService - getClientSecret - fix error message * PM-5263 - TokenService tests - test all client secret methods * PM-5263 - Update TokenSvc migration to 30th migration * PM-5263 - TokenService - update all tests to initialize data to undefined now that fake state provider supports faking data based on specific key definitions. * PM-5263 - (1) TokenSvc.decodeAccessToken - update static method's error handling (2) TokenSvc tests - test all decodeAccessToken scenarios * PM-5263 - TokenSvc - (1) Add DecodedAccessToken type (2) Refactor getTokenExpirationDate logic to use new type and make proper type checks for numbers for exp claim values. * PM-5263 - TokenSvc tests - test getTokenExpirationDate method. * PM-5263 - TokenSvc - (1) Update DecodedAccessToken docs (2) Tweak naming in tokenSecondsRemaining * PM-5263 - TokenSvc abstraction - add jsdoc for tokenSecondsRemaining * PM-5263 - TokenSvc tests - test tokenSecondsRemaining * PM-5263 - TokenSvc - DecodedAccessToken type - update sstamp info * PM-5263 - TokenService - fix flaky tokenSecondsRemaining tests by locking time * PM-5263 - TokenSvc Tests - Test tokenNeedsRefresh * PM-5263 - (1) TokenSvc - Refactor getUserId to add extra safety (2) TokenSvc tests - test getUserId * PM-5263 - (1) TokenSvc - refactor getUserIdFromAccessToken to handle decoding errors (2) TokenSvc tests - test getUserIdFromAccessToken * PM-5263 - (1) TokenSvc - Refactor getEmail to handle decoding errors + check for specific, expected type (2) TokenSvc tests - test getEmail * PM-5263 - TokenSvc tests - clean up comment * PM-5263 - (1) TokenSvc - getEmailVerified - refactor (2) TokenSvc tests - add getEmailVerified tests * PM-5263 - (1) TokenSvc - refactor getName (2) TokenSvc tests - test getName * PM-5263 - (1) TokenSvc - refactor getIssuer (2) TokenSvc tests - test getIssuer * PM-5263 - TokenSvc - remove unnecessary "as type" statements now that we have a decoded access token type * PM-5263 - (1) TokenSvc - refactor getIsExternal (2) TokenSvc Tests - test getIsExternal * PM-5263 - TokenSvc abstraction - tune up rest of docs. * PM-5263 - TokenSvc - clean up promise<any> and replace with promise<void> * PM-5263 - TokenSvc abstraction - more docs. * PM-5263 - Clean up TODO as I've tested every method in token svc. * PM-5263 - (1) Extract JWT decode logic into auth owned utility function out of the token service (2) Update TokenService decode logic to use new utility function (3) Update LastPassDirectImportService + vault.ts to use new utility function and remove token service dependency. (4) Update tests + migrate tests to new utility test file. * PM-5263 - Rename decodeJwtTokenToJson to decode-jwt-token-to-json to meet lint rules excluding capitals * PM-5263 - TokenSvc + tests - fix all get methods to return undefined like they did before instead of throwing an error if a user id isn't provided. * PM-5263 - Services.module - add missing token service dep * PM-5263 - Update token svc migrations to be 32nd migration * PM-5263 - Popup - Services.module - Remove token service as it no longer requires a background service due to the migration to state provider. The service definition in jslib-services module is enough. * PM-5263 - BaseLoginStrategy - Extract email out of getTwoFactorToken method call for easier debugging. * PM-5263 - Login Comp - Set email into memory on login service so that base login strategy can access user email for looking up 2FA token stored in global state. * PM-5263 - (1) LoginComp - remove loginSvc.setEmail call as no longer necessary + introduced issues w/ popup and background in browser extension (2) AuthReq & Password login strategies now just pass in email to buildTwoFactor method. * PM-5263 - SsoLoginSvc + abstraction - Add key definition and get/set methods for saving user email in session storage so it persists across the SSO redirect. * PM-5263 - Base Login Strategy - BuildTwoFactor - only try to get 2FA token if we have an email to look up their token * PM-5263 - Remove LoginService dependency from LoginStrategyService * PM-5263 - (1) Save off user email when they click enterprise SSO on all clients in login comp (2) Retrieve it and pass it into login strategy in SSO comp * PM-5263 - (1) TokenSvc - update 2FA token methods to be more safe in case user removes record from local storage (2) Add test cases + missing clearTwoFactorToken tests * PM-5263 - Browser SSO login - save user email for browser SSO process * PM-5263 - Finish removing login service from login strategy tests. * PM-5263 - More removals of the login service from the login strategy tests. * PM-5263 - Main.ts - platformUtilsSvc no longer used in TokenSvc so remove it from desktop main.ts * PM-5263 - Fix failing login strategy service tests * PM-5263 - Bump token svc migration values to migration 35 after merging in main * PM-5263 - Bump token svc migration version * PM-5263 - TokenService.clearTwoFactorToken - use delete instead of setting values to null per discussion with Justin Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-5263 - TokenSvc + decode JWT token tests - anonymize my information Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-5263 - TokenSvc tests - update clear token tests based on actual deletion * PM-5263 - Add docs per PR feedback * PM-5263 - (1) Move ownership of clearing two factor token on rejection from server to base login strategy (2) Each login strategy that supports remember 2FA logic now persists user entered email in its data (3) Base login strategy processTwoFactorResponse now clears 2FA token (4) Updated base login strategy tests to affirm the clearing of the 2FA token * Update libs/auth/src/common/login-strategies/login.strategy.ts Co-authored-by: Jake Fink <jfink@bitwarden.com> * Update libs/auth/src/common/login-strategies/password-login.strategy.ts Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-5263 - Login Strategy - per PR feedback, add jsdoc comments to each method I've touched for this PR. * PM-5263 - (1) TokenSvc - adjust setTokens, setAccessToken, setRefreshToken, and clearRefreshToken based on PR feedback to remove optional user ids where possible and improve public interface (2) TokenSvc Abstraction - update docs and abstractions based on removed user ids and changed logic (3) TokenSvc tests - update tests to add new test cases, remove no longer relevant ones, and update test names. * PM-5263 - Bump migrations again --------- Co-authored-by: Matt Gibson <git@mgibson.dev> Co-authored-by: Jake Fink <jlf0dev@users.noreply.github.com> Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: Jake Fink <jfink@bitwarden.com> |
2 years ago |
|
|
f4150ffda6
|
[PM-6511] New i18n for angular (#8122)
* Use state provider to store preferred language * migrate preferred language * Use new i18n provider to get LOCAL_ID * Fix preloaded english i18n This is a mock service that forces english translations, it doesn't need the i18n interface that allows changing of locales. * PR improvements * Fixup merge |
2 years ago |
|
|
cb8849c355
|
Add eslint rule no-floating-promises (#7789)
* add eslint rule no-floating-promises * add eslint-disable comment to offending lines |
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> |
3 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. |
3 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> |
3 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> |
3 years ago |
|
|
e1b5b83723
|
Add State Provider Framework (#6640)
* Add StateDefinition
Add a class for encapsulation information about state
this will often be for a domain but creations of this will
exist outside of a specific domain, hence just the name State.
* Add KeyDefinition
This adds a type that extends state definition into another sub-key
and forces creators to define the data that will be stored and how
to read the data that they expect to be stored.
* Add key-builders helper functions
Adds to function to help building keys for both keys scoped
to a specific user and for keys scoped to global storage.
Co-authored-by: Matt Gibson <MGibson1@users.noreply.github.com>
* Add updates$ stream to existing storageServices
Original commit by Matt:
|
3 years ago |
|
|
801141f90e
|
[PM-166] [PM-198] - Add Event Logs for CLI Actions (#6527)
* Added the DeviceType changes for windows CLI * Event logging for CLI commands * Changing the icons to cli icons |
3 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 |
3 years ago |
|
|
36b7d30804
|
Fix failing crypto tests (#5948)
* Change everything to Uint8Array related to https://github.com/jestjs/jest/issues/14379 * Work on failing type tests * Revert changes to custom matcher setup * Remove last BufferArrays from tests * Fix custom matcher type errors in vscode * Remove errant `.buffer` calls on Uint8Arrays * Encryption Pair should serialize Array Buffer and Uint8Array * Fix EncArrayBuffer encryption --------- Co-authored-by: Thomas Rittson <trittson@bitwarden.com> |
3 years ago |
|
|
78248db590
|
Platform/pm 19/platform team file moves (#5460)
* Rename service-factory folder
* Move cryptographic service factories
* Move crypto models
* Move crypto services
* Move domain base class
* Platform code owners
* Move desktop log services
* Move log files
* Establish component library ownership
* Move background listeners
* Move background background
* Move localization to Platform
* Move browser alarms to Platform
* Move browser state to Platform
* Move CLI state to Platform
* Move Desktop native concerns to Platform
* Move flag and misc to Platform
* Lint fixes
* Move electron state to platform
* Move web state to Platform
* Move lib state to Platform
* Fix broken tests
* Rename interface to idiomatic TS
* `npm run prettier` 🤖
* Resolve review feedback
* Set platform as owners of web core and shared
* Expand moved services
* Fix test types
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
|
3 years ago |