km/v2-forced-auto-upgrade
km/pin-management-sdk
main
ac/pm-38163/invite-link-policies-post-endpoint
feature-flag-overrides-init
tools/pm-38817/keeper-di-use-sdk-crypto
dirt/pm-36835-add-logging-and-error-handling
PM-38813
tools/PM-38387-kdbx-importer
pm-38617
auth/pm-38742/sso-callback-improve-error-for-invited-existing-users
PM-37913-1
uif/cl-1208/desktop-header
billing/pm-38393/disable-self-host-premium-check
PM-38778
billing/PM-37228/add-price-increase-callout-to-organization-subscription-page
uif/CL-1200/remove-table-header
uif/m3/visual-regression-fixes
PM-32016-1
vault/pm-38421/remove-copy-actions
vault/pm-38787/batch-ui-fixes
dirt/bug/pm-38182/ai-v2-trend-chart
ac/pm-38766
ac/pm-38343-2-step-and-require-sso-and-remove-unlock-and-remove-export-into-SimpleToggle
auth/pm-38298/org-invite-acceptance-refactor
dirt/pm-35059/coachmark-tour
renovate/storybook-monorepo
ps/PM-35903-update-node-24
ps/PM-34331-update-electron
feature/ipc-desktop-browser-transport
ps/release-notes-generation
km/gnome-portal-clipboard
renovate/concurrently-10.x
km/process-reload-disable
renovate/signature-3.x
renovate/sha2-0.x
vault/pm-38296/poc-graceful-decrypt
PM-38409
PM-38581
ac/pm-35796-generate-invite-link-crypto
dn/pm-33362/app-window-picker
uif/cl-1216/select-hint-text
renovate/chromaui-action-17.x
renovate/chromatic-17.x
badge-group
renovate/major-react-monorepo
pm-32245
anders/pam-poc
ac/pm-38345-block-account,-remove-card,-remove-free-fam,-and-desktop-autotype-to-SimpleToggle
PM-36172
PM-36505-Policy-interactions-and-copy-updates
km/access-token-location
fix-defalut-broken-wayland-only
renovate/inquirer-14.x
renovate/commander-15.x
renovate/major-tailwindcss-monorepo
renovate/sass-loader-17.x
renovate/major-eslint-monorepo
renovate/rusqlite-0.x
renovate/koa-router-15.x
renovate/tldts-7.x
renovate/type-fest-5.x
auth/pm-35599/update-password-request-models-auth
vault/pm-33407/add-organizationusernotificationpolicy-component
rc
vault/PM-28192
uif/CL-1042/ds-refresh-3
auth/pm-35600/update-password-request-models-key-management
vault/pm-38571/audit-memory-leaks
tools/pm-38357/more-descriptive-send-edit-failure-messages
claude-improvements
km/disable-process-reload
km/fix-wayland-copy-gnome
autostart-tray-behavior
renovate/ctor-1.x
PM-37780
SM-1487-Generic-Request-access
perf/incremental-shadow-overflow
perf/schedule-on-contribution
perf/lever-schedule-on-contribution
perf/fieldless-observer-gate
perf/lever-fieldless-observer-gate
renovate/rust-1.x
dirt/pm-35133
PM-6796-Change-paths-and-names-within-libs-tools
pm-37768-vuln-webauthn-honor-permissions-policy
wmartin/form-validation-docs
km/pm-38405-return-await/key-management-dev
tools/pm-33198/keeper-di-constant-time-check
vault/pm-32696/blob-cipher-support
sm/sm-1954/access-token-expiry-badges
tools/pm-33198/keeper-di-opaque-types
table-v2-column-def
autofill/pm-35196/observer-bench
vault/PM-32089/delete-collections-stale-ciphers
gate-childlist-rebuild
win-dialog-poc
pm-36016-cross-origin-iframe-deepselector
renovate/minor-github-actions-updates
renovate/napi-rs-cli-3.x
renovate/aes-0.x
renovate/yao-pkg-pkg-6.x
PM-2588-Tools-Send-URL-we-change-vault.bitwarden.com-to-send.bitwarden.com-but-ignore-all-others
km/no-log-key
PM-34926
renovate/major-electron
pm-34491
renovate/lock-file-maintenance
renovate/macosios-bindings
vault/pm-38192/fix-move-view-collection
hotfix-rc-browser
uif/CL-51/file-upload
SM-1483]DotCom
km/pm-38405-return-await/billing-dev
km/pm-38405-return-await/vault-dev
km/pm-38405-return-await/secrets-manager-dev
km/pm-38405-return-await/admin-console-dev
km/pm-38405-return-await/ui-foundation
km/pm-38405-return-await/platform-dev
km/pm-38405-return-await/data-insights-and-reporting-dev
km/pm-38405-return-await/autofill-dev
km/pm-38405-return-await/auth-dev
km/pm-38405-return-await/desktop-native-dev
km/pm-38405-return-await/tools-dev
km/promise-await
dirt/pm-37611/add-claude-mds
km/ephemeral-state-cleanup
PM-32577-Browser-extension-Desktop-Hide-Send-from-navigation-when-user-is-subject-to-the-disable-Send-policy
vault-items-table-v2
pm-38476
uif/CL-1001/update-toggle-group
anon-layout-refactor-poc
PM-31884-New-send-policy-to-restrict-access-controls-front-end
auth/pm-32445/extension-scrollbar-bug-fix
km/pm-24223/v2-password-registration
sm/sm-1955/add-value-generator-to-secret-dialog
autofill/pm-37686/add-autofill-lifecycle
dn/pm-38133/fix-ssh-agent-v1-no-agent-forwarding-warning
fix-simplify-switching-unlock-methods
renovate/open-11.x
renovate/jsdom-29.x
renovate/major-jest-monorepo
renovate/autoprefixer-10.x
renovate/inquirer-8.x
renovate/commander-14.x
renovate/storybook-test-runner-0.x
renovate/chrome-0.x
renovate/npm-webpack-dev-server-vulnerability
auth/pm-27527/close-2fa-popouts-after-auth
PM-35212
auth/pm-27844/set-email-on-sync
tools/send-access-event-logging-domains
km/auto-kdf-qa
dn/pm-38293/ssh-agent-fix-ipc-calls-when-feature-is-disabled
sm/sm-1952/access-token-lifecycle-events
PM-37228
renovate/crate-rsa-vulnerability
tools/PM-38165-limit-send-emails-input-length
renovate/major-github-artifact-actions
renovate/actions-create-github-app-token-3.x
PM-31929-new-send-policy-for-deletion-days
tools/PM-14890-localize-import-component
uif/CL-1138/stacked-drawers
PM-32187-restrict-send-type
renovate/cbc-0.x
coroiu/expose-global-client-over-wasm
renovate/pbkdf2-0.x
ohinton/pm-37751/web-leasing-policies-admin
pm-35087-gov-region
PM-4439-Tech-Debt-Vet-usefulness-and-potential-risk-of-including-Oidc-client-as-a-dependency
neuronull/tmp-testing-for-20680
renovate/rand-0.x
km/pm-12039-remove-usage-of-active-user-state-from-key-connector-service
km/pm-12043-remove-usage-of-active-user-state-from-biometric-state-service
km/beeep/snap-disable-autostart
km/feature/ipc-web-re-inject
fix-cipher-type-typing-fixme
shadow-dom-unified-fix
use-config-based-hooks
PM-37752
uif/side-nav-product-switcher
km/pm-32211-fix-private-key-before-key-rotation
SM-1934-overlapinui
feature/ipc-desktop-browser-simplified
auth/pm-29615/login-via-webauthn-component-use-client-specific-component-services
pm-37695-ddg-integration-skill
pam/demo-integration
aj-bw/test-desktop-build-napi
designer-agent-skills
pm-36960-totp-copy-to-clipboard-on-stripe-com
PM-37816-mdm-policy
chrome-perf-tab-mutation-no-queue
chrome-perf-tab-mutation
billing/pm-35230/clients-web-Checkout-success-page
20260619
perf-changes-from-last-tag
tools/PM-36562-Send-delete-event-logs
tools/pm-PM-36561-Send-edit-event-logs
tools/PM-25560-update-safeincloud-importer
chrome-perf
autofill/pm-35399/custom-elements-galore
pam/demo-mock-server
uif/CL-1046/form-dialogs/secrets-manager
uif/CL-1046/form-dialogs/auth
uif/CL-1046/form-dialogs/admin-console
ps/electron-custom-protocol-poc
renovate/sha1-0.x
billing/pm-24216/WEB-BEEEP-Improve-the-Code-Quality-of-the-Upgrade-Dialog
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
formform
dn/expired-card-poc
pm-34172-badge-position-hidden-multi-field
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
pam/pm-37277-governance-dashboard
pam/pm-37264-cipher-open-flow
pam/pm-37279-email-templates
pam/pm-37262-push-subscription
pam/pm-37263-vault-list-badge
pam/pm-37261-scaffold
auth/pm-35601/update-password-request-models-admin-console
PM-37590
pm-37565
SM-1588-Secrets-list.component
vault/pm-34108/browser-drivers-license
fix/repository-management-remove-tokens
agalles/fix-version-bump
dirt/pm-32654/fix-app-table-column-width
km/disable-state-bridge
revert-20394-km/state-bridge
extract/magic-values
PM-32016
iinuwa/win-passkey-poc3
vault/pm-34109/copyable-items-bank-account
billing/pm-35229/clients-browser-desktop-stripe-checkout-from-upgrade-dialog
km/state-bridge
km/desktop-ipc
auth/token-svc-memory-first-storage-and-circ-dep-refactor
vault/fix-cardholder-name-copy-button-12439
nav-host-display-block
uif/lit-ds-spike
CL-1192
vault/pm-20461/drivers-license-desktop
int/draft-ctap1-hardware-key-fallback
vgrassia/test
CL-1028
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
PM-29785/com-server-impl
bit-workflow-fix
PM-29781-Remove-the-feature-flag-for-email-verification-clients
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
vault/add-bank-account
km/unlock-with-pin-state
renovate/electron-41.x
beeep/improve-collections-page-speeds
vault/pm-28191-part-2
ac-performance-logged
km/move-pin-to-sdk
BRE-1845-secret-rotation-placeholder-work
PM-35496
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
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
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
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
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
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
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
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
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
browser-v2026.5.0
browser-v2026.5.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
cli-v2026.4.2
cli-v2026.5.0
desktop-mac-v2025.4.2
desktop-v2022.10.0
desktop-v2022.10.1
desktop-v2022.11.0
desktop-v2022.12.0
desktop-v2022.5.0
desktop-v2022.5.1
desktop-v2022.6.0
desktop-v2022.6.1
desktop-v2022.6.2
desktop-v2022.8.0
desktop-v2022.8.1
desktop-v2022.9.0
desktop-v2022.9.1
desktop-v2023.1.0
desktop-v2023.1.1
desktop-v2023.10.0
desktop-v2023.10.1
desktop-v2023.12.0
desktop-v2023.12.1
desktop-v2023.2.0
desktop-v2023.3.0
desktop-v2023.3.1
desktop-v2023.3.2
desktop-v2023.4.0
desktop-v2023.5.0
desktop-v2023.5.1
desktop-v2023.7.0
desktop-v2023.7.1
desktop-v2023.8.2
desktop-v2023.8.3
desktop-v2023.8.4
desktop-v2023.9.0
desktop-v2023.9.1
desktop-v2023.9.2
desktop-v2023.9.3
desktop-v2024.1.0
desktop-v2024.10.0
desktop-v2024.10.1
desktop-v2024.10.2
desktop-v2024.11.0
desktop-v2024.11.1
desktop-v2024.11.2
desktop-v2024.12.0
desktop-v2024.12.1
desktop-v2024.2.0
desktop-v2024.2.1
desktop-v2024.3.0
desktop-v2024.3.2
desktop-v2024.4.0
desktop-v2024.4.1
desktop-v2024.4.3
desktop-v2024.5.0
desktop-v2024.6.0
desktop-v2024.6.1
desktop-v2024.6.2
desktop-v2024.6.3
desktop-v2024.6.4
desktop-v2024.7.0
desktop-v2024.7.1
desktop-v2024.8.0
desktop-v2024.8.1
desktop-v2024.8.2
desktop-v2024.9.0
desktop-v2025.1.0
desktop-v2025.1.1
desktop-v2025.1.2
desktop-v2025.1.3
desktop-v2025.1.4
desktop-v2025.10.0
desktop-v2025.11.0
desktop-v2025.11.1
desktop-v2025.11.2
desktop-v2025.12.0
desktop-v2025.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
desktop-v2026.4.0
desktop-v2026.5.0
tools/PM-7543/reproduce-bug
v0.0.1
v0.0.10
v0.0.11
v0.0.12
v0.0.13
v0.0.14
v0.0.15
v0.0.16
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.9
v1.0.0
v1.0.1
v1.0.5
v1.1.0
v1.1.1
v1.10.0
v1.10.1
v1.10.2
v1.11.0
v1.11.1
v1.11.2
v1.12.0
v1.12.2
v1.12.3
v1.13.0
v1.13.1
v1.13.4
v1.13.5
v1.14.0
v1.14.1
v1.14.2
v1.14.3
v1.15.0
v1.15.1
v1.15.2
v1.15.3
v1.16.0
v1.16.1
v1.16.2
v1.16.4
v1.16.6
v1.17.0
v1.17.1
v1.17.2
v1.17.3
v1.18.0
v1.19.0
v1.19.1
v1.2.0
v1.2.1
v1.2.2
v1.20.0
v1.20.1
v1.21.0
v1.21.1
v1.21.2
v1.21.3
v1.21.4
v1.22.0
v1.22.1
v1.22.2
v1.23.0
v1.23.1
v1.24.0
v1.24.1
v1.24.2
v1.24.3
v1.24.4
v1.24.6
v1.25.0
v1.25.1
v1.25.2
v1.25.3
v1.25.4
v1.25.5
v1.25.6
v1.25.7
v1.26.0
v1.26.1
v1.26.2
v1.26.3
v1.26.4
v1.26.5
v1.26.6
v1.27.0
v1.28.0
v1.29.0
v1.3.0
v1.30.0
v1.30.1
v1.30.2
v1.30.3
v1.31.0
v1.32.0
v1.32.1
v1.33.1
v1.33.2
v1.33.3
v1.34.0
v1.35.0
v1.35.1
v1.35.2
v1.36.0
v1.37.0
v1.38.0
v1.39.0
v1.39.1
v1.39.2
v1.39.3
v1.4.0
v1.40.0
v1.40.1
v1.41.0
v1.42.2
v1.43.1
v1.43.2
v1.43.3
v1.43.4
v1.44.0
v1.44.1
v1.44.2
v1.44.3
v1.45.0
v1.46.0
v1.46.1
v1.46.2
v1.47.0
v1.47.1
v1.48.0
v1.48.1
v1.49.0
v1.49.1
v1.5.0
v1.50.0
v1.51.0
v1.51.1
v1.52.0
v1.52.1
v1.53.0
v1.54.0
v1.55.0
v1.56.0
v1.56.1
v1.56.2
v1.56.3
v1.56.4
v1.56.5
v1.56.6
v1.57.0
v1.58.0
v1.6.0
v1.6.1
v1.7.0
v1.8.0
v1.8.1
v1.8.2
v1.9.0
v1.9.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
web-v2026.5.0
web-v2026.6.0
${ item.name }
${ noResults }
436 Commits (anders/electron-builder)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
19f547e638
|
[PM-8836] Move ownership of biometrics to key-management (#10818)
* Move ownership of biometrics to key-management * Move biometrics ipc ownership to km * Move further files to km; split off preload / ipc to km * Fix linting * Fix linting * Fix tests * Fix tests * Update .github/CODEOWNERS Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com> * Update .github/CODEOWNERS Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com> * Change ownership of native messaging to key-management * Move biometrics to libs/key-management * Add README to capital whitelist * Update package-lock.json * Move km to key-management * Move km to key-management * Fix build for cli * Import fixes * Apply prettier fix * Fix test * Import fixes * Import fixes * Update libs/key-management/README.md Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com> * Update libs/key-management/package.json Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com> * Update lock file * Change imports to top level km package --------- Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com> |
2 years ago |
|
|
d92b2cbea2
|
[PM-11477] Remove deprecated cryptoservice functions (#10854)
* Remove deprecated cryptoservice functions * Use getUserkeyWithLegacySupport to get userkey * Fix tests * Fix tests * Fix tests * Remove unused cryptoservice instances * Fix build * Remove unused apiService in constructor * Fix encryption * Ensure passed in key is used if present * Fix sends and folders * Fix tests * Remove logged key * Fix import for account restricted keys |
2 years ago |
|
|
d189b4e294
|
[PM-8013] CLI MAC failure logs - update secureStorageService deps (#10935)
|
2 years ago |
|
|
e954621761
|
Auth/PM-10684 - Fix CLI asking for MP even if session key provided as command option (#10917)
* PM-10684 - ServiceContainer - Add better docs * PM-10684 - UserAutoUnlockKeyService - setUserKeyInMemoryIfAutoUserKeySet - refactor method to return a bool instead of nothing so users can know if a user key was retrieved & set without another call. * PM-10684 - Remove async code ( Program.ts) responsible for setting the auto user key from the session option handler (event emitter which fires when a user passes --session <sessionKey> to a command). Returning this to synchronous execution prevents a race condition between the setting of the user key and the command executing the exitIfLocked logic in the base-program which would check if the user key had been set to determine if the command should be allowed to execute or if the user was locked. When running a loop from a script, the command would often trigger the exitIfLocked before the auto user key could be set in state from the option:session session. * PM-10684 - Clean up missed item per PR feedback |
2 years ago |
|
|
3bbc2cc691
|
Change AppIdService to Use Storage Directly (#10835)
|
2 years ago |
|
|
8344623185
|
[PM-11450] Move organization-user domain to admin-console lib (#10785)
- move organization-user files from libs/common/src/admin-console into libs/admin-console/src/common - add barrel files and update imports to use barrel files - rename OrganizationUserService to OrganizationUserApiService - rename OrganizationUserServiceImplementation to DefaultOrganizationUserApiService |
2 years 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 |
|
|
9459cda304
|
Pm-10953/add-user-context-to-sync-replaces (#10627)
* Require userId for setting masterKeyEncryptedUserKey * Replace folders for specified user * Require userId for collection replace * Cipher Replace requires userId * Require UserId to update equivalent domains * Require userId for policy replace * sync state updates between fake state for better testing * Revert to public observable tests Since they now sync, we can test single-user updates impacting active user observables * Do not init fake states through sync Do not sync initial null values, that might wipe out already existing data. * Require userId for Send replace * Include userId for organization replace * Require userId for billing sync data * Require user Id for key connector sync data * Allow decode of token by userId * Require userId for synced key connector updates * Add userId to policy setting during organization invite accept * Fix cli * Handle null userId --------- Co-authored-by: bnagawiecki <107435978+bnagawiecki@users.noreply.github.com> |
2 years ago |
|
|
dedd7f1b5c
|
[PM-10607] Require userId for getKeyForCipherKeyDecryption (#10509)
* updated cipher service to stop using the deprecated getUserKeyWithLegacySupport and use the version that requires a user id * Added account service mock * fixed cipher test * Fixed test * removed async from encryptCipher * updated encryptSharedCipher to pass userId to the encrypt function * Pass userId to getUserKeyWithLegacySupport on encryptSharedCipher * pass in userid when setting masterKeyEncryptedUserKey * Added activer usedId to new web refresh function |
2 years ago |
|
|
7b508b1ad7
|
[PM-8933] Require userId on setUserKey (#9675)
* Updated all sets of user key to pass in userId * Added userId on auth request login. * Fixed tests. * Fixed tests to pass in UserId * Added parameter to tests. * Addressed PR feedback. * Merged main |
2 years ago |
|
|
b84becd9e4
|
Fix cli build by adding biometric stubs (#10421)
|
2 years ago |
|
|
dcb21c2685
|
Move `lastSync` State (#10272)
|
2 years ago |
|
|
2819ac597f
|
[BEEEP: PM-10190] Use strict TS checks in CLI service container (#10298)
* move cli service-container to new folder * fix imports * add tsconfig and fix type issues in other services * fix more imports in service-container * make ts server happy in service-container * fix actual bugs in cli service-container * fix package json reference path * fix service-container import * update type on cipher service |
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 |
|
|
c91f9146da
|
[PM-9978] Add State Logging Options (#10251)
* Add `DebugOptions` to Definitions * Respect Debug Options * Configure DI |
2 years ago |
|
|
a437868727
|
move initialization of UV service dep (#10290)
|
2 years ago |
|
|
b9eb4003a1
|
[deps] Autofill: Update prettier to v3.3.3 (#10228)
* [deps] Autofill: Update prettier to v3.3.3 * prettier formatting changes * fix SyntaxError for literal @ inline html --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com> |
2 years ago |
|
|
4c26ab5a9e
|
[PM-10059] alert server if device trust is lost (#10235)
* alert server if device trust is lost * add test * add tests for extra errors * fix build --------- Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> |
2 years ago |
|
|
3bfa024b87
|
Output user-specific associations for collections in the CLI (#10154)
Collection management permissions can be set for a group or a specific user. Currently the CLI only outputs group associations when it displays collection configuration information. This can cause bugs when piping commands together. This commit ensures that `user` associations also get output. In all cases this data was already available and just needed to be added to a response model. |
2 years ago |
|
|
84b719d797
|
[PM-4154] Introduce Bulk Encrypt Service for Faster Unlock Times (#6465)
* Implement multi-worker encryption service * Fix feature flag being flipped and check for empty input earlier * Add tests * Small cleanup * Remove restricted import * Rename feature flag * Refactor to BulkEncryptService * Rename feature flag * Fix cipher service spec * Implement browser bulk encryption service * Un-deprecate browserbulkencryptservice * Load browser bulk encrypt service on feature flag asynchronously * Fix bulk encryption service factories * Deprecate BrowserMultithreadEncryptServiceImplementation * Copy tests for browser-bulk-encrypt-service-implementation from browser-multithread-encrypt-service-implementation * Make sure desktop uses non-bulk fallback during feature rollout * Rename FallbackBulkEncryptService and fix service dependency issue * Disable bulk encrypt service on mv3 * Change condition order to avoid expensive api call * Set default hardware concurrency to 1 if not available * Make getdecrypteditemfromworker private * Fix cli build * Add check for key being null |
2 years ago |
|
|
974162b1a4
|
[PM-6426] Create TaskSchedulerService and update long lived timeouts in the extension to leverage the new service (#8566)
* [PM-6426] Create TaskSchedulerService and update usage of long lived timeouts * [PM-6426] Implementing nextSync timeout using TaskScheduler * [PM-6426] Implementing systemClearClipboard using TaskScheduler * [PM-6426] Fixing race condition with setting/unsetting active alarms * [PM-6426] Implementing clear clipboard call on generatePasswordToClipboard with the TaskSchedulerService * [PM-6426] Implementing abortTimeout for Fido2ClientService using TaskSchedulerService * [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService * [PM-6426] Implementing reconnect timer timeout for NotificationService using the TaskSchedulerService * [PM-6426] Implementing sessionTimeout for LoginStrategyService using TaskSchedulerService * [PM-6426] Implementing eventUploadInterval using TaskScheduler * [PM-6426] Adding jest tests for the base TaskSchedulerService class * [PM-6426] Updating jest tests for GeneratePasswordToClipboardCommand * [PM-6426] Setting up the full sync process as an interval rather than a timeout * [PM-6426] Renaming the scheduleNextSync alarm name * [PM-6426] Fixing dependency references in services.module.ts * [PM-6426] Adding jest tests for added BrowserApi methods * [PM-6426] Refactoring small detail for how we identify the clear clipboard timeout in SystemService * [PM-6426] Ensuring that we await clearing an established scheduled task for the notification service * [PM-6426] Changing the name of the state definition for the TaskScheduler * [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService * [PM-6426] Implementing jest tests for the BrowserTaskSchedulerService * [PM-6426] Adding jest tests for the base TaskSchedulerService class * [PM-6426] Finalizing jest tests for BrowserTaskScheduler class * [PM-6426] Finalizing documentation on BrowserTaskSchedulerService * [PM-6426] Fixing jest test for LoginStrategyService * [PM-6426] Implementing compatibility for the browser.alarms api * [PM-6426] Fixing how we check for the browser alarms api * [PM-6426] Adding jest tests to the BrowserApi implementation * [PM-6426] Aligning the implementation with our code guidelines for Angular components * [PM-6426] Fixing jest tests and lint errors * [PM-6426] Moving alarms api calls out of BrowserApi and structuring them within the BrowserTaskSchedulerService * [PM-6426] Reworking implementation to register handlers separately from the call to those handlers * [PM-6426] Adjusting how we register the fullSync scheduled task * [PM-6426] Implementing approach for incorporating the user UUID when setting task handlers * [PM-6426] Attempting to re-work implementation to facilitate userId-spcific alarms * [PM-6426] Refactoring smaller details of the implementation * [PM-6426] Working through the details of the implementation and setting up final refinments * [PM-6426] Fixing some issues surrounding duplicate alarms triggering * [PM-6426] Adjusting name for generate password to clipboard command task name * [PM-6426] Fixing generate password to clipboard command jest tests * [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback * [PM-6426] Working through jest tests and implementing a method to guard against setting a task without having a registered callback * [PM-6426] Implementing methodology for having a fallback to setTimeout if the browser context is lost in some manner * [PM-6426] Working through jest tests * [PM-6426] Working through jest tests * [PM-6426] Working through jest tests * [PM-6426] Working through jest tests * [PM-6426] Finalizing stepped setInterval implementation * [PM-6426] Implementing Jest tests for DefaultTaskSchedulerService * [PM-6426] Adjusting jest tests * [PM-6426] Adjusting jest tests * [PM-6426] Adjusting jest tests * [PM-6426] Fixing issues identified in code review * [PM-6426] Fixing issues identified in code review * [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals * [PM-6426] Removing user-based alarms and fixing an issue found with setting steppedd alarm interavals * [PM-6426] Fixing issue with typing information on a test * [PM-6426] Using the getUpperBoundDelayInMinutes method to handle setting stepped alarms and setTimeout fallbacks * [PM-6426] Removing the potential for the TaskScheduler to be optional * [PM-6426] Reworking implementation to leverage subscription based deregistration of alarms * [PM-6426] Fixing jest tests * [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks * [PM-6426] Implementing foreground and background task scheduler services to avoid duplication of task scheudlers and to have the background setup as a fallback to the poopup tasks * [PM-6426] Merging main into branch * [PM-6426] Fixing issues with the CLI Service Container implementation * [PM-6426] Reworking swallowed promises to contain a catch statement allow us to debug potential issues with registrations of alarms * [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService * [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService * [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService * [PM-6426] Adding jest tests to the ForegroundTaskSchedulerService and the BackgroundTaskSchedulerService * [PM-6426] Adjusting implementation based on code review feedback * [PM-6426] Reworking file structure * [PM-6426] Reworking file structure * [PM-6426] Adding comments to provide clarity on how the login strategy cache experiation state is used * [PM-6426] Catching and logging erorrs that appear from methods that return a promise within VaultTimeoutService |
2 years ago |
|
|
5fcf4bbd10
|
[PM-8979] Check that user is authed before getting user config (#10031)
* Check that user is authed before getting user config * Accept PR Suggestion Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> * Use Strict Equal --------- Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> |
2 years ago |
|
|
f9b623b37c
|
Add AC Team eslint configuration (#9971)
|
2 years ago |
|
|
c01f6be286
|
[PM-1802] Update 2fa provider icons and description (#9568)
* Update yubikey to yubico * Update icons and descriptions * Change order of 2fa providers * Refactor 2fa providers into separate component * Update i18n messages for 2fa providers * Update design * Fix link * Remove unused SVGs * Undo changes to scss * Add speedbumps to links * Fix missing i18n string * Add a11y tags * Fix incorrect filepath * Remove unused i18n strings * Delete accidentally committed file * Fix premium and enabled checkmark being in new line * Rename two-factor-icon selector * Update authenticator names in two-factor-authenticator setup component * Update text according to figma design * Update keys to notify crowdin translators of changed content * Move svg icons to separate file * Fix incorrect i18n key |
2 years ago |
|
|
1080d46aaf
|
[PM-9170] generator library migrations (#9812)
* migrate browser to generator libraries * migrate cli to generator libraries * migrate desktop to generator libraries * migrate angular library to generator libraries * migrate web to generator libraries |
2 years ago |
|
|
98c6cc4a7e
|
[PM-5957] CLI - List items long runtime (#9589)
* Initial checking of collect many * should update to better handle parameters * cleaning up event collection params * Adding documentation * Removing commented out code saved for testing * Adding pr changes and using the account service for event collection user id * browser main.background event collection service needed the account service |
2 years ago |
|
|
c26669cf60
|
Moving the config command and adding the error for server config when logged in (#9347)
|
2 years ago |
|
|
1043a582c1
|
[PM-7879, PM-7635] Add server verification for master password to user verification (#9523)
* add MP server verification * add tests and minor service enhancements * fix tests * fix initializations for cli and browser * fix CLI * pr feedback |
2 years ago |
|
|
f85b7b314c
|
[AC-1658] Update list command to show only organizations where the user is a member (#9453)
* Refactor list organizations command to use organizationService.memberOrganizations$ * Deprecate OrganizationService.getAll method and update CLI get command to use the organizations observable |
2 years ago |
|
|
89aa6220ca
|
[AC-2740] Add device-approval to bw serve (#9512)
* Extract bw serve endpoint configuration to a configurator class * Add device-approval endpoints to bw serve |
2 years ago |
|
|
e6803e05ee
|
[PM-8593] CLI - Logout needs to reset active account (#9503)
* On logging out the account service active account needs set to null * Auth service logout back to old spot and account switch after cleaning the state |
2 years ago |
|
|
eef1e511b5
|
[AC-2286] [Defect] - CLI: User creating a collection through the CLI does not have access to the collection (#9409)
* Send current Org user Id on collection creation through CLI * Run npm prettier * Add organization services to CreateCommand creation on ServeCommand * Refactor organization data models to include organizationUserId property * Refactor create command to utilize the OrganizationUserId on the Organization object * Add users to collection request in edit command * fix: organization.data test update to correct deserialization, refs AC-2286 --------- Co-authored-by: Vincent Salucci <vincesalucci21@gmail.com> |
2 years ago |
|
|
323b59de71
|
SM-1213 Add Bitwarden Secrets Manager tip to CLI help (#9307)
* SM-1213 Add Bitwarden Secrets Manager tip to help * SM-1213: Moved SM tip before examples |
2 years ago |
|
|
1aaa88a64d
|
[PM-7837] Move `SyncService` to Platform Ownership (#9055)
* Move * Update References In Unowned Files * Update References In Vault Files * Update Web AppComponent * Add Import |
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 |
|
|
c0bb7b9edf
|
[AC-2631] Add device-approval command scaffolding (#9351)
* Add device-approval scaffolding * Refactor: move helpers to BaseProgram * Update CODEOWNERS |
2 years ago |
|
|
d0c5312c34
|
Fix failing CLI build (#9308)
|
2 years ago |
|
|
6ca836f31d
|
fix clear when account unavailable error (#9299)
* fix clear when account unavailable error * remove explicit password history clear on logout |
2 years ago |
|
|
a16dc84a0a
|
[PM-6819] Credential generator MV3 integration (#8998)
* replace `PasswordGeneratorService` with `legacyPasswordGenerationServiceFactory` * replace `UsernameGeneratorService` with `legacyUsernameGenerationServiceFactory` * migrate generator options and history * apply policy immediately once available * suppress duplicate policy emissions * run password generation response code in `ngZone` |
2 years ago |
|
|
ee690cd1ef
|
Use account service for getting account profile data. (#9133)
* Use account service for getting account profile data. * desktop build fixes * CLI build fixes * Remove state service methods |
2 years ago |
|
|
b14bb92d78
|
[AC-2579] Set up bit-cli folder (#9092)
* Create bit-cli folder with configs * Add bit-cli to workspace * Refactor CLI app structure * services are managed by the ServiceContainer * programs are registered by register(Oss|Bit)Program * the app is bootstrapped by Main * Reapply changes from #9099 * Reapply changes from #8604 * Reapply changes from #9115 |
2 years ago |
|
|
94b57687f5
|
[PM-7926] Handle complex user logout events (#9115)
* Update activity when switching users
* Clear data of designated user
* Do not switchMap to null, always to Promise or Observable
* handle uninitialized popup services
* Switch to new account immediately and log out as inactive.
Split up done logging out and navigation so we can always display expire warning.
* Do not navigate in account switcher, main.background takes care of it
* Ignore storage updates from reseed events
* Remove loading on cancelled logout
* Catch missed account switch errors
* Avoid usage of active user state in sync service
Send service does not currently support specified user data
manipulation, so we ensure that the notification was sent to the
active user prior to processing the notification.
* Clear sequentialize caches on account switch
These caches are used to ensure that rapid calls to an async method are not repeated. However, the cached promises are valid only within a given userId context and must be cleared when that context changes.
* Revert `void` promise for notification reconnect
* Update libs/angular/src/services/jslib-services.module.ts
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
* Handle switch account routing through messaging background -> app
* Use account switch status to handle unlocked navigation case.
* Revert "Handle switch account routing through messaging background -> app"
This reverts commit
|
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 |
|
|
5092151b54
|
add i18n messages used by forwarders (#9158)
|
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 |
|
|
b4257e1c1c
|
set user key once we detect session key (#9084)
|
2 years ago |
|
|
a42de41587
|
[PM-5363] PinService State Providers (#8244)
* move pinKeyEncryptedUserKey * move pinKeyEncryptedUserKeyEphemeral * remove comments, move docs * cleanup * use UserKeyDefinition * refactor methods * add migration * fix browser dependency * add tests for migration * rename to pinService * move state to PinService * add PinService dep to CryptoService * move protectedPin to state provider * update service deps * renaming * move decryptUserKeyWithPin to pinService * update service injection * move more methods our of crypto service * remove CryptoService dep from PinService and update service injection * remove cryptoService reference * add method to FakeMasterPasswordService * fix circular dependency * fix desktop service injection * update browser dependencies * add protectedPin to migrations * move storePinKey to pinService * update and clarify documentation * more jsdoc updates * update import paths * refactor isPinLockSet method * update state definitions * initialize service before injecting into other services * initialize service before injecting into other services (bw.ts) * update clearOn and do additional cleanup * clarify docs and naming * assign abstract & private methods, add clarity to decryptAndMigrateOldPinKeyEncryptedMasterKey() method * derived state (attempt) * fix typos * use accountService to get active user email * use constant userId * add derived state * add get and clear for oldPinKeyEncryptedMasterKey * require userId * move pinProtected * add clear methods * remove pinProtected from account.ts and replace methods * add methods to create and store pinKeyEncryptedUserKey * add pinProtected/oldPinKeyEncrypterMasterKey to migration * update migration tests * update migration rollback tests * update to systemService and decryptAndMigrate... method * remove old test * increase length of state definition name to meet test requirements * rename 'TRANSIENT' to 'EPHEMERAL' for consistency * fix tests for login strategies, vault-export, and fake MP service * more updates to login-strategy tests * write new tests for core pinKeyEncrypterUserKey methods and isPinSet * write new tests for pinProtected and oldPinKeyEncryptedMasterKey methods * minor test reformatting * update test for decryptUserKeyWithPin() * fix bug with oldPinKeyEncryptedMasterKey * fix tests for vault-timeout-settings.service * fix bitwarden-password-protected-importer test * fix login strategy tests and auth-request.service test * update pinService tests * fix crypto service tests * add jsdoc * fix test file import * update jsdocs for decryptAndMigrateOldPinKeyEncryptedMasterKey() * update error messages and jsdocs * add null checks, move userId retrievals * update migration tests * update stateService calls to require userId * update test for decryptUserKeyWithPin() * update oldPinKeyEncryptedMasterKey migration tests * more test updates * fix factory import * update tests for isPinSet() and createProtectedPin() * add test for makePinKey() * add test for createPinKeyEncryptedUserKey() * add tests for getPinLockType() * consolidate userId verification tests * add tests for storePinKeyEncryptedUserKey() * fix service dep * get email based on userId * use MasterPasswordService instead of internal * rename protectedPin to userKeyEncryptedPin * rename to pinKeyEncryptedUserKeyPersistent * update method params * fix CryptoService tests * jsdoc update * use EncString for userKeyEncryptedPin * remove comment * use cryptoFunctionService.compareFast() * update tests * cleanup, remove comments * resolve merge conflict * fix DI of MasterPasswordService * more DI fixes |
2 years ago |
|
|
09ff12fc02
|
[PM-7919] Add more tde logging (#9035)
* adds additional logging to TDE service * remove base catch swallowing errors * add dependency to cli * fix comment |
2 years ago |
|
|
4b42ff7171
|
[PM-3483] Remove `migrateKeyForNeverLockIfNeeded` Logic (#8953)
* Remove `migrateKeyForNeverLockIfNeeded` Logic * Fix Test * Remove `migrateAutoKeyIfNeeded` |
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 |
|
|
c70a5aa024
|
[PM-6688] Use AccountService as account source (#8893)
* Use account service to track accounts and active account * Remove state service active account Observables. * Add email verified to account service * Do not store account info on logged out accounts * Add account activity tracking to account service * Use last account activity from account service * migrate or replicate account service data * Add `AccountActivityService` that handles storing account last active data * Move active and next active user to account service * Remove authenticated accounts from state object * Fold account activity into account service * Fix builds * Fix desktop app switch * Fix logging out non active user * Expand helper to handle new authenticated accounts location * Prefer view observable to tons of async pipes * Fix `npm run test:types` * Correct user activity sorting test * Be more precise about log out messaging * Fix dev compare errors All stored values are serializable, the next step wasn't necessary and was erroring on some types that lack `toString`. * If the account in unlocked on load of lock component, navigate away from lock screen * Handle no users case for auth service statuses * Specify account to switch to * Filter active account out of inactive accounts * Prefer constructor init * Improve comparator * Use helper methods internally * Fixup component tests * Clarify name * Ensure accounts object has only valid userIds * Capitalize const values * Prefer descriptive, single-responsibility guards * Update libs/common/src/state-migrations/migrate.ts Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * Fix merge * Add user Id validation activity for undefined was being set, which was resulting in requests for the auth status of `"undefined"` (string) userId, due to key enumeration. These changes stop that at both locations, as well as account add for good measure. --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
20de053770
|
Auth/PM-7811 - Refactor User Auto Unlock Key Hydration Process To Remove Race Conditions (#8979)
* PM-7811 - Refactor UserKeyInitService to UserAutoUnlockKeyService - remove active account listening logic as it introduced race conditions with user key memory retrieval happening before the user auto unlock key was set into memory. * PM-7811 - CLI - (1) Fix deps (2) On CLI init (pre command execution), if there is an active account, then set the user key in memory from the user auto unlock key. * PM-7811 - Browser Extension / desktop - (1) Update deps (2) Sets user key in memory if the auto unlock key is set on account switch and background init (must act on all accounts so that account switcher displays unlock status properly). * PM-7811 - Web - (1) Update deps (2) Sets user key in memory if the auto unlock key is set on init * PM-7811 - Fix account switcher service changes not being necessary. |
2 years ago |
|
|
3caa6cb635
|
[PM-7766] Add `clientType` to MigrationHelper (#8945)
* Add `clientType` to MigrationHelper * PM-7766 - Fix migration builder tests to take new clientType into account. Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * PM-7766 - Add client type to migration builder tests. * PM-7766 - Fix migration-helper.spec tests. * PM-7766 - Fix migrator.spec.ts --------- Co-authored-by: Jared Snider <jsnider@bitwarden.com> |
2 years ago |
|
|
089f251a0c
|
Remove memory storage cache from derived state. Use observable cache and port messaging (#8939)
|
2 years ago |
|
|
8afe915be1
|
[PM-7564] Move 2fa and login strategy service to popup and add state providers to 2fa service (#8820)
* remove 2fa from main.background * remove login strategy service from main.background * move 2fa and login strategy service to popup, init in browser * add state providers to 2fa service - add deserializer helpers * use key definitions for global state * fix calls to 2fa service * remove extra await * add delay to wait for active account emission in popup * add and fix tests * fix cli * really fix cli * remove timeout and wait for active account * verify expected user is active account * fix tests * address feedback |
2 years ago |
|
|
1e4158fd87
|
[PM-5735] Create kdf Service (#8715)
* key connector migration initial * migrator complete * fix dependencies * finalized tests * fix deps and sync main * clean up definition file * fixing tests * fixed tests * fixing CLI, Browser, Desktop builds * fixed factory options * reverting exports * implemented UserKeyDefinition clearOn * Initial Kdf Service Changes * rename and account setting kdfconfig * fixing tests and renaming migration * fixed DI ordering for browser * rename and fix DI * Clean up Migrations * fixing migrations * begin data structure changes for kdf config * Make KDF more type safe; co-author: jlf0dev * fixing tests * Fixed CLI login and comments * set now accepts userId and test updates --------- Co-authored-by: Jake Fink <jfink@bitwarden.com> |
2 years ago |
|
|
3f4adff2c5
|
set auto key on command in cli (#8905)
|
2 years ago |
|
|
5dc83cd34c
|
PM-6787 - Rename DeviceTrustCryptoService to DeviceTrustService (#8819)
|
2 years ago |
|
|
a12c140792
|
Revert "Revert "Auth/PM-6689 - Migrate Security Stamp to Token Service and St…" (#8889)
This reverts commit
|
2 years ago |
|
|
100b43dd8f
|
Revert "Auth/PM-6689 - Migrate Security Stamp to Token Service and State Prov…" (#8860)
This reverts commit
|
2 years ago |
|
|
b5362ca1ce
|
Browser MV3: Default store values to session storage (#8844)
* Introduce browser large object storage location. This location is encrypted and serialized to disk in order to allow for storage of uncountable things like vault items that take a significant amount of time to prepare, but are not guaranteed to fit within session storage. however, limit the need to write to disk is a big benefit, so _most_ things are written to storage.session instead, where things specifically flagged as large will be moved to disk-backed memory * Store derived values in large object store for browser * Fix AbstractMemoryStorageService implementation |
2 years ago |
|
|
91f1d9fb86
|
Auth/PM-6689 - Migrate Security Stamp to Token Service and State Provider (#8792)
* PM-6689 - Add security stamp to Token state * PM-6689 - Remove Security Stamp from account and state service * PM-6689 - Add security stamp get and set to token service + abstraction + tests * PM-6689 - Add migration for security stamp, test it, and register it with migrator * PM-6689 - Update sync service + deps to use token service. * PM-6689 - Cleanup missed usages of account tokens which has been removed. * PM-6689 - Per PR feedback, remove unnecessary data migration as the security stamp is only in memory and doesn't need to be migrated. |
2 years ago |
|
|
395ed3f5d4
|
[PM-7489] Introduce `MessageSender` & `MessageListener` (#8709)
* Introduce MessageSender * Update `messageSenderFactory` * Remove Comment * Use BrowserApi * Update Comment * Rename to CommandDefinition * Add More Documentation to MessageSender * Add `EMPTY` helpers and remove NoopMessageSender * Calm Down Logging * Limit Logging On Known Errors * Use `messageStream` Parameter Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * Add eslint rules * Update Error Handling Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> * Delete Lazy Classes In Favor of Observable Factories * Remove Fido Messages --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> Co-authored-by: Cesar Gonzalez <cesar.a.gonzalezcs@gmail.com> |
2 years ago |
|
|
ce75f7b565
|
Vault/pm-7580/resolve-cipher-update-race (#8806)
* Resolve updated values from updates Uses the now returned updated values from cipher service to guarantee-return the updated cipher for CLI edits * Use updated cipher for creation * Use updated cipher for editing collections * Await async methods Cipher data more closely approximates server responses. TODO: this should really use actual response types |
2 years ago |
|
|
28a89ddb86
|
[PM-7304] Add missing i18n keys for import errors (#8743)
* Add static error message when import fails * Adding missing string on CLI for unassigned items * Added missing string on setImportTarget * fixed tests |
2 years ago |
|
|
a72b7f3d21
|
[AC-1218] Add ability to delete Provider Portals (#8685)
* initial commit * add changes from running prettier * resolve the linx issue * resolve the lint issue * resolving lint error * correct the redirect issue * resolve pr commit * Add a feature flag * move the new component to adminconsole * resolve some pr comments * move the endpoint from ApiService to providerApiService * move provider endpoints to the provider-api class * change the header * resolve some pr comments |
2 years ago |
|
|
06acdefa91
|
[PM-5273] Migrate state in CipherService (#8314)
* PM-5273 Initial migration work for localData
* PM-5273 Encrypted and Decrypted ciphers migration to state provider
* pm-5273 Update references
* pm5273 Ensure prototype on cipher
* PM-5273 Add CipherId
* PM-5273 Remove migrated methods and updated references
* pm-5273 Fix versions
* PM-5273 Added missing options
* Conflict resolution
* Revert "Conflict resolution"
This reverts commit
|
2 years ago |
|
|
576431d29e
|
[PM-5499] auth request service migrations (#8597)
* move auth request storage to service * create migrations for auth requests * fix tests * fix browser * fix login strategy * update migration * use correct test descriptions in migration |
2 years ago |
|
|
8a71b50a5e
|
Initializing masterPasswordService on bw.ts (#8725)
|
2 years ago |
|
|
8d698d9d84
|
[PM-7169][PM-5267] Remove auth status from account info (#8539)
* remove active account unlocked from state service * Remove status from account service `AccountInfo` * Fixup lingering usages of status Fixup missed factories * Fixup account info usage * fixup CLI build * Fixup current account type * Add helper for all auth statuses to auth service * Fix tests * Uncomment mistakenly commented code * Rework logged out account exclusion tests * Correct test description * Avoid getters returning observables * fixup type |
2 years ago |
|
|
2bce6c538c
|
[PM-6194] Refactor injection of services in browser services module (#8380)
* refactored injector of services on the browser service module * refactored the search and popup serach service to use state provider * renamed back to default * removed token service that was readded during merge conflict * Updated search service construction on the cli * updated to use user key definition * Reafctored all components that refernce issearchable * removed commented variable * added uncommited code to remove dependencies not needed anymore * added uncommited code to remove dependencies not needed anymore |
2 years ago |
|
|
9d10825dbd
|
[PM-5362] Add MP Service (attempt #2) (#8619)
* create mp and kdf service * update mp service interface to not rely on active user * rename observable methods * update crypto service with new MP service * add master password service to login strategies - make fake service for easier testing - fix crypto service tests * update auth service and finish strategies * auth request refactors * more service refactors and constructor updates * setMasterKey refactors * remove master key methods from crypto service * remove master key and hash from state service * missed fixes * create migrations and fix references * fix master key imports * default force set password reason to none * add password reset reason observable factory to service * remove kdf changes and migrate only disk data * update migration number * fix sync service deps * use disk for force set password state * fix desktop migration * fix sso test * fix tests * fix more tests * fix even more tests * fix even more tests * fix cli * remove kdf service abstraction * add missing deps for browser * fix merge conflicts * clear reset password reason on lock or logout * fix tests * fix other tests * add jsdocs to abstraction * use state provider in crypto service * inverse master password service factory * add clearOn to master password service * add parameter validation to master password service * add component level userId * add missed userId * migrate key hash * fix login strategy service * delete crypto master key from account * migrate master key encrypted user key * rename key hash to master key hash * use mp service for getMasterKeyEncryptedUserKey * fix tests * fix user key decryption logic * add clear methods to mp service * fix circular dep and encryption issue * fix test * remove extra account service call * use EncString in state provider * fix tests * return to using encrypted string for serialization |
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 |
|
|
6df52262a9
|
Clear provider state on logout (#8563)
|
2 years ago |
|
|
2ff990edd2
|
Update policy service to clear its own state (#8564)
|
2 years ago |
|
|
775c8a1bbe
|
Revert "[PM-5362]Create MP Service for state provider migration (#7623)" (#8617)
This reverts commit
|
2 years ago |
|
|
b1abfb0a5c
|
[PM-5362]Create MP Service for state provider migration (#7623)
* create mp and kdf service * update mp service interface to not rely on active user * rename observable methods * update crypto service with new MP service * add master password service to login strategies - make fake service for easier testing - fix crypto service tests * update auth service and finish strategies * auth request refactors * more service refactors and constructor updates * setMasterKey refactors * remove master key methods from crypto service * remove master key and hash from state service * missed fixes * create migrations and fix references * fix master key imports * default force set password reason to none * add password reset reason observable factory to service * remove kdf changes and migrate only disk data * update migration number * fix sync service deps * use disk for force set password state * fix desktop migration * fix sso test * fix tests * fix more tests * fix even more tests * fix even more tests * fix cli * remove kdf service abstraction * add missing deps for browser * fix merge conflicts * clear reset password reason on lock or logout * fix tests * fix other tests * add jsdocs to abstraction * use state provider in crypto service * inverse master password service factory * add clearOn to master password service * add parameter validation to master password service * add component level userId * add missed userId * migrate key hash * fix login strategy service * delete crypto master key from account * migrate master key encrypted user key * rename key hash to master key hash * use mp service for getMasterKeyEncryptedUserKey * fix tests |
2 years ago |
|
|
a6e178f1e6
|
[PM-5574] sends state provider (#8373)
* Adding the key definitions and tests and initial send state service * Adding the abstraction and implementing * Planning comments * Everything but fixing the send tests * Moving send tests over to the state provider * jslib needed name refactor * removing get/set encrypted sends from web vault state service * browser send state service factory * Fixing conflicts * Removing send service from services module and fixing send service observable * Commenting the migrator to be clear on why only encrypted * No need for service factories in browser * browser send service is no longer needed * Key def test cases to use toStrictEqual * Running prettier * Creating send test data to avoid code duplication * Adding state provider and account service to send in cli * Fixing the send service test cases * Fixing state definition keys * Moving to observables and implementing encryption service * Fixing key def tests * The cli was using the deprecated get method * The observables init doesn't need to happen in constructor * Missed commented out code * If enc key is null get user key * Service factory fix |
2 years ago |
|
|
c202c93378
|
Auth/PM-5268 - DeviceTrustCryptoService state provider migration (#7882)
* PM-5268 - Add DEVICE_TRUST_DISK to state definitions * PM-5268 - DeviceTrustCryptoService - Get most of state provider refactor done - WIP - commented out stuff for now. * PM-5268 - DeviceTrustCryptoServiceStateProviderMigrator - WIP - got first draft of migrator in place and working on tests. Rollback tests are failing for some reason TBD. * PM-5268 - more WIP on device trust crypto service migrator tests * PM-5268 - DeviceTrustCryptoServiceStateProviderMigrator - Refactor based on call with platform * PM-5268 - DeviceTrustCryptoServiceStateProviderMigrator - tests passing * PM-5268 - Update DeviceTrustCryptoService to convert over to state providers + update all service instantiations / dependencies to ensure state provider is passed in or injected. * PM-5268 - Register new migration * PM-5268 - Temporarily remove device trust crypto service from migrator to ease merge conflicts as there are 6 more migrators before I can apply mine in main. * PM-5268 - Update migration numbers of DeviceTrustCryptoServiceStateProviderMigrator based on latest migrations from main. * PM-5268 - (1) Export new KeyDefinitions from DeviceTrustCryptoService for use in test suite (2) Update DeviceTrustCryptoService test file to use state provider. * PM-5268 - Fix DeviceTrustCryptoServiceStateProviderMigrator tests to use proper versions * PM-5268 - Actually fix all instances of DeviceTrustCryptoServiceStateProviderMigrator test failures * PM-5268 - Clean up state service, account, and login strategy of all migrated references * PM-5268 - Account - finish cleaning up device key * PM-5268 - StateService - clean up last reference to device key * PM-5268 - Remove even more device key refs. *facepalm* * PM-5268 - Finish resolving merge conflicts by incrementing migration version from 22 to 23 * PM-5268 - bump migration versions * PM-5268 - DeviceTrustCryptoService - Implement secure storage functionality for getDeviceKey and setDeviceKey (to achieve feature parity with the ElectronStateService implementation prior to the state provider migration). Tests to follow shortly. * PM-5268 - DeviceTrustCryptoService tests - getDeviceKey now tested with all new secure storage scenarios. SetDeviceKey tests to follow. * PM-5268 - DeviceTrustCryptoService tests - test all setDeviceKey scenarios with state provider & secure storage * PM-5268 - Update DeviceTrustCryptoService deps to actually use secure storage svc on platforms that support it. * PM-5268 - Bump migration version due to merge conflicts. * PM-5268 - Bump migration version * PM-5268 - tweak jsdocs to be single line per PR feedback * PM-5268 - DeviceTrustCryptoSvc - improve debuggability. * PM-5268 - Remove state service as a dependency on the device trust crypto service (woo!) * PM-5268 - Update migration test json to correctly reflect reality. * PM-5268 - DeviceTrustCryptoSvc - getDeviceKey - add throw error for active user id missing. * PM-5268 - Fix tests * PM-5268 - WIP start on adding user id to every method on device trust crypto service. * PM-5268 - Update lock comp dependencies across clients * PM-5268 - Update login via auth request deps across clients to add acct service. * PM-5268 - UserKeyRotationSvc - add acct service to get active acct id for call to rotateDevicesTrust and then update tests. * PM-5268 - WIP on trying to fix device trust crypto svc tests. * PM-5268 - More WIP device trust crypto svc tests passing * PM-5268 - Device Trust crypto service - get all tests passing * PM-5268 - DeviceTrustCryptoService.getDeviceKey - fix secure storage b64 to symmetric crypto key conversion * PM-5268 - Add more tests and update test names * PM-5268 - rename state to indicate it was disk local * PM-5268 - DeviceTrustCryptoService - save symmetric key in JSON format * PM-5268 - Fix lock comp tests by adding acct service dep * PM-5268 - Update set device key tests to pass * PM-5268 - Bump migration versions again * PM-5268 - Fix user key rotation svc tests * PM-5268 - Update web jest config to allow use of common spec in user-key-rotation-svc tests * PM-5268 - Bump migration version * PM-5268 - Per PR feedback, save off user id * PM-5268 - bump migration version * PM-5268 - Per PR feedback, remove unnecessary await. * PM-5268 - Bump migration verson |
2 years ago |
|
|
94843bdd8b
|
[PM-5956] Delete Unused State (#8439)
* Delete Unused State * Delete One More * Add Migration to Delete InstalledVersion * Update Error |
2 years ago |
|
|
136226b6be
|
Observable auth statuses (#8537)
* Observable has token * Allow access to user key state observable * Create observable auth status * Fix DI |
2 years ago |
|
|
3d19e3489c
|
[PM-5269] Key Connector state migration (#8327)
* key connector migration initial * migrator complete * fix dependencies * finalized tests * fix deps and sync main * clean up definition file * fixing tests * fixed tests * fixing CLI, Browser, Desktop builds * fixed factory options * reverting exports * implemented UserKeyDefinition clearOn * Update KeyConnector MIgration * updated migrator and tests to match profile object * removed unused service and updated clear * dep fix * dep fixes * clear usesKeyConnector on logout |
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 |
|
|
a66e224d32
|
Auth/PM-7072 - Token Service - Access Token Secure Storage Refactor (#8412)
* PM-5263 - TokenSvc - WIP on access token secure storage refactor * PM-5263 - Add key generation svc to token svc. * PM-5263 - TokenSvc - more progress on encrypt access token work. * PM-5263 - TokenSvc TODO cleanup * PM-5263 - TokenSvc - rename * PM-5263 - TokenSvc - decryptAccess token must return null as that is a valid case. * PM-5263 - Add EncryptSvc dep to TokenSvc * PM-5263 - Add secure storage to token service * PM-5263 - TokenSvc - (1) Finish implementing accessTokenKey stored in secure storage + encrypted access token stored on disk (2) Remove no longer necessary migration flag as the presence of the accessTokenKey now serves the same purpose. Co-authored-by: Jake Fink <jfink@bitwarden.com> * PM-5263 - TokenSvc - (1) Tweak return structure of decryptAccessToken to be more debuggable (2) Add TODO to add more error handling. * PM-5263 - TODO: update tests * PM-5263 - add temp logs * PM-5263 - TokenSvc - remove logs now that I don't need them. * fix tests for access token * PM-5263 - TokenSvc test cleanup - small tweaks / cleanup * PM-5263 - TokenService - per PR feedback from Justin - add error message to error message if possible. Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> --------- Co-authored-by: Jake Fink <jfink@bitwarden.com> Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
f7014a973c
|
[PM-7071] Fallback to Emitting `null` When No Active User (#8486)
* Fallback to Emitting `null` When No Active User * Fix Tests * Update Test Names to Follow Convention Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> * Fix CLI Build --------- Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> |
2 years ago |
|
|
a46767dee2
|
add auth status to auth service (#8377)
* add auth status to auth service * fix auth service factory |
2 years ago |
|
|
e767295c86
|
[PM-5979] Refactor EnvironmentService (#8040)
Refactor environment service to emit a single observable. This required significant changes to how the environment service behaves and tackles much of the tech debt planned for it. |
2 years ago |
|
|
2111b37c32
|
[PM-5404, PM-3518] Migrate user decryption options to new service (#7344)
* create new user decryption options service * rename new service to user decryption options * add hasMasterPassword to user decryption options service * migrate device trust service to new user decryption options service * add migration for user-decryption-options * migrate sync service and calls to trust-device-service * rename abstraction file * migrate two factor component * migrate two factor spec * migrate sso component * migrate set-password component * migrate base login decryption component * migrate organization options component * fix component imports * add missing imports - remove state service calls - add update user decryption options method * remove acct decryption options from account * lint * fix tests and linting * fix browser * fix desktop * add user decryption options service to cli * remove default value from migration * bump migration number * fix merge conflict * fix vault timeout settings * fix cli * more fixes * add user decryption options service to deps of vault timeout settings service * update login strategy service with user decryption options * remove early return from sync bandaid for user decryption options * move user decryption options service to lib/auth * move user decryption options to libs/auth * fix reference * fix browser * check user decryption options after 2fa check * update migration and revert tsconfig changes * add more documentation * clear user decryption options on logout * fix tests by creating helper for user decryption options * fix tests * pr feedback * fix factory * update migration * add tests * update missed migration num in test |
2 years ago |
|
|
ea0035f658
|
[PM-6755] Fix password generation defaults on CLI (#8308)
* Fix minSpecial for pwd generation being set to 1 instead of zero * Use less magic numbers --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> |
2 years ago |
|
|
13e1672c69
|
[PM-6658] Migrate disableFavicon to Domain Settings service and remove Settings service (#8333)
* add showFavicons to domain settings * replace usages of disableFavicon with showFavicons via the domain settings service and remove/replace settings service * create migration for disableFavicon * cleanup |
2 years ago |
|
|
cc28149e60
|
[PM-5572] Event upload and collection state provider migration (#7863)
* event upload and collection state provider migration * cipher can be null when exporting org * Addressing pr comments. Casting UserId from calling methods * fixing userAuth observable in event collection service * Adding more documentation for the changes. * cli needed state provider and account services added * Addressing pr comments on modifying should update * No need to auth on event upload * Simplifying the takeEvents for pulling user events * Reverting shouldUpdate to previous state * Removing redundant comment * Removing account service for event upload * Modifying the shouldUpdate to evaluate the logic outside of the observable * Adding back in the auth for event upload service and adding event upload to the cli logout method * Adding the browser service factories * Updating the browser services away from get background * Removing event collect and upload services from browser services * Removing the audit service import * Adding the event collection migration and migration test * Event collection state needs to be stored on disk * removing event collection from state service and abstraction * removing event collection from the account data * Saving the migrations themselves |
2 years ago |
|
|
c7abdb9879
|
Migrate OrganizationService to StateProvider (#7895)
|
2 years ago |
|
|
b99153a016
|
[AC-2156] Billing State Provider Migration (#8133)
* Added billing account profile state service
* Update usages after removing state service functions
* Added migrator
* Updated bw.ts and main.background.ts
* Removed comment
* Updated state service dependencies to include billing service
* Added missing mv3 factory and updated MainContextMenuHandler
* updated autofill service and tests
* Updated the remaining extensions usages
* Updated desktop
* Removed subjects where they weren't needed
* Refactored billing service to have a single setter to avoid unecessary emissions
* Refactored has premium guard to return an observable
* Renamed services to match ADR
|
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 |
|
|
1d76e80afb
|
Refactor State Providers (#8273)
* Delete A Lot Of Code * Fix Tests * Create SingleUserState Provider Once * Update Manual Instantiations * Fix Service Factory * Delete More * Delete Unused `updatePromise` * `postStorageSave` -> `doStorageSave` * Update Comment * Fix jslib-services |
2 years ago |
|
|
65b7ca7177
|
[PM-5266] Create Avatar Service (#7905)
* rename file, move, and update imports * refactor and implement StateProvider * remove comments * add migration * use 'disk-local' for web * add JSDoc comments * move AvatarService before SyncService * create factory * replace old method with observable in story * fix tests * add tests for migration * receive most recent avatarColor emission * move logic to component * fix CLI dependency * remove BehaviorSubject * cleanup * use UserKeyDefinition * avoid extra write * convert to observable * fix tests |
2 years ago |
|
|
0a595ea95e
|
[PM-5562] Implement Domain Settings state provider (#8226)
* create domain settings state provider * replace callsites for defaultUriMatch and neverDomains with DomainSettingsService equivalents * replace callsites for equivalentDomains with DomainSettingsService equivalents and clean up unused AccountSettingsSettings * add migrations for domain settings state * do not use enum for URI match strategy constants and types * add getUrlEquivalentDomains test * PR suggestions/cleanup * refactor getUrlEquivalentDomains to return an observable Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com> * update tests * add UriMatchStrategy docs notes * service class renames * use service abstraction at callsites previously using service class directly --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: ✨ Audrey ✨ <ajensen@bitwarden.com> |
2 years ago |
|
|
a0e0637bb6
|
[PM-5255, PM-3339] Refactor login strategy to use state providers (#7821)
* add key definition and StrategyData classes * use state providers for login strategies * serialize login data for cache * use state providers for auth request notification * fix registrations * add docs to abstraction * fix sso strategy * fix password login strategy tests * fix base login strategy tests * fix user api login strategy tests * PM-3339 add tests for admin auth request in sso strategy * fix auth request login strategy tests * fix webauthn login strategy tests * create login strategy state * use barrel file in common/spec * test login strategy cache deserialization * use global state provider * add test for login strategy service * fix auth request storage * add recursive prototype checking and json deserializers to nested objects * fix CLI * Create wrapper for login strategy cache * use behavior subjects in strategies instead of global state * rename userApi to userApiKey * pr feedback * fix tests * fix deserialization tests * fix tests --------- Co-authored-by: rr-bw <102181210+rr-bw@users.noreply.github.com> |
2 years ago |
|
|
ddac10136f
|
Fix missed service dependency changes (#8305)
|
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 |
|
|
eedd6f0881
|
[AC-2008] [AC-2123] [Pt 2] Transition PolicyService to use StateProvider (#7977)
* fully wire up StateProvider within PolicyService * migrate old policy data to new location * minor update to existing interfaces |
2 years ago |
|
|
101e1a4f2b
|
Migrate provider service to state provider (#8173)
* Migrate existing provider data to StateProvider Migrate existing provider data to StateProvider * Rework the ProviderService to call StateProvider * Unit test the ProviderService * Update DI to reflect ProviderService's new args * Add ProviderService to logout chains across products * Remove provider related stateService methods * Update libs/common/src/state-migrations/migrations/28-move-provider-state-to-state-provider.spec.ts Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * Cover up a copy/paste job * Compare equality over entire array in a test --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
2 years ago |
|
|
c3eba7f2c8
|
[PM-6404] Fully Integrate `clearOn` Events (#8134)
* Add New KeyDefinitionOption * Add New Services * Add WebStorageServiceProvider Tests * Update Error Message * Add `UserKeyDefinition` * Fix Deserialization Helpers * Fix KeyDefinition * Add `UserKeyDefinition` * Fix Deserialization Helpers * Fix KeyDefinition * Move `ClearEvent` * Cleanup * Fix Imports * Integrate onClear Events * Remove Accidental Addition * Fix Test * Add VaultTimeoutService Tests * Only Register When Current State is Null * Address Feedback |
2 years ago |
|
|
b691b6b1d6
|
[PM-6484] Revert "[PM-5277] Migrate Sync Service to State Provider (#7680)" (#8157)
* Revert "[PM-5277] Migrate Sync Service to State Provider (#7680)"
This reverts commit
|
2 years ago |
|
|
ad21a1d160
|
[AC-2249] Remove StateService from PolicyApiService (#8106)
This was unused. |
2 years ago |
|
|
5677d6265e
|
Ps/pm 5537/move biometric unlock to state providers (#8099)
* Establish biometric unlock enabled in state providers * Use biometric state service for biometric state values * Migrate biometricUnlock * Fixup Dependencies * linter and import fixes * Fix injection * Fix merge * Use boolean constructor as mapper * Conform to documented test naming conventions * Commit documentation suggestion Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> * Fix merge commit * Fix test names --------- Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com> |
2 years ago |
|
|
7674a3ff5b
|
Remove biometrics from CLI (#8102)
|
2 years ago |
|
|
0a5c9d3525
|
[AC-2008] [AC-2122] [Pt 1] Transition PolicyService to use StateProvider (#7959)
* Delete unnecessary StateDefinition * Add StateProvider to PolicyService * Add new getters using StateProvider (not exposed or used yet) |
2 years ago |
|
|
1435203e12
|
[PM-5499] Create Auth Request Service (#8056)
* create auth request service * copy methods from auth crypto service * register new auth request service * remove refs to auth request crypto service * remove auth request crypto service * remove passwordless login method from login strategy service * add docs to auth request service |
2 years ago |
|
|
9775e77079
|
[PM-5537] Migrate Biometric Prompts (#7771)
* Fix nextMock arguments
* Add state for biometric prompts
* Use biometric state for prompts
* Migrate biometric prompt data
* wire up biometric state to logouts
* Add migrator to migrate list
* Remove usages of prompt automatically
Explicitly list non-nulled state as intentional
* `npm run prettier` 🤖
* Fix web lock component
|
2 years ago |
|
|
19a373d87e
|
[PM-6211] Create key generation service (#7939)
* create key generation service * replace old key generation service and add references * use key generation service in key connector service * use key generation service in send service * user key generation service in access service * use key generation service in device trust service * fix tests * fix browser * add createKeyFromMaterial and tests * create ephemeral key * fix tests * rename method and add returns docs * ignore material in destructure * modify test * specify material as key material * pull out magic strings to properties * make salt optional and generate if not provided * fix test * fix parameters * update docs to include link to HKDF rfc |
2 years ago |
|
|
3edf098aaf
|
PM-5274 Migrate Collection Service State (#7732)
* update collection service to use new state provider framework, remove stateservice from collection service, update collections state provider with migrate file and unit test |
2 years ago |
|
|
1ff7bdd014
|
[PM-6172] Run `localStorage` migrations for web (#7900)
* Create MigrationRunner - Create MigrationRunner Service for running migrations in StateService - Create web override so that migrations also run against `localStorage` * Fix Web StateService * Fix WebMigrationRunner * Fix CLI * Fix ElectronStateService * Update Comment * More Common Scenarios |
2 years ago |
|
|
9980c3feb9
|
[PM-5459] Move libs/exporter to libs/tools/ (#7380)
* Move libs/exporter into libs/tools/* Migrating all files from libs/exporter over to libs/tools/export/vault-export/vault-export-core Rename package to vault-export-core Fix all file paths * Update libs and tsconfig imports * Fix client imports * Fix eslint, jest and package-lock.json * Update CODEOWNERS * Add README.md to whitelist-capital-letters * Fix vault-export-service tests not running * Update libs/tools/export/vault-export/README.md Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> * Fix types imports * Export types from vault-export-core * Fixed content of README --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> |
2 years ago |
|
|
c65e92f769
|
[PM-5560] Implement Autofill Settings state provider (#7767)
* Begin migration of autofill settings Co-authored-by: Cesar Gonzalez <cagonzalezcs@users.noreply.github.com> Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com> Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com> Co-authored-by: Colton Hurst <coltonhurst@users.noreply.github.com> * add browser dependency for AutofillSettingsService Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * update autofill settings service * replace usages of stateService get/set autofillOnPageLoad with autofillSettingsService * replace usages of stateService get/set autofillOnPageLoadDefault with autofillSettingsService * replace usages of stateService get/set autoCopyTotp with autofillSettingsService * replace usages of stateService get/set autoFillOnPageLoadCalloutIsDismissed with autofillSettingsService * replace usages of stateService get/set activateAutoFillOnPageLoadFromPolicy with autofillSettingsService * replace usages of get/set autoFillOverlayVisibility with autofillSettingsService * inlineMenuVisibility should use global state * add the AutofillSettingsService to background scripts * fix typing * replace additional usages of get/set autoFillOverlayVisibility and disableAutoTotpCopy with autofillSettingsService equivalents * replace additional usages of get/set autofillOnPageLoadDefault with autofillSettingsService equivalent * replace additional usages of get/set activateAutoFillOnPageLoadFromPolicy with autofillSettingsService equivalent * remove additional deprecated and unused state service calls * improve naming conventions and consistency * fix missing mock for policy service test * replace missing overlay background tests * cleanup * fix double inversion * fix reference to wrong setter * move handleActivateAutofillPolicy out of BrowserPolicyService * create state migration script * resolve linting issues * remove migrated setting properties * add AutofillSettingsSErvice to jslib-services * handle conditional content script loading via autofillOnPageLoad check * add deprecated note to getFromLocalStorage * add jsdoc decorators to new autofill service methods * handle undefined globalState * move autofill settings out of BrowserPolicyService * Move autofill settings code out of policyService * fix tests * fix typo in state definition --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> Co-authored-by: Cesar Gonzalez <cagonzalezcs@users.noreply.github.com> Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com> Co-authored-by: Colton Hurst <coltonhurst@users.noreply.github.com> Co-authored-by: Thomas Rittson <trittson@bitwarden.com> |
2 years ago |
|
|
bb031f6779
|
[PM-2311] Allow empty passphrase separator (#5473)
* Change passphrase generator's default wordSeparator to the empty string '' * Create DefaultPassphraseGenerationOptions * Use DefaultPassphraseGenerationOptions.wordSeparator in passphrase generation * Add `empty` separator option to passphrase generator CLI and an example * Change DefaultPassphraseGenerationOptions numWords to 3 * Use `DefaultPassphraseGenerationOptions.numWords` in CLI passphrase gen |
2 years ago |
|
|
b3135403e8
|
Wire up key definitions for OrganizationService (#7781)
* Wire up key definitions for OrganizationService [`AC-2009`: Transition OrganizationService to use StateProvider]( https://bitwarden.atlassian.net/browse/AC-2009) In order to support the new `StateProvider` APIs for managing application state this commit modifies `OrganizationService` in the following ways: 1. Adding a `KeyDefinition` object to `OrganizationService` to store the `organization` record in `StateProvider`. 1. Injecting `StateProvider` and wiring up `OrganizationService` to read from the `organizations` key definition for the active user account. 1. Expanding the capabilities of `OrganizationData` to be able to read itself from a JSON string. Previously this was handled directly by `StateService`. 1. Updating tests to include requirements for testing against `StateProvider`. 1. Marking the existing `StateService`-backed `organizations` `Observable` and `BehaviorSubject` as deprecated. This is largely unimplemented code with no intended visible effects to the system. Implementing getting & updating the `organizations` value from `StateProvider` will the next step in this work. * Rework null check on OrganizationData * Remove deprecation signals for the time being * Move key definition inline with its service * Create date objects when deserialzing json from state |
2 years ago |
|
|
78008a9e1e
|
[PM-5277] Migrate Sync Service to State Provider (#7680)
* [PM-5277] Introduce lastSync state via State Providers * [PM-5277] Add migrator and tests * [PM-5277] Use memory for web storage location * [PM-5277] Remove lastSync methods from state service * [PM-5277] Remove lastSync from AccountProfile * [PM-5277] Use string instead of Date to fix serialization for chrome.storage API in Browser * [PM-5277] Only set account if lastSync was deleted during migration * [PM-5277] Fix spec file |
2 years ago |
|
|
7e00ece092
|
[PM-5276] Migrate FolderService to state providers (#7682)
* added state definitionand key definition for folder service * added data migrations * created folder to house key definitions * deleted browser-folder-service and added state provider to the browser * exposed decrypt function so it can be used by the key definition, updated folder service to use state provider * removed memory since derived state is now used * updated test cases * updated test cases * updated migrations after merge conflict fix * added state provider to the folder service constructor * renamed migration file * updated comments * updated comments * removed service registartion from browser service module and removed unused set and get encrypted folders from state service * renamed files * added storage location overides and removed extra methods |
2 years ago |
|
|
816bcf4f39
|
[PM-5255] Create login strategy service (#7750)
* refactor login strategies into own service * create login service factory * replaces instances of authService with loginStrategyService * replace more instances of authService * move logout back to auth service * add browser dependencies * fix desktop dependencies * fix cli dependencies * fix lint and test files * fix anonymous hub deps * fix webauthn-login service deps * add loginstrategyservice to bg * move login strategy service and models to auth folder * revert changes to tsconfig * use alias for imports * fix path --------- Co-authored-by: rr-bw <102181210+rr-bw@users.noreply.github.com> |
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 |
|
|
83812d471c
|
[deps] Vault: Update commander to v11 (#7329)
* [deps] Vault: Update commander to v11 * [deps] Vault: Update commander to v11 * [deps] Vault: Update commander to v11 * [deps] Vault: Update commander to v11 * removed unused interfaces * fix shell completions (#7756) --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: gbubemismith <gsmithwalter@gmail.com> Co-authored-by: tangowithfoxtrot <5676771+tangowithfoxtrot@users.noreply.github.com> Co-authored-by: SmithThe4th <gsmith@bitwarden.com> |
2 years ago |
|
|
1da6733e71
|
JSON stringify memory items (#7731)
* JSON stringify memory items stringification is required so they can be reliably sent through messaging * Simplify null handling |
2 years ago |
|
|
d5de9cbeb2
|
[AC-1492] Split export service (#7462)
* Split export service into vault and org export service * Changed CLI logic to use split export logic * correct unit tests * Created individual export service, export service making the calls for org and ind vault * Improved code readability * Merged PasswordProtectedExport with Export methods to simplify calls * Some small refactor * [AC-1492] Managed collections export (#7556) * Added managed collections export method Added logic to show orgs on export that the user can export from * Merge branch 'tools/AC-1492/split-export-services' into tools/AC-1492/export-flexible-collections # Conflicts: # apps/web/src/app/admin-console/organizations/tools/vault-export/org-vault-export.component.ts # apps/web/src/app/tools/vault-export/export.component.ts * Change export to use new organization.flexiblecollection flag * Little refactor changing parameter names and reduzing the size of export.component.ts ngOnInit * Removed unused service from export constructor and removed unnecessary default value from org export service parameter * Simplified organizations selection for vault export to only verify if it has flexiblecollections * removed unecessary services from ExportComponent constructor on popup * Fixed possible race condition on managed export |
2 years ago |
|
|
2c1d215b71
|
Auth/PM-5242 - Create new User Verification dialog and form input components which support PIN and biometrics verification (#7536)
* PM-5242 - First working draft of copying out web CL implementation of user verification form and dialog components into standalone libs/auth components which could be used in any client. * PM-5242 - Rename UserVerificationFormComponent to UserVerificationFormInputComponent b/c it doesn't actually have a form and is meant to slot into a form as an input. * PM-5242 - Update libs/auth angular index to take renamed component into account * PM-5242 - Clean up UserVerificationDialogComponent as have much cleaner design approach now (maintain existing func while simply adding new requirements for client side validation for passkeys) * PM-5242 - UserVerificationFormInput component - WIP draft of new client and server split of user verification logic * PM-5242 - UserVerificationFormInput - WIP - Lots of progress on client side verification layout - more to do * PM-5242 - UserVerificationFormInputComponent - Add hasMultipleVerificationMethods property so we can only show alternate methods if user has them. * PM-5242 - UserVerificationFormInputComponent - rename hasMultipleVerificationMethods to hasMultipleClientVerificationOptions * PM-5242 - Add new user verification biometrics fingerprint icon with proper secondary fill so it displays properly on all themes. * PM-5242 - Create enum for tracking client user verification states * PM-5242 - UserVerificationFormInputComponent - WIP - (1) Got biometrics layout working except for error state (2) Emitting active client verification option and biometrics result to dialog (3) Properly identifying if biometrics is enabled in a platform agnostic way (4) Translations TODO * PM-5242 - UserVerificationDialogComponent - (1) Wire up new inputs and outputs for UserVerificationFormInput (2) Don't show submit button when clientside biometrics verification active * PM-5242 - UserVerificationFormInputComponent - wired up biometrics failure and retry handling + re-arranged comp properties to put inputs & outputs at the top * PM-5242 - UserVerificationFormInput component - Add logic to prevent currently active client verification method from being shown an option * PM-5242 - UserVerificationFormInput - adjust margins * PM-5242 - User verification dialog and form input comps - replace Verification with VerificationWithSecret type where applicable * PM-5242 - UserVerificationFormComp - Default to server for backwards compatibility and to avoid requiring the input at all * PM-5242 - UserVerificationFormInputComp - (1) Rename processChanges to processSecretChanges (2) Short circuit processSecretChanges when biometrics is active (3) Add new function for determining type of verification that has a secret. * PM-5242 - UserVerificationDialog - Support custom, optional callout in dialog body. * PM-5242 - UserVerificationDialogComp - support custom confirm button text and type. * PM-5242 - UserVerificationDialog - Add user verification dialog result type to allow for handling all possible verification scenarios * PM-5242 - UserVerificationFormInputComp - tweak comment * PM-5242 - UserVerificationFormInput comp html - add placeholder text for no client verifications found scenario * PM-5242 - UserVerificationDialogComponent - (1) Add confirm & cancel to dialog result (2) Add cancel method vs using bitDialogClose for specificity (3) Adjust naming of output property to properly specify that it is scoped to client verification (4) Adjust layout of dialog html to handle when no client side verification methods are found. * PM-5242 - UserVerificationFormInput - Clean up test code * PM-5242 - UserVerificationFormInput - For server verification, we don't need to check if the user has a local master key hash as we will generate a hash to send to the server for comparison. * PM-5242 - UserVerificationFormInput html - Remove now unnecessary dev warning as I've provided a default * PM-5242 - UserVerification Dialog & Form Input - add translations on all clients for all visible text. * PM-5242 - UserVerificationFormInput html - remove no active client verification handling from form input comp as it is instead emitted upwards to parent dialog component to be handled there. * PM-5242 - UserVerificationDialogComp - (1) Make UserVerificationDialogResult.noAvailableClientVerificationMethods optional because it isn't needed in cancel flows (thanks Will) (2) Modify static open to intercept closed observable event in order to always return a UserVerificationDialogResult as BitDialog returns empty string when the user clicks the x * PM-5242 - UserVerificationDialogComp - Simplify dialog param names to remove redundant dialog * PM-5242 - UserVerificationDialogParams - update comments to match new names * PM-5242 - UserVerificationDialog Storybook - WIP first draft * PM-5242 - UserVerificationDialogStoryComponent - WIP - try out having imports the same as the standalone component * PM-5242 - UserVerificationDialogStoryComponent - more WIP - building now - some stuff displaying * PM-5242 - UserVerificationDialogStoryComponent - some progress on providers setup * PM-5242 - Not going to use storybook for user verification dialog * PM-5242 - UserVerificationDialogComp - move types into own file + add docs * PM-5242 - Update auth index to export user-verification-dialog.types * PM-5242 - UserVerificationFormInput & UserVerificationService - Extract out getAvailableVerificationOptions logic into service * PM-5242 -UserVerificationDialogComponent - Update close logic to handle escape key undefined scenario * PM-5242 - UserVerificationFormInput - add getInvalidSecretErrorMessage for properly determining invalid secret translation * PM-5242 - UserVerificationDialogComp - Refactor submit logic to handle different return methodologies in existing MP and OTP user verification service code vs new PIN flow (e.g., throwing an error instead of returning false) * PM-5242 - PinCryptoService - change error logs to warnings per discussion with Justin * PM-5242 - UserVerificationFormInput - Biometrics flow on desktop - remove accidentally added period in couldNotCompleteBiometrics translation key. * PM-5242 - UserVerificationFormInput HTML - Re-arrange order of other client verification options to match design * PM-5242 - UserVerificationFormInputComponent - Reset inputs as untouched on change of client verification method. * PM-5242 - UserVerificationDialogComponent - Remove TODO as existing secret change logic turns invalidSecret false when biometrics is swapped to. * PM-5242 - UserVerificationFormInputComponent - getInvalidSecretErrorMessage - fix PIN error message not being returned. * PM-5242 - UserVerificationDialogComponent - Add documentation and examples to open method. * PM-5242 - UserVerificationDialogComponent - tweak open docs * PM-5242 - Remove accidental period from translation keys on browser & web * PM-5242 - UserVerificationFormInputComponent - OTP flow needed button module to work * PM-5242 - UserVerificationDialogParams - Add docs explaining that noAvailableClientVerificationMethods is only for desktop & browser. * PM-5242 - User-verification-form-input - Adjust layout to meet new design requirements - (1) On load, send OTP without user clicking a button (2) Allow resending of the codes (3) show a code sent message for 3 seconds * PM-5242 - Browser User Verification - Instantiate PinCryptoService and UserVerification service AFTER instantiating vaultTimeoutSettingsService so that it isn't undefined at run time. * PM-5242 - JslibServices Module - UserVerificationService - add missing PlatformUtilsServiceAbstraction dependency. * PM-5242 - Desktop Native Messaging Service - Wrap biometric getUserKeyFromStorage call in try catch because it throws an error if the user cancels the biometrics prompt and doesn't send a response to the browser extension when using the biometrics unlock bridge to the desktop app and OS. * PM-5242 - Browser Extension - NativeMessagingBackground - if the desktop biometricUnlock command is executed with a canceled (not adjusting misspelling to keep side effects at a min) response, don't bother continuing. * PM-5242 - BrowserCryptoService - When retrieving the user key via desktop biometrics, return null for user key if the user fails or cancels the biometrics prompt. Otherwise, if there is a user key in memory after unlock, biometrics user verification will always just return the user key from state regardless of if the user has successfully passed the biometrics prompt or not. * PM-5242 - BrowserCryptoService - extra comments * PM-5242 - Clean up translations - (1) Remove unused defaultUserVerificationDialogConfirmBtnText (2) Refactor name of defaultUserVerificationDialogTitle to just be verificationRequired which matches existing naming conventions. * PM-5242 - CLI - fix order of service instantiations to ensure that vaultTimeoutSettingsService isn't undefined for PinCryptoService and UserVerificationService * PM-5242 - Rename UserVerificationDialogParams to UserVerificationDialogOptions to match existing naming conventions of other CL comps. * PM-5242 - UserVerificationDialogComponent - dialogParams renamed to dialogOptions * PM-5242 - UserVerificationService Abstraction - Per PR feedback, use keyof for verificationType * PM-5242 - UserVerificationBiometricsIcon - Per PR feedback, use https://jakearchibald.github.io/svgomg/ to optimize SVG by 50%. * PM-5242 - Per PR feedback, clarify UserVerificationDialogOptions.clientSideOnlyVerification comment. * PM-5242 - UserVerificationTypes - Add comments clarifying all text passed to the UserVerificationDialog are translation keys * PM-5242 - UserVerificationDialogComp - fix extra new line per PR feedback * PM-5242 - UserVerificationDialogTypes - per PR feedback and discussion with Will M., export ButtonType from CL so we (and consumers of the dialog) can properly import it via standard CL import. * PM-5242 - BrowserCryptoService - Adjust comments per PR feedback. * PM-5242 - UserVerificationDialogComponent - make ActiveClientVerificationOption readonly as it only for component html * PM-5242 - UserVerificationDialogComp html - finish comment * PM-5242 - BrowserCryptoService - add returns js doc per PR feedback. * PM-5242 - UserVerificationDialogComponent - per PR feedback, add unexpected error toast. * PM-5242 - UserVerificationService - getAvailableVerificationOptions - update params to use keyof like abstraction * PM-5242 - Mark all existing client specific implemetations of user verification as deprecated. |
2 years ago |
|
|
c1d5351075
|
[PM-5535] Migrate Environment Service to StateProvider (#7621)
* Migrate EnvironmentService * Move Migration Test Helper * Claim StateDefinition * Add State Migration * Update StateServices * Update EnvironmentService Abstraction * Update DI * Update Browser Instantiation * Fix BrowserEnvironmentService * Update Desktop & CLI Instantiation * Update Usage * Create isStringRecord helper * Fix Old Tests * Use Existing AccountService * Don't Rely on Parameter Mutation * Fix Conflicts |
2 years ago |
|
|
756c02cec2
|
Auth/PM-4596 - Extract PIN and Biometrics unlock method logic into re-useable services for user verification (#7107)
* PM-4596 - PinCryptoService first draft * PM-4596 - PinCryptoService - Refactor pinKeyEncryptedKey retrievals out into own method getPinKeyEncryptedKeys * PM-4596 - npm ci + npm run prettier to fix lint issues * PM-4596 - PinCryptoService - Add kdf types * PM-4596 - PinCryptoService - Refactor pin validation into own helper method. * PM-4596 - Rename pin-crypto.service.ts to pin-crypto.service.implementation.ts * PM-4596 - PinCryptoService - add additional logging for error states. * PM-4596 - JslibServicesModule - register new PinCryptoService and PinCryptoServiceAbstraction * PM-4596 - PinCryptoService - modify decryptUserKeyWithPin signature to not require email to match MP verification process in user verification service. * PM-4596 - Lock components - use new PinCryptoService.decryptUserKeyWithPin(...) to get user key + refactor base comp unlock with pin method to improve * PM-4596 - Lock component - if too many invalid attempts, added toast explaining that we were logging the user out due to excess PIN entry attempts * PM-4596 - UserVerificationService - (1) Refactor verifyUser(...) to use switch + separate methods for a cleaner parent method + better extensibility for PIN & biometrics which are TBD (2) Add PIN support to validateInput(...) * PM-4596 - UserVerificationService - add PIN and biometrics functions to verifyUser(...) * PM-4596 - PinCryptoService Spec - start test file - instantiates properly * PM-4596 - PinCryptoService tests - WIP * PM-4596 - PinCryptoService tests - WIP - got success cases working * PM-4596 - pin-crypto.service.implementation.spec.ts renamed to pin-crypto.service.spec.ts * PM-4596 - PinCryptoService.getPinKeyEncryptedKeys(...) - add comment + var name change for clarity * PM-4596 - PinCryptoService tests - test invalid, null return scenarios * PM-4596 - CLI - bw.ts - update UserVerificationService instantiation to include new pinCryptoService * PM-4596 - PinCryptoService - import VaultTimeoutSettingsServiceAbstraction instead of implementation for factory creation to get browser building * PM-4596 - (1) Create pinCryptoServiceFactory for browser background (2) Add it to the existing userVerificationServiceFactory * PM-4596 - Browser - Main.background.ts - Add pinCryptoService and add to userVerificationService dependencies * PM-4596 - UserVerificationService - per PR feedback simplify returns of verifyUserByPIN(...) and verifyUserByBiometrics(...) * PM-4596 - Messages.json on desktop & browser - per PR feedback, adjust tooManyInvalidPinEntryAttemptsLoggingOut translation text to remove "you" * PM-4596 - VerificationType enum - fix line copy mistake and give BIOMETRICS own, unique value. * PM-4596 - VerificationType - rename BIOMETRICS to Biometrics to match existing MasterPassword value case. * PM-4596 - Update verification type to consider whether or not a secret exists as we have added a new verification which doesn't have a type. Add new server and client side verification types. Update all relevant code to pass compilation checks. * PM-4596 - More verification type tweaking * PM-4596 - Verification - verificationHasSecret - tweak logic to be more dynamic and flexible for future verification types * PM-4596 - UpdateTempPasswordComp - use new MasterPasswordVerification * PM-4596 - Desktop - DeleteAcctComp - use VerificationWithSecret to solve compile error w/ accessing secret * PM-4596 - Per discussions with Andreas & Will, move new Pin Crypto services into libs/auth + added @bitwarden/auth path to CLI tsconfig + added new, required index.ts files for exporting service abstractions & implementations * PM-4596 - Fixed missed import fixes for lock components across clients for pin crypto service after moving into @bitwarden/auth * PM-4596 - More PinCryptoService import fixes to get browser & desktop building * PM-4596 - Update desktop lock comp tests to pass by providing new pin crypto service. * PM-4596 - User verification service -update todo * PM-4596 - PinCryptoService - per PR feedback, fix auto import wrong paths. * PM-4596 - PinCryptoService tests - fix imports per PR feedback * PM-4596 - UserVerificationSvc - rename method to validateSecretInput per PR feedback * Fix imports * PM-4596 - PinCryptoService - Refactor naming for clarity and move test cases into describes per PR feedback * reorg libs/auth; expose only libs/auth/core to cli app * PM-4596 - UserVerification - Resolve import issue with importing from libs/auth. Can't use @bitwarden/auth for whatever reason. * PM-4596 - Fix desktop build by fixing import * PM-4596 - Provide PinCryptoService to UserVerificationService * PM-4596 - PinCryptoServiceFactory - you cannot import services from @bitwarden/auth in the background b/c it brings along the libs/auth/components and introduces angular into the background context which doesn't have access to angular which causes random test failures. So, we must separate out the core services just like the CLI to only bring along the angular agnostic services from core. * PM-4596 - Refactor libs/auth to have angular / common + update all imports per discussion with Matt & Will. Introduced circular dep between PinCryptoService + VaultTimeoutSettingsService + UserVerificationService * PM-4596 - VaultTimeoutSettingsService - Refactor UserVerificationService out of the service and update all service instantiations and tests. The use of the UserVerificationService.hasMasterPassword method no longer needs to be used for backwards compatibility. This resolves the circular dependency between the PinCryptoService, the UserVerificationService, and the VaultTimeoutSettingsService. We will likely refactor the hasMasterPassword method out of the UserVerificationService in the future. * PM-4596 - Update CL tsconfig.libs.json to add new auth/common and auth/angular paths for jslib-services.module imports of pin crypto service to work and for test code coverage to run successfully. * PM-4596 - Address PR feedback * PM-4596 - Update root tsconfig (only used by storybook) to add new libs/auth paths to fix chromatic build pipeline. * PM-4596 - Actually update tsconfig with proper routes to fix storybook * PM-4596 - UserVerificationService - verifyUserByBiometrics - add error handling logic to convert failed or cancelled biometrics verification to a usable boolean * PM-4596 - Add missing await * PM-4596 - (1) Add log service and log to user verification service biometric flow to ensure errors are at least revealed to the console (2) Fix factory missing PinCryptoServiceInitOptions * PM-4596 - Use the correct log service abstraction * PM-4596 - Remove unused types per PR review --------- Co-authored-by: William Martin <contact@willmartian.com> |
2 years ago |
|
|
48643e45ea
|
[AC-1893] Removed logic to downgrade Manager roles and remove Edit/Delete any collection permissions for Flexible Collections (#7365)
|
2 years ago |
|
|
46a3834f46
|
Add state for everHadUserKey (#7208)
* Migrate ever had user key * Add DI for state providers * Add state for everHadUserKey * Use ever had user key migrator Co-authored-by: SmithThe4th <gsmithwalter@gmail.com> Co-authored-by: Carlos Gonçalves <LRNcardozoWDF@users.noreply.github.com> Co-authored-by: Jason Ng <Jcory.ng@gmail.com> * Fix test from merge * Prefer stored observables to getters getters create a new observable every time they're called, whereas one set in the constructor is created only once. * Fix another merge issue * Fix cli background build --------- Co-authored-by: SmithThe4th <gsmithwalter@gmail.com> Co-authored-by: Carlos Gonçalves <LRNcardozoWDF@users.noreply.github.com> Co-authored-by: Jason Ng <Jcory.ng@gmail.com> |
2 years ago |
|
|
5e11cb212d
|
Combined State (#7383)
* Introduce Combined State * Cleanup Test * Update Fakes * Address PR Feedback * Update libs/common/src/platform/state/implementations/default-active-user-state.ts Co-authored-by: Matt Gibson <mgibson@bitwarden.com> * Prettier * Get rid of ReplaySubject reference --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
2 years ago |
|
|
06affa9654
|
Rework derived state (#7290)
* Remove derived state from state classes * Create provider for derived state Derived state is automatically stored to memory storage, but can be derived from any observable. * Fixup state provider method definitions * Test `DefaultDerivedState` * remove implementation notes * Write docs for derived state * fixup derived state provider types * Implement buffered delayUntil operator * Move state types to a common module * Move mock ports to centra location * Alias DerivedStateDependency type * Add dependencies to browser * Prefer internal rxjs operators for ref counting * WIP * Ensure complete on subjects * Foreground/background messaging for browser Defers work for browser to the background * Test foreground port behaviors * Inject foreground and background derived state services * remove unnecessary class field * Adhere to required options * Add dderived state to CLI * Prefer type definition in type parameters to options * Prefer instance method * Implements factory methods for common uses * Remove nothing test * Remove share subject reference Share manages connector subjects internally and will reuse them until refcount is 0 and the cleanup time has passed. Saving our own reference just risks memory leaks without real testability benefits. * Fix interaction state |
2 years ago |
|
|
1c876bea55
|
Getting the WebVault url before returning the send on cli's remove password command (#7382)
|
2 years ago |
|
|
c16d0b29fa
|
Register `StateProvider` in non DI clients (#7280)
* Add StateProvider and All to Browser Background * Add State Provider and All to CLI * Move EncryptService above its first usage |
3 years ago |
|
|
6199e58532
|
fix: list items lock race (#7133)
Co-authored-by: Tom <144813356+ttalty@users.noreply.github.com> |
3 years ago |
|
|
483a197e4d
|
[AC-1139] Flexible collections: deprecate Manage/Edit/Delete Assigned Collections custom permissions (#6906)
* [AC-1139] Add new layout for MemberDialogComponent when FC feature flag is enabled * [AC-1139] Deprecated Organization canEditAssignedCollections, canDeleteAssignedCollections, canViewAssignedCollections * [AC-1139] Checking if FC feature flag is enabled when using canDeleteAssignedCollections or canViewAssignedCollections * [AC-1139] Added missing parameter to customRedirect * [AC-1139] Fixed canEdit permission * [AC-1139] Fixed CanDelete logic * [AC-1139] Changed canAccessVaultTab function to receive configService * Override deprecated values on sync * [AC-1139] Reverted change that introduced ConfigService as a parameter to canAccessVaultTab * [AC-1139] Fixed circular dependency * [AC-1139] Moved overriding of deprecated values to syncService * Revert "[AC-1139] Fixed circular dependency" This reverts commit |
3 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 |
|
|
161c1c63ff
|
Auth/PM-3275 - Changes to support TDE User without MP being able to Set a Password (#6281)
* PM-3275 - Policy.service - Refactor existing mapPoliciesFromToken internal logic to provide public mapPolicyFromResponse method * PM-3275 - Add new PolicyApiService.getMasterPasswordPolicyOptsForOrgUser method for use in the set password comp * PM-3275 - Update set-password.comp to use new policyApiService.getMasterPasswordPoliciesForInvitedUsers method * PM-3275 - (1) Remove post TDE AuthN set password routing logic from SSO/2FA comps as we cannot set an initial user password until after decryption in order to avoid losing the ability to decrypt existing vault items (a new user key would be created if one didn't exist in memory) (2) Add set password routing logic post TDE decryption in LoginWithDevice/Lock components (3) Add new ForceResetPasswordReason to capture this case so that we can guard against users manually navigating away from the set password screen * PM-3275 - SyncSvc - Add logic for setting forcePasswordReset reason if TDE user w/out MP went from not having MP reset permission to having it. * PM-3275 - Rename ForceResetPasswordReason enum to ForceSetPasswordReason + update all references. * PM-3275 - Removing client deprecated calls to getPoliciesByInvitedUser and helper call getMasterPasswordPoliciesForInvitedUsers * PM-3275 - PolicyAPI service - remove no longer necessary getPoliciesByInvitedUser method * PM-3275 - LockComp - TODO cleanup * PM-3275 - SSO & 2FA comp - cleanup of incorrect routing path * PM-3275 - (1) State service refactor - change getForcePasswordResetReason / setForcePasswordResetReason to be getForceSetPasswordReason / setForceSetPasswordReason (2) Sync Service - encapsulate setForceSetPasswordReasonIfNeeded logic into own method * PM-3275 - SetPassword Comp - Rename "identifier" to be "orgSsoIdentifier" for clarity * PM-3275 - SetPasswordComp - Moving routing from SSO / 2FA comps to Lock / LoginWithDevice comps results in a loss of the the OrgSsoId. However, as part of the TDE work, we added the OrgSsoId to state so use that as a fallback so we can accurately evaluate if the user needs to be auto enrolled in admin account recovery. * PM-3275 - SetPasswordComp - add a bit more context to why/when we are reading the user org sso id out of state * PM-3275 - SetPassword Comp - (1) Add forceSetPasswordReason and ForceSetPasswordReason enum as public props on the class so we can change copy text based on which is set + set forceSetPasswordReason on ngOnInit (2) Refactor ngOnInit to use a single RxJs observable chain for primary logic as the auto enroll check was occurring before the async getUserSsoOrganizationIdentifier could finish. * PM-3275 - Desktop - App comp - missed replacing getForcePasswordResetReason with getForceSetPasswordReason * PM-3275 - TDE Decryption Option Comps - must set ForceSetPasswordReason so that we can properly enforce keeping the user on the component + display the correct copy explaining the scenario to the user. * PM-3275 - All Clients - SetPasswordComp html - Update page description per product + remove no longer used ssoCompleteRegistration translation. * PM-3275 - SetPasswordComp - hopefully the final puzzle piece - must clear ForceSetPasswordReason in order to let user navigate back to vault. * PM-3275 - SyncService - Remove check for previous value of account decryption options hasManageResetPasswordPermission as when a user logged in on a trusted device after having their permissions updated, the initial setting would be true and it would cause the flag to NOT be set when it should have. * PM-3275 - TDE User Context - (1) Remove explicit navigation to set password screen from post decryption success scenarios on lock & login w/ device comps (2) Move TdeUserWithoutPasswordHasPasswordResetPermission flag setting to SSO / 2FA components to support both trusted and untrusted device scenarios (both of which are now caught by the auth guard). * PM-3275 - (1) SetPassword comp - adjust set password logic for TDE users to avoid creating a new user asymmetric key pair and setting a new private key in memory. (2) Adjust SetPasswordRequest to allow null keys * PM-3275 - Remove unused route from login with device comp * PM-3275 - Sso & 2FA comp tests - Update tests to reflect new routing logic when TDE user needs to set a password * PM-3275 - Lock comp - per PR feedback, remove unused setPasswordRoute property. * PM-3275 - SetPasswordComp - Per PR feedback, use explicit null check * PM-3275 - Per PR Feedback, rename missed forcePasswordResetReason to be forceSetPasswordReason on account model * PM-3275 - Auth guard - rename forcePasswordResetReason to forceSetPasswordReason * PM-3275 - SSO / 2FA comps - Per PR feedback, refactor Admin Force Password reset handling to be in one place above the TDE user flows and standard user flows as it applies to both. * PM-3275 - Per PR feedback, clarify 2FA routing comment * PM-3275 - Per PR feedback, update set-password comp ngOnInit switchMaps to just return promises as switchMap converts promises to observables internally. * PM-3275 - Per PR feedback, refactor set password ngOnInit observable chain to avoid using async subscribe and instead simply sequence the calls via switchMap and tap for side effects. * PM-3275 - Per PR feedback, move tap after filter so we can remove if check * PM-3275 - Per PR feedback, update policy service mapping methods to use shorthand null checking. * PM-3275 - SetPassword comp - (1) Move force set password reason logic into onSetPasswordSuccess(...) (2) On onSetPasswordSuccess, must set hasMasterPassword to true for user verification scenarios. * PM-3275 - Per PR feedback, remove new hasManageResetPasswordPermission flag from profile response and instead simply read the information off the existing profile.organizations data as the information I needed was already present. * PM-4633 - PolicyService - mapPolicyFromResponse(...) - remove incorrect null check for data. Policies with internal null data property should still be evaluated and turned into Policy objects or the policy array ends up having null values in it and it causes errors down the line on login after acct creation. |
3 years ago |
|
|
0c3b569d0e
|
[AC-1373] Flexible Collections (#6336)
* [AC-1117] Add manage permission (#5910) * Add 'manage' option to collection access permissions * Add 'manage' to collection permissions * remove service accidentally committed from another branch * Update CLI commands * update message casing to be consistent * access selector model updates * [AC-1374] Limit collection create/delete (#5963) * feat: udate request/response/data/domain models for new column, refs AC-1374 * feat: create collection management ui, refs AC-1374 * fix: remove limitCollectionCdOwnerAdmin boolean from org update request, refs AC-1374 * fix: moved collection management UI, removed comments, refs AC-1374 * fix: observable chaining now properly calls API when local org updated, refs AC-1374 * fix: remove unused form template variables, refs AC-1374 * fix: clean up observable chain, refs AC-1374 * fix: remove parent.parent route, refs AC-1374 * fix: add cd explaination, refs AC-1374 * [AC-1649] Remove organizationId from collection-bulk-delete.request (#6343) * refactor: remove organizationId from collection-bulk-delete-request, refs AC-1649 * refactor: remove request model from dialog component, refs AC-1649 * [AC-1174] Bulk collection management (#6133) * [AC-1174] Add bulk edit collection access event type * [AC-1174] Add bulk edit collection access menu option * [AC-1174] Add initial bulk collections access dialog * [AC-1174] Add logic to open bulk edit collections dialog * [AC-1174] Move AccessItemView helper methods to access selector model to be shared * [AC-1174] Add access selector to bulk collections dialog * [AC-1174] Add bulk assign access method to collection-admin service * [AC-1174] Introduce strongly typed BulkCollectionAccessRequest model * [AC-1174] Update vault item event type name * Update DialogService dependency --------- Co-authored-by: Thomas Rittson <trittson@bitwarden.com> * Rename LimitCollectionCdOwnerAdmin -> LimitCollectionCreationDeletion (#6409) * Add manage property to synced Collection data * Revert "Add manage property to synced Collection data" Pushed to feature branch instead of a new one This reverts commit |
3 years ago |
|
|
485be21826
|
[PM-4360] Move organization-domain and organization-user to admin console (#6630)
* Move organization-domain and organization-user to admin console |
3 years ago |
|
|
5868d76b91
|
[PM-3198][PM-3199] Rename PasswordlessLoginStrategy (#6425)
* rename to LoginWithDeviceLoginStrategy * rename LoginWithDeviceComponent * update translation for web route * rename strategy to AuthRequestLoginStrategy * rename PasswordlessLogInCredentials and PasswordlessCreateAuthRequest * rename setPasswordlessAccessCode * rename startPasswordlessLogin() in template files * rename startPasswordlessLogin() for browser template file * rename AuthenticationType.Passwordless * standardize LogInStrategy to LoginStrategy * standardize PasswordLogInStrategy to PasswordLoginStrategy * standardize SsoLogInStrategy to SsoLoginStrategy * standardize UserApiLogInStrategy to UserApiLoginStrategy * standardize naming of login credentials * rename log-in-credentials.ts to login-credentials.ts |
3 years ago |
|
|
cdcd1809f0
|
Expand account service (#6622)
* Define account service observable responsibilities * Establish account service observables and update methods * Update Account Service observables from state service This is a temporary stop-gap to avoid needing to reroute all account activity and status changes through the account service. That can be done as part of the breakup of state service. * Add matchers for Observable emissions * Fix null active account * Test account service * Transition account status to account info * Remove unused matchers * Remove duplicate class * Replay active account for late subscriptions * Add factories for background services * Fix state service for web * Allow for optional messaging This is a temporary hack until the flow of account status can be reversed from state -> account to account -> state. The foreground account service will still logout, it's just the background one cannot send messages * Fix add account logic * Do not throw on recoverable errors It's possible that duplicate entries exist in `activeAccounts` exist in the wild. If we throw on adding a duplicate account this will cause applications to be unusable until duplicates are removed it is not necessary to throw since this is recoverable. with some potential loss in current account status * Add documentation to abstraction * Update libs/common/spec/utils.ts Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * Fix justin's comment :fist-shake: --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> |
3 years ago |
|
|
9e290a3fed
|
[PM-4222] Make importer UI reusable (#6504)
* Split up import/export into separate modules * Fix routing and apply PR feedback * Renamed OrganizationExport exports to OrganizationVaultExport * Make import dialogs standalone and move them to libs/importer * Make import.component re-usable - Move functionality which was previously present on the org-import.component into import.component - Move import.component into libs/importer Make import.component standalone Create import-web.component to represent Web UI Fix module imports and routing Remove unused org-import-files * Renamed filenames according to export rename * Make ImportWebComponent standalone, simplify routing * Pass organizationId as Input to ImportComponent * use formLoading and formDisabled outputs * Emit an event when the import succeeds Remove Angular router from base-component as other clients might not have routing (i.e. desktop) Move logic that happened on web successful import into the import-web.component * fix table themes on desktop & browser * fix fileSelector button styles * update selectors to use tools prefix; remove unused selectors * Wall off UI components in libs/importer Create barrel-file for libs/importer/components Remove components and dialog exports from libs/importer/index.ts Extend libs/shared/tsconfig.libs.json to include @bitwarden/importer/ui -> libs/importer/components Extend apps/web/tsconfig.ts to include @bitwarden/importer/ui Update all usages * Rename @bitwarden/importer to @bitwarden/importer/core Create more barrel files in libs/importer/* Update imports within libs/importer Extend tsconfig files Update imports in web, desktop, browser and cli * Lazy-load the ImportWebComponent via both routes * Use SharedModule as import in import-web.component * File selector should be displayed as secondary * Use bitSubmit to override submit preventDefault (#6607) Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: William Martin <contact@willmartian.com> |
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 |
|
|
8c06508435
|
[PM-3726] Force migration of legacy user's encryption key (#6195)
* [PM-3726] migrate legacy user's encryption key * [PM-3726] add 2fa support and pr feedback * [PM-3726] revert launch.json & webpack.config changes * [PM-3726] remove update key component - also remove card in vault since legacy users can't login * [PM-3726] Fix i18n & PR feedback * [PM-3726] make standalone component * [PM-3726] linter * [PM-3726] missing await * [PM-3726] logout legacy users with vault timeout to never * [PM-3726] add await * [PM-3726] skip auto key migration for legacy users * [PM-3726] pr feedback * [PM-3726] move check for web into migrate method --------- Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> |
3 years ago |
|
|
98cfe1b806
|
1password1pux importer can import json (#6049)
The .1pux-format is technically just a ziup-file that contain a file named `export.data`which is a json file. These changes add support to upload either a 1pux or the export.data file directly. The thought to change this came through the recent addtion of the ProtonPass importer. Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> |
3 years ago |
|
|
a920d62dfe
|
[PM-3326] [CLI] Add minNumber, minSpecial and ambiguous password generation options (#5974)
* feat(cli): add minNumber option and pass to generation service * feat(cli): add minSpecial option and pass to generation service * feat(cli): add ambiguous option and pass to generation service * refactor: extract utils to convert number and string options * feat(ts): add types to utils and options * feat: validate result of parsed value in convertNumberOption util |
3 years ago |
|
|
3340af8084
|
PM-3585 Improve state migrations (#5009)
* WIP: safer state migrations
Co-authored-by: Justin Baur <justindbaur@users.noreply.github.com>
* Add min version check and remove old migrations
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
* Add rollback and version checking
* Add state version move migration
* Expand tests and improve typing for Migrations
* Remove StateMigration Service
* Rewrite version 5 and 6 migrations
* Add all but initial migration to supported migrations
* Handle stateVersion location in migrator update versions
* Move to unique migrations directory
* Disallow imports outside of state-migrations
* Lint and test fixes
* Do not run migrations if we cannot determine state
* Fix desktop background StateService build
* Document Migration builder class
* Add debug logging to migrations
* Comment on migrator overrides
* Use specific property names
* `npm run prettier` 🤖
* Insert new migration
* Set stateVersion when creating new globals object
* PR comments
* Fix migrate imports
* Move migration building into `migrate` function
* Export current version from migration definitions
* Move file version concerns to migrator
* Update migrate spec to reflect new version requirements
* Fix import paths
* Prefer unique state data
* Remove unnecessary async
* Prefer to not use `any`
---------
Co-authored-by: Justin Baur <justindbaur@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
|
3 years ago |
|
|
5665576147
|
Trusted Device Encryption feature (#5950)
* PM-1049 - Create first display draft of login-decryption-options base and web components (no data loading or user actions wired up yet; WIP) * PM-1049 - Update DeviceResponse to match latest properties on backend * PM-1049 - Add getDevices call to retrieve all user devices to API service * PM-1049 - WIP on figuring out login decryption options component requirements * PM-1049 - Add empty login decryption options to desktop * PM-1049 - Desktop - Update "Log in initiated" translation to be "Login Initiated" per figma and product request * PM-1049 - Desktop - login decryption options component html done * PM-1049 - Move login-decryption-options in web into own folder * PM-1049 - Browser - created html for login-decryption-options component * PM-1049 - Move newly created getDevices() method out of api.service into proper place in new devices-api.service. * PM-1049 -Comment cleanup and TODO added * PM-1049 - Comment cleanup and dependency cleanup across all login-decryption-options comps * PM-1049 - WIP of building out needed response and regular models for saving new UserDecryptionOptions on the Account in state. * PM-1049 - Update all User Decryption Options response and state models in light of the back end changes from a list to an object. Web building now with decryption options stored on state under the account successfully. Must now build out state service methods for retrieving / setting account decryption options for use elsewhere. * PM-1049 - State Service - setup setters / getters for UserDecryptionOptions off the account * PM-1049 - StateService - replace User with Acct for decryption options * PM-1049 - Create domain models vs using response models as response models have a response property w/ the full response nested underneath which we don't need to persist for the user decryption options stored on the account. * PM-1049 - AcctDecryptionOptions now persist across page refreshes of the login-initiated page to act similarly to refreshes on the lock screen. Accomplished via persisting AcctDecryptionOptions in local storage -- still cleared on logout. * PM-1049 - IdTokenResponse - only userDecryptionOptions if they exist on the response from the server; I saw a few instances where it did not. Wasn't able to replicate consistently, but I put this check here to be safe. * PM-1049 - Login Initiated route can only be accessed if user is AuthN w/ locked vault + TDE feature flag is on. * PM-1049 - LoginDecryptionOptions - (1) Wire up loading logic (2) Retrieve User Acct Decryption options to determine whether or not to show request admin approval btn and approve w/ MP (3) Write up future logic for requestAdminApproval (4) approveWithMasterPassword takes you to the lock screen to login. * PM-1049 - Apply same guards as in web to login-decryption-options in desktop & browser. * PM-1049 - (1) Updated dependencies in parent BaseLoginDecryptionOptionsComponent class + child components (2) Retrieve userEmail b/c needed for displaying which email the user is logging in with (3) Add log out functionality (4) Add comments regarding future implementation details for each login approval flow. * PM-1049 - Web/Browser/Desktop LoginDecryptionOptions - (1) Wire up approval buttons (2) Add conditional margins (3) Loading spinner added (4) Display userEmail + "not you" logout link * PM-1049 - Add TODOs for future changes needed as part of the Login Approval flows for TDE * PM-1049 - TODO: replace base component with business service * 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 |
|
|
e016ed001e
|
[PM-2899] Implement ProtonPass json importer (#5766)
* Implement ProtonPass json importer * Add protonpass-importer json type definition * Fix alphabetical order in importer imports * Add importer error message for encrypted protonpass imports * Add i18n to protonpass importer * Add protonpass (zip) importer * Fix protonpass importer * Add unit tests for protonpass importer * Make protonpass importer not discard totp codes * Merge protonpass json & zip importers * Add protonpass creditcard import & fix note import * Fix protonpass zip import not recognizing zip files on windows/chrome * Make protonpass importer use vault types * Make protonpass importer treat vaults as folders * Make protonpass importer treat folders as collections for organizations Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> * Add types to protonpass test data * Fix protonpass importer's moveFoldersToCollections * Add tests for folders/collections * Remove unecessary type cast in protonpass importer * Remove unecessary type annotations in protonpass importer * Add assertion for credit card cvv in protonpass importer * Handle trashed items in protonpass importer * Fix setting expiry month on credit cards * Fix wrong folder-assignment Only the first item of a "vault" was getting assigned to a folder Extend unit tests to verify behaviour --------- Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> Co-authored-by: Daniel James Smith <djsmith@web.de> |
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 |
|
|
a2b290a31e
|
Remove password options from `serve` unlock (#5601)
These options are no longer considered safe as the file location or environment variable could be guessed by an attacker. |
3 years ago |
|
|
2b65b3f0f7
|
[AC-1383] Move collections to Vault (#5424)
* Move CollectionDialog to Vault * Fix CollectionDialogModule imports * Move CollectionAdminService and View to Vault * Move CollectionService to Vault * Split GroupService into internal and public facing classes * Move collection models to vault * lint spacing fix * Move collection spec file * Fix spec import * Update apps/web/src/app/core/core.module.ts Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> * Remove CoreOrganizationModule from CollectionDialogModule --------- Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> |
3 years ago |
|
|
72a5ba455c
|
[PM-2367] [BEEEP]: Extract password strength from password-generation-service (#5502)
* Extract passwordStrength from passwordGenerationService Extract passwordStrength from password-generation.service.ts Create new password-strength.service.ts Create new password-strength.service.abstraction.ts Register new password-strength service Fix usages in libs * Fix usage in web * Fix usage in desktop * Fix usage in CLI * Fix usage in browser Move password-generation-factory to tools * Fix tests * Change dependency in jslib-services.module |
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 |
|
|
4a552343f1
|
Add fullSync on successful import (#5500)
Analog to https://github.com/bitwarden/clients/pull/4380 we also need to add a full sync to the import.command, so that when a user calls `bw list items` those are populated. |
3 years ago |
|
|
5f825e10f9
|
[PM-2132] Move all specs to the src directory (#5367)
|
3 years ago |
|
|
b4a96c2365
|
exit immediately after login command run (#5183)
|
3 years ago |
|
|
4e1867682f
|
[PM-1504] Migrate Dialogs to DialogService (#5013)
This PR introduces a generic `DialogService` which can be used by all the clients. This allows us to decouple dialogs from the `PlatformUtilsHelper`. The `DialogService` provides a new method, `openSimpleDialog` which is the new interface for that type of dialogs. This gives us 3 different implementations: - Web: DialogService modern dialogs - Browser: SweetAlert - Desktop: Native electron based |
3 years ago |
|
|
def3b1436d
|
[PM-1267] Updated cli receive command to use api.bitwarden.com as api url (#5239)
|
3 years ago |
|
|
192bb5a7b3
|
[PM-328] Move exporter to tools (#5070)
* Create and register new libs/exporter Create package.json Create tsconfig Create jest.config Extend shared and root tsconfig and jest.configs Register with eslint * Migrate exportService to libs/exporter Move exportService (abstraction and impl) into libs/exporter Refactored exportService to be split into vault-export and event-export Created barrel-files for both exports Moved export.service.spec.ts into vault-export Created an export-helper, which helps build the filename (extract method refactor from ExportService) * Move components in libs/angular into tools-subfolder Moved components Updated imports in jslib-services.module and jslib.module * Register libs/exporter with browser and fix imports Move export.component into tools-subfolder * Register libs/exporter with cli and fix imports Move export.command into tools-subfolder * Register libs/exporter with desktop and fix imports Move export.component into tools-subfolder * Move export models to libs/exporter * Update web imports * Update package-lock.json * Move export models back as it would create circular dependency Reponse models in common rely on export models which are in libs/exporter, which relies on common * Fix up web for event-export * Update CODEOWNERS * Add export-models to team-tools-dev * Simplify domain import * Moving EventExport into web |
3 years ago |
|
|
d77f77cea9
|
[PM-1803] Fail on unsupported export format (#5197)
* Fail on unsupported export format Issue #5194: https://github.com/bitwarden/clients/issues/5194 The cli previously would take any value for the export format and default to unencrypted json if it wasn't a supported format. This behavior is a little dangerous because if for instance typed "json_encrypted" instead of "encrypted_json" and naively saved the file you might be surprised to learn the payload was not actually encrypted even though the command completed successfully. This change adds a guard clause when converting the string value passed in via `--format` into the type `ExportFormat` to ensure that the format provided is one of the supported types. * Move isSupportedExportFormat to private method |
3 years ago |
|
|
07c2c2af20
|
[AC-1070] Enforce master password policy on login (#4795)
* [EC-1070] Introduce flag for enforcing master password policy on login * [EC-1070] Update master password policy form Add the ability to toggle enforceOnLogin flag in web * [EC-1070] Add API method to retrieve all policies for the current user * [EC-1070] Refactor forcePasswordReset in state service to support more options - Use an options class to provide a reason and optional organization id - Use the OnDiskMemory storage location so the option persists between the same auth session * [AC-1070] Retrieve single master password policy from identity token response Additionally, store the policy in the login strategy for future use * [EC-1070] Introduce master password evaluation in the password login strategy - If a master password policy is returned from the identity result, evaluate the password. - If the password does not meet the requirements, save the forcePasswordReset options - Add support for 2FA by storing the results of the password evaluation on the login strategy instance - Add unit tests to password login strategy * [AC-1070] Modify admin password reset component to support update master password on login - Modify the warning message to depend on the reason - Use the forcePasswordResetOptions in the update temp password component * [EC-1070] Require current master password when updating weak mp on login - Inject user verification service to verify the user - Conditionally show the current master password field only when updating a weak mp. Admin reset does not require the current master password. * [EC-1070] Implement password policy check during vault unlock Checking the master password during unlock is the only applicable place to enforce the master password policy check for SSO users. * [EC-1070] CLI - Add ability to load MP policies on login Inject policyApi and organization services into the login command * [EC-1070] CLI - Refactor update temp password logic to support updating weak passwords - Introduce new shared method for collecting a valid and confirmed master password from the CLI and generating a new encryption key - Add separate methods for updating temp passwords and weak passwords. - Utilize those methods during login flow if not using an API key * [EC-1070] Add route guard to force password reset when required * [AC-1070] Use master password policy from verify password response in lock component * [EC-1070] Update labels in update password component * [AC-1070] Fix policy service tests * [AC-1070] CLI - Force sync before any password reset flow Move up the call to sync the vault before attempting to collect a new master password. Ensures the master password policies are available. * [AC-1070] Remove unused getAllPolicies method from policy api service * [AC-1070] Fix missing enforceOnLogin copy in policy service * [AC-1070] Include current master password on desktop/browser update password page templates * [AC-1070] Check for forced password reset on account switch in Desktop * [AC-1070] Rename WeakMasterPasswordOnLogin to WeakMasterPassword * [AC-1070] Update AuthServiceInitOptions * [AC-1070] Add None force reset password reason * [AC-1070] Remove redundant ForcePasswordResetOptions class and replace with ForcePasswordResetReason enum * [AC-1070] Rename ForceResetPasswordReason file * [AC-1070] Simplify conditional * [AC-1070] Refactor logic that saves password reset flag * [AC-1070] Remove redundant constructors * [AC-1070] Remove unnecessary state service call * [AC-1070] Update master password policy component - Use typed reactive form - Use CL form components - Remove bootstrap - Update error component to support min/max - Use Utils.minimumPasswordLength value for min value form validation * [AC-1070] Cleanup leftover html comment * [AC-1070] Remove overridden default values from MasterPasswordPolicyResponse * [AC-1070] Hide current master password input in browser for admin password reset * [AC-1070] Remove clientside user verification * [AC-1070] Update temp password web component to use CL - Use CL for form inputs in the Web component template - Remove most of the bootstrap classes in the Web component template - Use userVerificationService to build the password request - Remove redundant current master password null check * [AC-1070] Replace repeated user inputs email parsing helpers - Update passwordStrength() method to accept an optional email argument that will be parsed into separate user inputs for use with zxcvbn - Remove all other repeated getUserInput helper methods that parsed user emails and use the new passwordStrength signature * [AC-1070] Fix broken login command after forcePasswordReset enum refactor * [AC-1070] Reduce side effects in base login strategy - Remove masterPasswordPolicy property from base login.strategy.ts - Include an IdentityResponse in base startLogin() in addition to AuthResult - Use the new IdentityResponse to parse the master password policy info only in the PasswordLoginStrategy * [AC-1070] Cleanup password login strategy tests * [AC-1070] Remove unused field * [AC-1070] Strongly type postAccountVerifyPassword API service method - Remove redundant verify master password response - Use MasterPasswordPolicyResponse instead * [AC-1070] Use ForceResetPassword.None during account switch check * [AC-1070] Fix check for forcePasswordReset reason after addition of None * [AC-1070] Redirect a user home if on the update temp password page without a reason * [AC-1070] Use bit-select and bit-option * [AC-1070] Reduce explicit form control definitions for readability * [AC-1070] Import SelectModule in Shared web module * [AC-1070] Add check for missing 'at' symbol * [AC-1070] Remove redundant unpacking and null coalescing * [AC-1070] Update passwordStrength signature and add jsdocs * [AC-1070] Remove variable abbreviation * [AC-1070] Restore Id attributes on form inputs * [AC-1070] Clarify input value min/max error messages * [AC-1070] Add input min/max value example to storybook * [AC-1070] Add missing spinner to update temp password form * [AC-1070] Add missing ids to form elements * [AC-1070] Remove duplicate force sync and update comment * [AC-1070] Switch backticks to quotation marks --------- Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> |
3 years ago |
|
|
7263579eaf
|
[PM-329] Detangle SearchService & CipherService (#4838)
* Remove Circular Dependency * Fix Vault Searching * Remove Unused cipherServiceOptions * Add searchService Parameter to CipherService * Fix instantiation of CipherService in test |
3 years ago |
|
|
cf2d8b266a
|
[PM-1071] Display import-details-dialog on successful import (#4817)
* Prefer callback over error-flow to prompt for password Remove error-flow to request file password Prefer callback, which has to be provided when retrieving/creating an instance. Delete ImportError Call BitwardenPasswordProtector for all Bitwarden json imports, as it extends BitwardenJsonImporter Throw errors instead of returning Return ImportResult Fix and extend tests import.service Replace "@fluffy-spoon/substitute" with "jest-mock-extended" * Fix up test cases Delete bitwarden-json-importer.spec.ts Add test case to ensure bitwarden-json-importer.ts is called given unencrypted or account-protected files * Move file-password-prompt into dialog-folder * Add import success dialog * Fix typo * Only list the type when at least one got imported * update copy based on design feedback * Remove unnecessary /index import * Remove promptForPassword_callback from interface PR feedback from @MGibson1 that giving every importer the ability to request a password is unnecessary. Instead, we can pass the callback into the constructor for every importer that needs this functionality * Remove unneeded import of BitwardenJsonImporter * Fix spec constructor * Fixed organizational import Added an else statement, or else we'd import into an org and then also import into an individual vault |
3 years ago |
|
|
7899b25ab3
|
[PM-1426] Refactor uri matching (#5003)
* Move URI matching logic into uriView * Fix url parsing: always assign default protocol, otherwise no protocol with port is parsed incorrectly * Codescene: refactor domain matching logic |
3 years ago |
|
|
576d85b268
|
[AC-1202] Update enums filenames for admin-console/billing teams (#5169)
* refactor: add barrel file for admin-console enums, update references, refs AC-1202 * fix: lint/prettier updates, refs AC-1202 * refactor: add enum suffix, refs AC-1202 * refactor: add barrel file for billing enums, update imports to use it, refs AC-1202 * fix: prettier, refs AC-1202 * refactor: add enum suffix for billing enums, refs AC-1202 |
3 years ago |
|
|
bacb8828de
|
[AC-1266] Enums filename conventions (#5140)
* refactor: update clientType enum * refactor: update deviceType filename * refactor: update encryptedExportType filename * refactor: update encryptionType filename * refactor: update eventType filename * refactor: update fieldType filename * refactor: update fileUploadType filename * refactor: update hashPurpose filename * refactor: update htmlStorageLocation filename * refactor: update kdfType filename * refactor: update keySuffixOptions filename * refactor: update linkedIdType filename * refactor: update logLevelType filename * refactor: update nativeMessagingVersion filename * refactor: update notificationType filename * refactor: update productType filename * refactor: update secureNoteType filename * refactor: update stateVersion filename * refactor: update storageLocation filename * refactor: update themeType filename * refactor: update uriMatchType filename * fix: update kdfType classes missed in initial pass, refs AC-1266 * fix: missing import update for device-type * refactor: add barrel file for enums and update pathed import statements, refs AC-1266 * fix: incorrect import statements for web, refs AC-1266 * fix: missed import statement updates (browser), refs AC-1266 * fix: missed import statement changes (cli), refs AC-1266 * fix: missed import statement changes (desktop), refs AC-1266 * fix: prettier, refs AC-1266 * refactor: (libs) update relative paths to use barrel file, refs AC-1266 * fix: missed find/replace import statements for SecureNoteType, refs AC-1266 * refactor: apply .enum suffix to enums folder and modify leftover relative paths, refs AC-1266 * fix: find/replace errors for native-messaging-version, refs AC-1266 |
3 years ago |
|
|
1f472ea309
|
[PS-2264] Make password protected exports support account's iterations and argon2 (#4479)
* Fix encrypted export using fixed PBKDF2 iterations * Replace hardcoded KdfType in importer * Clean up kdf handling in password-protected export * Extract BitwardenPasswordProtectedFileFormat * Rename bitwarden-json-types * Move StateService import to fix linting issue * Make linter happy * Use abstraction instead of implementation --------- Co-authored-by: Daniel James Smith <djsmith@web.de> |
3 years ago |
|
|
e238ea20a9
|
[PM-328] Move Send to Tools (#5104)
* Move send in libs/common * Move send in libs/angular * Move send in browser * Move send in cli * Move send in desktop * Move send in web |
3 years ago |
|
|
d799529428
|
[SG 623] Send Service Refactor (#4327)
* Split out api methods into sendApiService * Move SendService and abstraction * Libs updates * Web updates * CLI updates * Desktop updates * libs send service fixes * browser factory additions * Browser updates * Fix service injection for CLI SendReceiveCommand * Deprecate directly calling send state service methods * SendService observables updates * Update components to use new observables * Modify CLI to use state service instead of observables * Remove unnecessary await on get() * Move delete() to InternalSendService * SendService unit tests * Split fileUploadService by send and cipher * send and cipher service factory updates * Add file upload methods to get around circular dependency issues * Move api methods from sendService to sendApiService * Update cipherService to use fileApi methods * libs service injection and component changes * browser service injection and component changes * Desktop component changes * Web component changes * cipher service test fix * Fix file capitalization * CLI service import and command updates * Remove extra abstract fileUploadService * WIP: Condense callbacks for file upload Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com> * Send callbacks for file upload * Fix circular service dependencies * Fix response return on upload * Fix function definitions * Service injection fixes and bug fixes * Fix folder casing * Service injection cleanup * Remove deleted file from capital letters whitelist * Create new SendApiService for popup * Move cipherFileUploadService to vault * Move SendFileUploadService methods into SendApiService * Rename methods to remove 'WithServer' * Properly subscribe to sendViews * Fix Send serialization * Implement fromJSON on sendFile and sendText * [PM-1347] Fix send key serialization (#4989) * Properly serialize key on send fromJSON * Remove call that nulled out decrypted sends * Fix null checks in fromJSON methods for models * lint fixes --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
3 years ago |
|
|
092a2ba984
|
refactor: move organization service and organization-user response to admin-console, refs AC-1202 (#5055)
|
3 years ago |
|
|
a5a12a6723
|
[PM-328] Move `common/importer` to `libs/importer` (tools-migration) (#5060)
* Create and register new libs/importer Create package.json Create tsconfig Create jest.config Extend shared and root tsconfig and jest.configs Register with eslint * Move importer-related files to libs/importer * Move importer-spec-related files to libs/importer Move import.service.spec * Update package-lock.json * Set CODEOWNERS for new libs/importer * Register libs/importer with cli and fix imports * Register libs/importer with web and fix imports * Move importOption into models Rename importOptions to import-options * Fix linting issues after updating prettier * Only expose necessary files from libs/importer Fix tsconfig files - Removes the trailing /index on imports in web/cli As the spec-files no longer can access the internals via @bitwarden/importer they import by path (../src/importers) * Add barrel files to vendors with more than one importer |
3 years ago |
|
|
780a563ce0
|
[AC-1011] Admin Console / Billing code ownership (#4973)
* refactor: move SCIM component to admin-console, refs EC-1011 * refactor: move scimProviderType to admin-console, refs EC-1011 * refactor: move scim-config.api to admin-console, refs EC-1011 * refactor: create models folder and nest existing api contents, refs EC-1011 * refactor: move scim-config to admin-console models, refs EC-1011 * refactor: move billing.component to billing, refs EC-1011 * refactor: remove nested app folder from new billing structure, refs EC-1011 * refactor: move organizations/billing to billing, refs EC-1011 * refactor: move add-credit and adjust-payment to billing/settings, refs EC-1011 * refactor: billing history/sync to billing, refs EC-1011 * refactor: move org plans, payment/method to billing/settings, refs EC-1011 * fix: update legacy file paths for payment-method and tax-info, refs EC-1011 * fix: update imports for scim component, refs EC-1011 * refactor: move subscription and tax-info into billing, refs EC-1011 * refactor: move user-subscription to billing, refs EC-1011 * refactor: move images/cards to billing and update base path, refs EC-1011 * refactor: move payment-method, plan subscription, and plan to billing, refs EC-1011 * refactor: move transaction-type to billing, refs EC-1011 * refactor: move billing-sync-config to billing, refs EC-1011 * refactor: move billing-sync and bit-pay-invoice request to billing, refs EC-1011 * refactor: move org subscription and tax info update requests to billing, refs EC-1011 * fix: broken paths to billing, refs EC-1011 * refactor: move payment request to billing, refs EC-1011 * fix: update remaining imports for payment-request, refs EC-1011 * refactor: move tax-info-update to billing, refs EC-1011 * refactor: move billing-payment, billing-history, and billing responses to billing, refs EC-1011 * refactor: move organization-subscription-responset to billing, refs EC-1011 * refactor: move payment and plan responses to billing, refs EC-1011 * refactor: move subscription response to billing ,refs EC-1011 * refactor: move tax info and rate responses to billing, refs EC-1011 * fix: update remaining path to base response for tax-rate response, refs EC-1011 * refactor: (browser) move organization-service to admin-console, refs EC-1011 * refactor: (browser) move organizaiton-service to admin-console, refs EC-1011 * refactor: (cli) move share command to admin-console, refs EC-1011 * refactor: move organization-collect request model to admin-console, refs EC-1011 * refactor: (web) move organization, collection/user responses to admin-console, refs EC-1011 * refactor: (cli) move selection-read-only to admin-console, refs EC-1011 * refactor: (desktop) move organization-filter to admin-console, refs EC-1011 * refactor: (web) move organization-switcher to admin-console, refs EC-1011 * refactor: (web) move access-selector to admin-console, refs EC-1011 * refactor: (web) move create folder to admin-console, refs EC-1011 * refactor: (web) move org guards folder to admin-console, refs EC-1011 * refactor: (web) move org layout to admin-console, refs EC-1011 * refactor: move manage collections to admin console, refs EC-1011 * refactor: (web) move collection-dialog to admin-console, refs EC-1011 * refactor: (web) move entity users/events and events component to admin-console, refs EC-1011 * refactor: (web) move groups/group-add-edit to admin-console, refs EC-1011 * refactor: (web) move manage, org-manage module, and user-confirm to admin-console, refs EC-1011 * refactor: (web) move people to admin-console, refs EC-1011 * refactor: (web) move reset-password to admin-console, refs EC-1011 * refactor: (web) move organization-routing and module to admin-console, refs EC-1011 * refactor: move admin-console and billing within app scope, refs EC-1011 * fix: update leftover merge conflicts, refs EC-1011 * refactor: (web) member-dialog to admin-console, refs EC-1011 * refactor: (web) move policies to admin-console, refs EC-1011 * refactor: (web) move reporting to admin-console, refs EC-1011 * refactor: (web) move settings to admin-console, refs EC-1011 * refactor: (web) move sponsorships to admin-console, refs EC-1011 * refactor: (web) move tools to admin-console, refs EC-1011 * refactor: (web) move users to admin-console, refs EC-1011 * refactor: (web) move collections to admin-console, refs EC-1011 * refactor: (web) move create-organization to admin-console, refs EC-1011 * refactor: (web) move licensed components to admin-console, refs EC-1011 * refactor: (web) move bit organization modules to admin-console, refs EC-1011 * fix: update leftover import statements for organizations.module, refs EC-1011 * refactor: (web) move personal vault and max timeout to admin-console, refs EC-1011 * refactor: (web) move providers to admin-console, refs EC-1011 * refactor: (libs) move organization service to admin-console, refs EC-1011 * refactor: (libs) move profile org/provider responses and other misc org responses to admin-console, refs EC-1011 * refactor: (libs) move provider request and selectionion-read-only request to admin-console, refs EC-1011 * fix: update missed import path for provider-user-update request, refs EC-1011 * refactor: (libs) move abstractions to admin-console, refs EC-1011 * refactor: (libs) move org/provider enums to admin-console, refs EC-1011 * fix: update downstream import statements from libs changes, refs EC-1011 * refactor: (libs) move data files to admin-console, refs EC-1011 * refactor: (libs) move domain to admin-console, refs EC-1011 * refactor: (libs) move request objects to admin-console, refs EC-1011 * fix: update downstream import changes from libs, refs EC-1011 * refactor: move leftover provider files to admin-console, refs EC-1011 * refactor: (browser) move group policy environment to admin-console, refs EC-1011 * fix: (browser) update downstream import statements, refs EC-1011 * fix: (desktop) update downstream libs moves, refs EC-1011 * fix: (cli) update downstream import changes from libs, refs EC-1011 * refactor: move org-auth related files to admin-console, refs EC-1011 * refactor: (libs) move request objects to admin-console, refs EC-1011 * refactor: move persmissions to admin-console, refs EC-1011 * refactor: move sponsored families to admin-console and fix libs changes, refs EC-1011 * refactor: move collections to admin-console, refs EC-1011 * refactor: move spec file back to spec scope, refs EC-1011 * fix: update downstream imports due to libs changes, refs EC-1011 * fix: udpate downstream import changes due to libs, refs EC-1011 * fix: update downstream imports due to libs changes, refs EC-1011 * fix: update downstream imports from libs changes, refs EC-1011 * fix: update path malformation in jslib-services.module, refs EC-1011 * fix: lint errors from improper casing, refs AC-1011 * fix: update downstream filename changes, refs AC-1011 * fix: (cli) update downstream filename changes, refs AC-1011 * fix: (desktop) update downstream filename changes, refs AC-1011 * fix: (browser) update downstream filename changes, refs AC-1011 * fix: lint errors, refs AC-1011 * fix: prettier, refs AC-1011 * fix: lint fixes for import order, refs AC-1011 * fix: update import path for provider user type, refs AC-1011 * fix: update new codes import paths for admin console structure, refs AC-1011 * fix: lint/prettier, refs AC-1011 * fix: update layout stories path, refs AC-1011 * fix: update comoponents card icons base variable in styles, refs AC-1011 * fix: update provider service path in permissions guard spec, refs AC-1011 * fix: update provider permission guard path, refs AC-1011 * fix: remove unecessary TODO for shared index export statement, refs AC-1011 * refactor: move browser-organization service and cli organization-user response out of admin-console, refs AC-1011 * refactor: move web/browser/desktop collections component to vault domain, refs AC-1011 * refactor: move organization.module out of admin-console scope, refs AC-1011 * fix: prettier, refs AC-1011 * refactor: move organizations-api-key.request out of admin-console scope, refs AC-1011 |
3 years ago |
|
|
ff4293b7bd
|
[PM-1512] Upgrade prettier (#5028)
* Upgrade prettier * Lock prettier version |
3 years ago |
|
|
d4c812160f
|
[PM-328] Move generator to tools (#4980)
* Move generator to tools libs/angular: - Move generator.component to tools libs/common: - Move password generation to tools - Move username generation including email-forwarders to tools apps/* - create tools-subfolder and move files regarding generator functionality - Update all the imports .github/: - Cleaned up whitelist-capital-letters.txt - Added team-tools-dev folders to CODEOWNERS * Remove unused barrel file |
3 years ago |
|
|
d7a94c140f
|
[PM-1165] Handle personal API login errors [cli] (#4866)
* Handle personal API login errors [cli] * Revert misguided generic error handling tweak * Only handle invalid_client errors Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> * Typo fix --------- Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> |
3 years ago |
|
|
999a40e755
|
[SG-900] Autofill callout updates (#4738)
* Updated messages * Implement method in platformUtils to get autofill command * Updates to callout in current tab component * Add autofill keyboard shortcut to autofill settings * style updates * Add routing animation for autofill settings * Remove extra function * Remove unnecessary safari logic * Remove autofill settings transition added in another PR * Fix callout still present after clicking 'Got it' (#4797) --------- Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> |
3 years ago |
|
|
91600bb610
|
[SG-1022] Update min password requirements to 12 char (#4690)
* fix: change to 10 * work: 12! * Update register.component.ts * fix: whoops, missed a few * fix: can't believe i missed this. --------- Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com> |
3 years ago |
|
|
1f3017214e
|
Auth/reorg auth (#4694)
* PM-74 move desktop hint component * PM-60 move update temp password to auth team * PS-2298 Add auth code owners file |
3 years ago |
|
|
cf972e784c
|
Auth/ps 2298 reorg auth (#4564)
* Move auth service factories to Auth team * Move authentication componenets to Auth team * Move auth guard services to Auth team * Move Duo content script to Auth team * Move auth CLI commands to Auth team * Move Desktop Account components to Auth Team * Move Desktop guards to Auth team * Move two-factor provider images to Auth team * Move web Accounts components to Auth Team * Move web settings components to Auth Team * Move web two factor images to Auth Team * Fix missed import changes for Auth Team * Fix Linting errors * Fix missed CLI imports * Fix missed Desktop imports * Revert images move * Fix missed imports in Web * Move angular lib components to Auth Team * Move angular auth guards to Auth team * Move strategy specs to Auth team * Update .eslintignore for new paths * Move lib common abstractions to Auth team * Move services to Auth team * Move common lib enums to Auth team * Move webauthn iframe to Auth team * Move lib common domain models to Auth team * Move common lib requests to Auth team * Move response models to Auth team * Clean up whitelist * Move bit web components to Auth team * Move SSO and SCIM files to Auth team * Revert move SCIM to Auth team SCIM belongs to Admin Console team * Move captcha to Auth team * Move key connector to Auth team * Move emergency access to auth team * Delete extra file * linter fixes * Move kdf config to auth team * Fix whitelist * Fix duo autoformat * Complete two factor provider request move * Fix whitelist names * Fix login capitalization * Revert hint dependency reordering * Revert hint dependency reordering * Revert hint component This components is being picked up as a move between clients * Move web hint component to Auth team * Move new files to auth team * Fix desktop build * Fix browser build |
3 years ago |
|
|
8a9e59094a
|
Login Flows (#4411)
* [SG-171] Login with a device request: Desktop (#3999) * Move LoginWithDeviceComponent to libs * Create login module * Remove login component from previous location * Move startPasswordlessLogin method to base class * Register route for login with device component * Add new localizations * Add Login with Device page styles * Add desktop login with device component * Spacing fix * Add content box around page * Update wording of helper text * Make resend timeout a class variable * SG-173 - Login device approval desktop (#4232) * SG-173 Implemented UI and login for login approval request * SG-173 - Show login approval after login * SG-173 Fetch login requests if the setting is true * SG-173 Add subheading to new setting * SG-173 Handle modal dismiss denying login request * SG-173 Fix pr comments * SG-173 Implemented desktop alerts * SG-173 Replicated behaviour of openViewRef * SG-173 Fixed previous commit * SG-173 PR fix * SG-173 Fix PR comment * SG-173 Added missing service injection * SG-173 Added logo to notifications * SG-173 Fix PR comments * [SG-910] Override self hosted check for desktop (#4405) * Override base component self hosted check * Add selfhost check to environment service * [SG-170] Login with Device Request - Browser (#4198) * work: ui stuff * fix: use parent * fix: words * [SG-987] [SG-988] [SG-989] Fix passwordless login request (#4573) * SG-987 Fix notification text and button options * SG-988 Fix approval and decline confirmation toasts * SG-989 Fix methods called * SG-988 Undo previous commit * [SG-1034] [Defect] - Vault is empty upon login confirmation (#4646) * fix: sync after login * undo: whoops --------- Co-authored-by: Carlos Gonçalves <cgoncalves@bitwarden.com> Co-authored-by: Brandon Maharaj <bmaharaj@bitwarden.com> Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com> |
3 years ago |
|
|
7ebedbecfb
|
[SG-998] and [SG-999] Vault and Autofill team refactor (#4542)
* Move DeprecatedVaultFilterService to vault folder * [libs] move VaultItemsComponent * [libs] move AddEditComponent * [libs] move AddEditCustomFields * [libs] move attachmentsComponent * [libs] folderAddEditComponent * [libs] IconComponent * [libs] PasswordRepormptComponent * [libs] PremiumComponent * [libs] ViewCustomFieldsComponent * [libs] ViewComponent * [libs] PasswordRepromptService * [libs] Move FolderService and FolderApiService abstractions * [libs] FolderService imports * [libs] PasswordHistoryComponent * [libs] move Sync and SyncNotifier abstractions * [libs] SyncService imports * [libs] fix file casing for passwordReprompt abstraction * [libs] SyncNotifier import fix * [libs] CipherServiceAbstraction * [libs] PasswordRepromptService abstraction * [libs] Fix file casing for angular passwordReprompt service * [libs] fix file casing for SyncNotifierService * [libs] CipherRepromptType * [libs] rename CipherRepromptType * [libs] CipherType * [libs] Rename CipherType * [libs] CipherData * [libs] FolderData * [libs] PasswordHistoryData * [libs] AttachmentData * [libs] CardData * [libs] FieldData * [libs] IdentityData * [libs] LocalData * [libs] LoginData * [libs] SecureNoteData * [libs] LoginUriData * [libs] Domain classes * [libs] SecureNote * [libs] Request models * [libs] Response models * [libs] View part 1 * [libs] Views part 2 * [libs] Move folder services * [libs] Views fixes * [libs] Move sync services * [libs] cipher service * [libs] Types * [libs] Sync file casing * [libs] Fix folder service import * [libs] Move spec files * [libs] casing fixes on spec files * [browser] Autofill background, clipboard, commands * [browser] Fix ContextMenusBackground casing * [browser] Rename fix * [browser] Autofill content * [browser] autofill.js * [libs] enpass importer spec fix * [browser] autofill models * [browser] autofill manifest path updates * [browser] Autofill notification files * [browser] autofill services * [browser] Fix file casing * [browser] Vault popup loose components * [browser] Vault components * [browser] Manifest fixes * [browser] Vault services * [cli] vault commands and models * [browser] File capitilization fixes * [desktop] Vault components and services * [web] vault loose components * [web] Vault components * [browser] Fix misc-utils import * [libs] Fix psono spec imports * [fix] Add comments to address lint rules |
3 years ago |
|
|
b7d38f0f72
|
[PS-2320] Import API service refactor (#4529)
* Extract import methods from ApiService Removed methods from ApiService impl and abstraction Create import-api.service impl and abstraction Moved import.service into abstractions/import/import.service.abstraction Moved import.service into services/import/import.service Change imports to use new services * Fix import for tests * Fix imports for CLI * Fix imports for web * Fix ModuleImports and dependencies * Mark ImportApiService methods as async |
3 years ago |
|
|
01091fe260
|
[PS-2365] Kdf Configuration Options for Argon2 (#4578)
* Implement argon2 config * Remove argon2 webassembly warning * Replace magic numbers by enum * Implement kdf configuration * Update UI according to design feedback * Further updates to follow design feedback * Add oxford comma in argon2 description * Fix typos in argon2 descriptions * move key creation into promise with API call * change casing on PBKDF2 * general improvements * kdf config on set pin component * SHA-256 hash argon2 salt * Change argon2 defaults * Change argon2 salt hash to cryptoFunctionService * Fix isLowKdfIteration check --------- Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com> Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com> |
3 years ago |
|
|
f4dc7ca8b4
|
[EC-647] OAVR v2 Feature Branch Merge (#3882)
* [EC-8] Restructure Tabs (#3109) * Cherry pick pending PR for tabs component [CL-17] Tabs - Routing * Update organization tabs from 4 to 6 * Create initial 'Members' tab * Create initial 'Groups' tab * Add initial "Reporting" tab * Use correct report label/layout by product type * Create initial 'Billing' tab * Breakup billing payment and billing history pages * Cleanup org routing and nav permission service * More org tab permission cleanup * Refactor organization billing to use a module * Refactor organization reporting to use module * Cherry pick finished/merged tabs component [CL-17] Tabs - Router (#2952) * This partially reverts commit |
3 years ago |
|
|
3a98b415b0
|
Revert "[EC-772] Add i18n key typechecking in web (#4023)" (#4296)
This reverts commit
|
4 years ago |
|
|
5a1940f3f4
|
[EC-772] Add i18n key typechecking in web (#4023)
|
4 years ago |
|
|
f67fffcc08
|
[EC 784] Refactor organization user service (#4163)
* [EC-784] Introduce OrganizationUserService and abstraction * [EC-784] Move API response models into abstraction folder * [EC-784] Register OrganizationUserService in JsLib * [EC-784] Add OrganizationUserService to CLI Main * [EC-784] Move getOrganizationUser() - Move getOrganizationUser() implementation to OrganizationUserService - Update any references to the API service in the CLI and Web projects * [EC-784] Move getOrganizationUserGroups() * [EC-784] Move and rename getOrganizationUsers() * [EC-784] Move getOrganizationUserResetPasswordDetails() * [EC-784] Move OrganizationUser API request models into abstraction folder * [EC-784] Move postOrganizationUserInvite() * [EC-784] Move postOrganizationUserReinvite() * [EC-784] Move postManyOrganizationUserReinvite() Also tweak the signature to avoid exposing the API request model * [EC-784] Move postOrganizationUserAccept() * [EC-784] Move postOrganizationUserConfirm() * [EC-784] Move postOrganizationUsersPublicKey() Also modify signature to avoid exposing API request model * [EC-784] Move postOrganizationUserBulkConfirm() * [EC-784] Move putOrganizationUser() * [EC-784] Move putOrganizationUserGroups() * [EC-784] Update abstraction method definitions to use abstract keyword * [EC-784] Move putOrganizationUserResetPasswordEnrollment() * [EC-784] Move putOrganizationUserResetPassword() * [EC-784] Move deleteOrganizationUser() * [EC-784] Move deleteManyOrganizationUsers() * [EC-784] Move revokeOrganizationUser() * [EC-784] Move revokeManyOrganizationUsers() * [EC-784] Move restoreOrganizationUser() * [EC-784] Move restoreManyOrganizationUsers() * [EC-784] Move internal OrganizationUserBulkRequest model out of service abstraction * [EC-784] Rename organizationUser folder to organization-user |
4 years ago |
|
|
9dc72428d0
|
[EC-584] Update ApiService to remove any appendages to ClientVersion (#4008)
* [EC-584] Update ApiService to remove any appendages to ClientVersion * [EC-584] Extract application version number logic from ApiService to PlatformUtils * Update libs/electron/src/services/electronPlatformUtils.service.ts Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> * [EC-584] Use getApplicationVersion as source for getApplicationVersionNumber * [EC-584] Remove defaulting to dash on getApplicationVersionNumber and add unit tests Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> |
4 years ago |
|
|
6e1aef543d
|
Ps 1061 cli update command returns wrong version (#4071)
* PS-1061 - replace out of date url references * PS-1061 - reverse position of error case handling to reduce nesting * PS-1061 - remove unnecessary constructor parameters, move downloadUrl construction to separate function * PS-1061 - move constants outside of class, readability improvements * PS-1061 - use standard notation for property assignment * PS-1061 - initialize downloadUrl with default value |
4 years ago |
|
|
076e605f10
|
[PS-1879] Fix Key Connector Migration Flow (#4080)
* Move OrganizationService to fullSync * Add Tech Debt Tracking Link * Remove Commented out code * Add InternalOrganizationService * Use InternalOrganization in services that get to update state |
4 years ago |
|
|
80f5a883e0
|
[PS-1884] [TDL-189] [TDL-203] Move libs/node files to CLI and rename per ADR12 (#4069)
* Extract files only used in cli out of libs/node Move commands from libs/node to cli Move program from libs/node to cli Move services from libs/node to cli Move specs from libs/node to cli Naming changes based on ADR 12 Rename commands Rename models/request Rename models/response Remove entries from whitelist-capital-letters.txt * Merge lowDbStorageService into base class Move logic from extended lowdbStorage.service.ts into base-lowdb-storage.service.ts Delete lowdb-storage.service.ts Rename base-lowdb-storage.service.ts to lowdb-storage.service.ts * Merge login.command with base class program.ts - changed import temporarily to make it easier to review Remove passing in clientId, set "cli" when constructing ssoRedirectUri call Remove setting callbacks, use private methods instead Remove i18nService from constructor params Add syncService, keyConnectorService and logoutCallback to constructor Merge successCallback with handleSuccessResponse Remove validatedParams callback and added private method Move options(program.OptionValues) and set in run() Delete login.command.ts * Rename base-login.command.ts to login.command.ts * Merge base.program.ts with program.ts |
4 years ago |
|
|
6049e588e4
|
Rename nodeCryptoFunctionService (#4070)
|
4 years ago |
|
|
df0a148ed8
|
[PS 1624]CLI get and delete folder command, fails if using GUID and Session key (#4026)
* Resolve get&delete folder cmd on cli using GUID&Sessionkey * Using the getFromState on the edit.command.ts Co-authored-by: dynwee <onwudiweokeke@gmail.com> |
4 years ago |
|
|
b96ae86de2
|
Expand serve origin protection warning (#4024)
This warning was kept vague during fix rollout, but now that we're more than a release past, we can expand the explanation. |
4 years ago |
|
|
586ae4346c
|
Remove uses of rxjs in CLI (#4028)
|
4 years ago |
|
|
c1b25f4389
|
[PS-1841] Fix org-* commands for CLI (#4013)
* Add getFromState method * Added a method for CLI to get an org from state * Converted all CLI calls to `.get()` * Used `.getFromState` instead of `.get` * Deprecate getFromState method |
4 years ago |
|
|
da47992a22
|
[EC-272] Web workers using EncryptionService (#3532)
* Add item decryption to encryptService * Create multithreadEncryptService subclass to handle web workers * Create encryption web worker * Refactor cipherService to use new interface * Update dependencies |
4 years ago |
|
|
41d6b6bd21
|
Ps 976 moving of read only organization collection items to different folder not possible (#3474)
* PS-976 - when user has cipher readonly permissions, prevent user from editing cipher fields and make separate api call that only updates Favorite and Folder values * PS-976 - in the readonly edit cipher view, hide non-operable buttons and display select values as readonly input text * PS-976 - update failing test * PS-976 - split cipher saveWithServer call into Create and Update calls * PS-976 - replace property with function call to get the card expiration month for the readonly view * MM-976 - when user has readonly permissions hide "delete" button on View Item view, hide generate username/password buttons on Edit Item view * PS-976 - rename cipherPartialRequest file to align with new naming convention |
4 years ago |
|
|
cf2d3f5382
|
[SM-288] Rename requests and responses to follow naming convention (#3806)
|
4 years ago |
|
|
e941f06bac
|
[SM-288] Rename models to follow naming convention (#3795)
|
4 years ago |
|
|
18bc209b73
|
[PS-1194] Display Creation Date in Clients (#3181)
* Add CreationDate to common libs * Add CreationDate to Browser * Add CreationDate to CLI * Add CreationDate to Desktop * Add CreationDate to Web * Update tests Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
4 years ago |
|
|
3a298bd989
|
[EC-377] Transition Policy service into providing observables (#3259)
* Added abstractions for PolicyApiService and PolicyService * Added implementations for PolicyApiService and PolicyService * Updated all references to new PolicyApiService and PolicyService * Deleted old PolicyService abstraction and implementation * Fixed CLI import path for policy.service * Fixed main.background.ts policyApiService dependency for policyService * Ran prettier * Updated policy-api.service with the correct imports * [EC-377] Removed methods from StateService that read policies * [EC-377] Updated policy service getAll method to use observable collection * [EC-377] Added first unit tests for policy service * [EC-377] Added more unit tests for Policy Service * [EC-376] Sorted methods order in PolicyApiService * [EC-376] Removed unused clearCache method from PolicyService * [EC-376] Added upsert method to PolicyService * [EC-376] PolicyApiService putPolicy method now upserts data to PolicyService * [EC-377] Removed tests for deleted clearCache method * [EC-377] Added unit test for PolicyService.upsert * [EC-377] Updated references to state service observables * [EC-377] Removed getAll method from PolicyService and refactored components to use observable collection * [EC-377] Updated components to use concatMap instead of async subscribe * [EC-377] Removed getPolicyForOrganization from policyApiService * [EC-377] Updated policyAppliesToUser to return observable collection * [EC-377] Changed policyService.policyAppliesToUser to return observable * [EC-377] Fixed browser settings.component.ts getting vault timeout * Updated people.component.ts to get ResetPassword policy through a subscription * [EC-377] Changed passwordGenerationService.getOptions to return observable * [EC-377] Fixed CLI generate.command.ts getting enforcePasswordGeneratorPoliciesOnOptions * [EC-377] Fixed eslint errors on rxjs * [EC-377] Reverted changes on passwordGeneration.service and vaultTimeout.service * [EC-377] Removed eslint disable on web/vault/add-edit-component * [EC-377] Changed AccountData.policies to TemporaryDataEncryption * [EC-377] Updated import.component to be reactive to policyAppliesToUser$ * [EC-377] Updated importBlockedByPolicy$ * [EC-377] Fixed missing rename * [EC-377] Updated policyService.masterPasswordPolicyOptions to return observable * [EC-377] Fixed vaultTimeout imports from merge * [EC-377] Reverted call to passwordGenerationService.getOptions * [EC-377] Reverted call to enforcePasswordGeneratorPoliciesOnOptions * [EC-377] Removed unneeded ngOnDestroy * Apply suggestions from code review Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> * [EC-377] Fixed login.component.ts and register.component.ts * [EC-377] Updated PolicyService to update vaultTimeout * [EC-377] Updated PolicyService dependencies * [EC-377] Renamed policyAppliesToUser to policyAppliesToActiveUser * [EC-377] VaultTimeoutSettings service now gets the vault timeout directly instead of using observables * [EC-377] Fixed unit tests by removing unneeded vaultTimeoutSettingsService * [EC-377] Set getDecryptedPolicies and setDecryptedPolicies as deprecated * [EC-377] Set PolicyService.getAll as deprecated and updated to use prototype.hasOwnProperty * [EC-565] Reverted unintended change to vaultTimeoutSettings that was causing a bug to not display the correct vault timeout * [EC-377] Removed unneeded destroy$ from preferences.component.ts * [EC-377] Fixed policy.service.ts import of OrganizationService Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com> Co-authored-by: mimartin12 <77340197+mimartin12@users.noreply.github.com> |
4 years ago |
|
|
a0e89af120
|
[SM-255] Forbid absolute imports in libs (#3624)
|
4 years ago |
|
|
c6dccc354c
|
[PS-1092] Organization Service Observables (#3462)
* Update imports * Implement observables in a few places * Add tests * Get all clients working * Use _destroy * Address PR feedback * Address PR feedback * Address feedback |
4 years ago |
|
|
8cc54181fc
|
Correct bw send get -h internal CLI documentation (#3576)
|
4 years ago |
|
|
144d0a8beb
|
Corrected help command string (#3560)
|
4 years ago |
|
|
cff2422d7f
|
[EC-499] Add encryptService to domain model decryption (#3385)
Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
4 years ago |
|
|
25207c2858
|
Extract settings related methods into VaultTimeoutSettingsService (#3419)
* Extract into new VaultTimeoutSettingsService * Ensure new service is instantiated and registered for DI * Create vaultTimeoutSettingsServiceFactory * Fix VaultTimeoutServiceFactory * Remove any and use void instead |
4 years ago |
|
|
88a6541bd8
|
Refactorings for vaultTimeoutService/ServiceFactories (#3416)
* Move vaultTimeoutAbstraction into it's own folder * Move vaultTimeout service into it's own folder * Added vaultTimeoutServiceFactory and it's missing dependencies |
4 years ago |
|
|
2c208edb98
|
Add `sync$` observable (#3384)
* Add sync$ observable * Update lock method Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com> |
4 years ago |
|
|
a108476c3c
|
[SM-89] Updates to encrypted export (#2963)
* Rough draft of Export/Import changes w/ password encryption * fix for encrypted export changes * Create launch.json * Updates to export logic modal user secret prompt * Updates to error handling * renaming the component for checking the user secret to a name that is more clear about what it accomplishes * Fixing lint errors * Adding a comment * Suggested changes from CR * Suggested changes from CR * Making suggested changes * removing unnecessary properties * changes suggested * Fix * Updating error messages * Removing unecessary launch.json file commit * running lint, removing commented code * removing launch.json * Updates to remove the userVerificationPromptService * updates * Removing unused import, running npm prettier/lint * Changes to use Form Fields * Updates * updates requested by Matt * Update apps/web/src/app/tools/import-export/export.component.ts Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> * Suggested Changes from PR * Fix after merge from Master * changes to styling * Removing unused code and cleanup * Update libs/angular/src/components/user-verification-prompt.component.ts Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> * Update apps/web/src/locales/en/messages.json Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> * Changes suggested by Thomas R * Merging master into branch * Revert "Merging master into branch" This reverts commit |
4 years ago |
|
|
90137936fa
|
[EC-473] Add feature flags to common code (#3324)
|
4 years ago |
|
|
4c5a46ce13
|
[PS-1363] Tech debt and small refactorings (#3377)
* Remove cast to any as Utils.gobal got typed with #3131 * BitwardenFileUploadService: Remove unneeded dependency * Remove allowSoftLock from vaultTimeoutService * ImportService: Remove dependency on PlatformUtilsSvc |
4 years ago |
|
|
7145b13df1
|
[PS-1093] Move Organization Api Calls (#3243)
* Move organization api calls into seperate service * Remove unneeded unknown * Address PR feedback |
4 years ago |
|
|
e7da2f0c22
|
Allow bw sync without unlocking (#2916)
|
4 years ago |
|
|
6e68761337
|
PS-1230 PS-1152 Fix/improve null origin message (#3280)
* Improve message if Origin header value is empty * PS-1230 Remove serve feature flag |
4 years ago |
|
|
1ba76dec16
|
[PS-1107] User Verification Service Refactor (#3219)
* UserVerificationService refactor * Remove temp change * move import order * Address PR feedback |
4 years ago |
|
|
c263eacd88
|
[EC-376] Extract API logic from PolicyService to PolicyApiService (#3203)
* Added abstractions for PolicyApiService and PolicyService * Added implementations for PolicyApiService and PolicyService * Updated all references to new PolicyApiService and PolicyService * Deleted old PolicyService abstraction and implementation * Fixed CLI import path for policy.service * Fixed main.background.ts policyApiService dependency for policyService * Updated policy-api.service with the correct imports * [EC-376] Sorted methods order in PolicyApiService * [EC-376] Removed unused clearCache method from PolicyService * [EC-376] Added upsert method to PolicyService * [EC-376] PolicyApiService putPolicy method now upserts data to PolicyService |
4 years ago |
|
|
e7220644d1
|
[PS-1152] CLI serve forbid browser requests (#3220)
* Inconsiquential change to allow a draft PR
* Serve blocks requests from browsers by default
Option is provided to override this behavior for backwards
compatibility.
* Revert "Inconsiquential change to allow a draft PR"
This reverts commit
|
4 years ago |
|
|
c90eb42ead
|
[EC-271] Refactor CryptoService - move symmetric encryption to EncryptService (#3042)
* move decryptFromBytes, decryptToBytes, and encryptToBytes from CryptoService to EncryptService * leave redirects in CryptoService * combine encryptService decryptFromBytes and decryptToBytes methods * move parsing logic into EncArrayBuffer * add tests |
4 years ago |
|
|
528af15eb0
|
Do not use deprecated method (#3155)
|
4 years ago |
|
|
fbff2e5f00
|
[PS-1134] Folder fixes, including revamped auth logic (#3118)
|
4 years ago |
|
|
23253b3882
|
[PS-1078] Refactor FolderService to use Observables (#3022)
|
4 years ago |
|
|
f79c4f0c65
|
Extract API logic from FolderService to FolderApiService (#3011)
|
4 years ago |
|
|
399b8c2b34
|
PS-813 Add memory storage to state service (#2892)
* Use abstract methods and generics in StorageService * Prepend `Abstract` to abstract classes * Create session browser storage service * Use memory storage service for state memory * Inject memory storage service * Maintain filename extensions to help ide formatting * Preserve state if it's still in memory * Use jslib's memory storage service * linter * Create prototypes on stored objects * standardize package scripts * Add type safety to `withPrototype` decorators * webpack notify manifest version * Fix desktop * linter * Fix script * Improve prototye application * do not change prototype if it already matches desired * fix error with object values prototype application * Handle null state * Apply prototypes to browser-specific state * Add angular language server to recommended extensions * Improve browser state service tests * Start testing state Service * Fix abstract returns * Move test setup files to not be picked up by default glob matchers * Add key generation service * Add low-dependency encrypt service * Back crypto service with encrypt service. We'll want to work items that don't require state over to encrypt service * Add new storage service and tests * Properly init more stored values * Fix reload issues when state service is recovering state from session storage Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com> Co-authored-by: Justin Baur <admin@justinbaur.com> * Simplify encrypt service * Do not log mac failures for local-backed session storage * `content` changed to `main` in #2245 * Fix CLI * Remove loggin * PR feedback * Merge remote-tracking branch 'origin/master' into add-memory-storage-to-state-service * Fix desktop * Fix decrypt method signature * Minify if not development * Key is required Co-authored-by: Thomas Avery <Thomas-Avery@users.noreply.github.com> Co-authored-by: Justin Baur <admin@justinbaur.com> |
4 years ago |
|
|
fd69e163ff
|
[PS-683] Update negative copy (#2912)
* feat(browser): Update auto biometrics copy * refactor(common): remove TotpService.isAutoCopyEnabled and use state directly The TotpService was just taking the value from StateService and forwarding it, making it depend on state service. All services that depended on the TotpService.isAutoCopyEnable flag also depended on StateService. This therefore simplifies things by using StateService directly. * feat(browser): update auto totp copy * feat(browser): update add login notification copy * feat(browser): update change password notification copy * feat(browser): update context menu copy * feat(browser): update show cards current tab copy * feat(browser): update show identities current tab copy * feat(browser): update enable favicon copy * feat(browser): update badge counter copy * feat(browser): update auto-fill copy * feat(desktop): update auto biometrics prompt copy * feat(desktop): update favicon copy * feat(desktop): adjust copy * feat(web): update favicons copy * feat(web): adjust copy * feat(web): update preference settings to sentence case * feat(browser): update settings and options page to sentence case * feat(desktop): update settings to sentence case * feat(web): update copy * feat(desktop): update copy |
4 years ago |
|
|
bc639688e8
|
Use NPM workspace (#2874)
|
4 years ago |
|
|
8519decb7c
|
[EC-177] Update Key Connector error handling (#2748)
* Update jslib, deps and messages.json |
4 years ago |
|
|
980429f4bd |
Move CLI to apps/cli
|
4 years ago |