1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-19 09:43:23 +00:00

PS-1133 Feature/mv3 browser observable memory caching (#3245)

* Create sessions sync structure

* Add observing to session-syncer

* Do not run syncer logic in decorator tests

* Extract test constants

* Change Observables to BehaviorSubject

* Move sendMessage to static method in BrowserApi

* Implement session sync

* only watch in manifest v3

* Use session sync on folder service

* Add array observable sync

* Bypass cache on update from message

* Create feature and dev flags for browser

* Protect development-only methods with decorator

* Improve todo comments for long-term residency

* Use class properties in init

* Do not reuse mocks

* Use json (de)serialization patterns

* Fix failing session storage in dev environment

* Split up complex EncString constructor

* Default false for decrypted session storage

* Try removing hydrate EncString method

* PR review

* PR test review
This commit is contained in:
Matt Gibson
2022-08-16 06:05:03 -06:00
committed by GitHub
parent 9d0dd613fb
commit 5339344630
37 changed files with 1018 additions and 163 deletions

View File

@@ -1,3 +1,5 @@
import { Jsonify } from "type-fest";
import { FolderData } from "../data/folderData";
import { FolderView } from "../view/folderView";
@@ -37,4 +39,9 @@ export class Folder extends Domain {
null
);
}
static fromJSON(obj: Jsonify<Folder>) {
const revisionDate = obj.revisionDate == null ? null : new Date(obj.revisionDate);
return Object.assign(new Folder(), obj, { name: EncString.fromJSON(obj.name), revisionDate });
}
}