1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-20 02:03:39 +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 { Folder } from "../domain/folder";
import { ITreeNodeObject } from "../domain/treeNode";
@@ -16,4 +18,9 @@ export class FolderView implements View, ITreeNodeObject {
this.id = f.id;
this.revisionDate = f.revisionDate;
}
static fromJSON(obj: Jsonify<FolderView>) {
const revisionDate = obj.revisionDate == null ? null : new Date(obj.revisionDate);
return Object.assign(new FolderView(), obj, { revisionDate });
}
}