Bernd Schoolmann
ea45c5d3c0
[PM-27315] Add account cryptographic state service ( #17589 )
...
* Update account init and save signed public key
* Add account cryptographic state service
* Fix build
* Cleanup
* Fix build
* Fix import
* Fix build on browser
* Fix
* Fix DI
* Fix
* Fix
* Fix
* Fix
* Fix
* Fix test
* Fix desktop build
* Fix
* Address nits
* Cleanup setting private key
* Add tests
* Add tests
* Add test coverage
* Relative imports
* Fix web build
* Cleanup setting of private key
2025-12-17 22:04:08 +01:00
Bernd Schoolmann
7e7107f165
[PM-27221] Update legacy kdf state on master password unlock sync ( #16966 )
...
* Update legacy kdf state on master password unlock sync
* Fix cli build
* Fix
* Fix build
* Fix cli
* Fix browser
2025-10-23 11:38:10 +02:00
Bernd Schoolmann
cc8bd71775
[PM-21033/PM-22863] User Encryption v2 ( #14942 )
...
* Add new encrypt service functions
* Undo changes
* Cleanup
* Fix build
* Fix comments
* Switch encrypt service to use SDK functions
* Move remaining functions to PureCrypto
* Tests
* Increase test coverage
* Split up userkey rotation v2 and add tests
* Fix eslint
* Fix type errors
* Fix tests
* Implement signing keys
* Fix sdk init
* Remove key rotation v2 flag
* Fix parsing when user does not have signing keys
* Clear up trusted key naming
* Split up getNewAccountKeys
* Add trim and lowercase
* Replace user.email with masterKeySalt
* Add wasTrustDenied to verifyTrust in key rotation service
* Move testable userkey rotation service code to testable class
* Fix build
* Add comments
* Undo changes
* Fix incorrect behavior on aborting key rotation and fix import
* Fix tests
* Make members of userkey rotation service protected
* Fix type error
* Cleanup and add injectable annotation
* Fix tests
* Update apps/web/src/app/key-management/key-rotation/user-key-rotation.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Remove v1 rotation request
* Add upgrade to user encryption v2
* Fix types
* Update sdk method calls
* Update request models for new server api for rotation
* Fix build
* Update userkey rotation for new server API
* Update crypto client call for new sdk changes
* Fix rotation with signing keys
* Cargo lock
* Fix userkey rotation service
* Fix types
* Undo changes to feature flag service
* Fix linting
* [PM-22863] Account security state (#15309 )
* Add account security state
* Update key rotation
* Rename
* Fix build
* Cleanup
* Further cleanup
* Tests
* Increase test coverage
* Add test
* Increase test coverage
* Fix builds and update sdk
* Fix build
* Fix tests
* Reset changes to encrypt service
* Cleanup
* Add comment
* Cleanup
* Cleanup
* Rename model
* Cleanup
* Fix build
* Clean up
* Fix types
* Cleanup
* Cleanup
* Cleanup
* Add test
* Simplify request model
* Rename and add comments
* Fix tests
* Update responses to use less strict typing
* Fix response parsing for v1 users
* Update libs/common/src/key-management/keys/response/private-keys.response.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com >
* Update libs/common/src/key-management/keys/response/private-keys.response.ts
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com >
* Fix build
* Fix build
* Fix build
* Undo change
* Fix attachments not encrypting for v2 users
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com >
2025-10-10 23:04:47 +02:00
Derek Nance
0e56392b34
[PM-13422] Fix flaky test around sync time ( #16773 )
2025-10-07 15:13:33 -05:00
Derek Nance
babbc2b1b6
[PM-13422] Fix sync time ( #16603 )
...
Do not update the "last sync time" when an error occurs during the sync process, including a network error when retrieving the account's revision date/time from the server. Update the sync time when a sync fires automatically, or when forced, in order to make it clear to the user that the extension's data is current.
2025-09-30 15:54:04 -05:00
Bernd Schoolmann
4b73198ce5
[PM-23230] Implement KDF Change Service ( #15748 )
...
* Add new mp service api
* Fix tests
* Add test coverage
* Add newline
* Fix type
* Rename to "unwrapUserKeyFromMasterPasswordUnlockData"
* Fix build
* Fix build on cli
* Fix linting
* Re-sort spec
* Add tests
* Fix test and build issues
* Fix build
* Clean up
* Remove introduced function
* Clean up comments
* Fix abstract class types
* Fix comments
* Cleanup
* Cleanup
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/services/master-password.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/types/master-password.types.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add comments
* Fix build
* Add arg null check
* Cleanup
* Fix build
* Fix build on browser
* Implement KDF change service
* Deprecate encryptUserKeyWithMasterKey
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Update libs/common/src/key-management/master-password/abstractions/master-password.service.abstraction.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add tests for null params
* Fix builds
* Cleanup and deprecate more functions
* Fix formatting
* Prettier
* Clean up
* Update libs/key-management/src/abstractions/key.service.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Make emailToSalt private and expose abstract saltForUser
* Add tests
* Add docs
* Fix build
* Fix tests
* Fix tests
* Address feedback and fix primitive obsession
* Consolidate active account checks in change kdf confirmation component
* Update libs/common/src/key-management/kdf/services/change-kdf-service.spec.ts
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
* Add defensive parameter checks
* Add tests
* Add comment for follow-up epic
* Move change kdf service, remove abstraction and add api service
* Fix test
* Drop redundant null check
* Address feedback
* Add throw on empty password
* Fix tests
* Mark change kdf service as internal
* Add abstract classes
* Switch to abstraction
* use sdk EncString in MasterPasswordUnlockData
* fix remaining tests
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com >
Co-authored-by: Jake Fink <jfink@bitwarden.com >
2025-09-23 16:10:54 -04:00
Maciej Zieniuk
203a24723b
[PM-23243] In sync response and identity success response add MasterPasswordUnlockDataResponse in decryption options response model. ( #15916 )
...
* added master password unlock and decryption option fields into identity token connect response
* incorrect master password unlock response parsing
* use sdk
* use sdk
* better type checking on response parsing
* not using sdk
* revert of bad merge conflicts
* revert of bad merge conflicts
* master password unlock setter in state
* unit test coverage for responses processing
* master password unlock in identity user decryption options
* unit test coverage
* unit test coverage
* unit test coverage
* unit test coverage
* lint error
* set master password unlock data in state on identity response and sync response
* revert change in auth's user decryption options
* remove unnecessary cast
* better docs
* change to relative imports
* MasterPasswordUnlockData serialization issue
* explicit undefined type for `syncUserDecryption`
* incorrect identity token response tests
2025-09-05 16:13:56 +02:00
Justin Baur
939fd402c3
[PM-24677] Slim StateService down so it can be moved to state lib ( #16021 )
...
* Slim StateService down so it can be moved to state lib
* Fix accidental import changes
* Add `switchAccount` assertion
* Needs to use mock
2025-08-18 12:37:25 -04:00
Nick Krantz
888e2031a7
[PM-21090] Vault - Repeated Syncs ( #14740 )
...
* move `fullSync` contents to private methods in prep to storing the respective promise
* store in-flight sync so multiple calls to the sync service are avoided
* Revert "store in-flight sync so multiple calls to the sync service are avoided"
This reverts commit 233c8e9d4b .
* Revert "move `fullSync` contents to private methods in prep to storing the respective promise"
This reverts commit 3f686ac6a4 .
* store inflight API calls for sync service
- This avoids duplicate network requests in a relatively short amount of time but still allows consumers to call `fullSync` if needed
* add debug log for duplicate sync
2025-05-27 08:24:53 -05:00
Addison Beck
56a3b14583
Introduce eslint errors for risky/circular imports ( #14804 )
...
* first draft at an idea dependency graph
* ignore existing errors
* remove conflicting rule regarding internal platform logic in libs
* review: allow components to import from platform
2025-05-23 08:01:25 -04:00
Justin Baur
1d00495078
[PM-20032] Give option to skip token refresh on fullSync ( #14423 )
...
* Give option to skip token refresh on fullSync
* Fix listener
2025-05-01 09:32:10 -04:00