clients/libs/common
Shane Melton 8258ea39b0
[PM-18903] Desktop sync issues (#13681)
* [PM-18707] Use different BroadcasterSubscriptionId in base view component to avoid collision with desktop view component

* [PM-18707] Use userId instead of payloadUserId for cipher notification syncs

* [PM-19032] Live Sync on Desktop (#13851)

* migrate the vault-items to an observables rather than async/promises

- this helps keep data in sync with the service state and avoids race conditions

* migrate the view component to an observables rather than async/promises

- this helps keep data in sync with the service state and avoids race conditions

* decrypt saved cipher from server

* bump timeout for upserting ciphers

* mark `go` as async in desktop vault

- previously it was a floating promise

* Revert "mark `go` as async in desktop vault"

This reverts commit fd28f40b18.

* Revert "bump timeout for upserting ciphers"

This reverts commit e963acc377.

* move vault utilities to `common` rather than `lib` to avoid circular dependencies

* use `perUserCache$` for `cipherViews$` to avoid new subscriptions from being created

* use userId from observable rather than locally set to be the most up to date

* [PM-18707] Add clearBuffer$ input to perUserCache$ helper so that  the internal share replay buffers can be cleared

* [PM-18707] Rework forceCipherViews$ to clearBuffer$ refactor

- Add dependency for cipherDecryptionKeys$ for the cipherViews so that decryption is never attempted without keys

* [PM-18707] Add overload to perUserCache to satisfy type checker

* [PM-18707] Fix overloads

* [PM-18707] Add check for empty failed to decrypt ciphers

* [PM-18707] Mark vault component for check after observable emits.

The cipherViews$ observable now persists between subscriptions, meaning that updates via the sync push notifications can occur outside the AngularZone causing delays in updating the view.

---------

Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Nick Krantz <nick@livefront.com>
2025-04-15 12:17:41 -07:00
..
spec [PM-17408] Create new method on sdk service to allow explicit addition of a new client instance (#13309) 2025-02-24 11:29:47 +01:00
src [PM-18903] Desktop sync issues (#13681) 2025-04-15 12:17:41 -07:00
custom-matchers.d.ts [PM-8847] Delay browser local storage operations during reseed (#9536) 2024-07-19 16:12:29 -04:00
jest.config.js [PM-16872] Update libs to use explicit dependencies (#12770) 2025-01-10 11:21:38 +01:00
package.json PM-16220: Account does not exist during login race condition (#12488) 2025-01-27 16:11:42 +01:00
test.setup.ts Improve SDK direct function usage (#13353) 2025-02-26 09:08:42 +01:00
tsconfig.json [PM-16937] Remove Billing Circular Dependency (#13085) 2025-03-11 13:43:19 -04:00
tsconfig.spec.json [EC-423] Fix unit tests (#3265) 2022-08-11 11:35:08 +10:00