@interop/was-react 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +70 -29
  2. package/dist/auth/walletRequestTypes.d.ts +30 -47
  3. package/dist/auth/walletRequestTypes.d.ts.map +1 -1
  4. package/dist/config.d.ts +28 -18
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +0 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/dev/provisionDevGrants.d.ts +7 -3
  9. package/dist/dev/provisionDevGrants.d.ts.map +1 -1
  10. package/dist/dev/provisionDevGrants.js +19 -7
  11. package/dist/dev/provisionDevGrants.js.map +1 -1
  12. package/dist/identity/seedCredential.d.ts +15 -13
  13. package/dist/identity/seedCredential.d.ts.map +1 -1
  14. package/dist/identity/seedCredential.js +15 -16
  15. package/dist/identity/seedCredential.js.map +1 -1
  16. package/dist/identity/seedStore.d.ts.map +1 -1
  17. package/dist/identity/seedStore.js +4 -3
  18. package/dist/identity/seedStore.js.map +1 -1
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/react/documentApp.d.ts +5 -5
  24. package/dist/react/documentApp.d.ts.map +1 -1
  25. package/dist/react/documentApp.js +14 -17
  26. package/dist/react/documentApp.js.map +1 -1
  27. package/dist/session/authStore.d.ts +4 -3
  28. package/dist/session/authStore.d.ts.map +1 -1
  29. package/dist/session/authStore.js +89 -55
  30. package/dist/session/authStore.js.map +1 -1
  31. package/dist/storage/adopt.d.ts +6 -5
  32. package/dist/storage/adopt.d.ts.map +1 -1
  33. package/dist/storage/adopt.js +22 -10
  34. package/dist/storage/adopt.js.map +1 -1
  35. package/dist/storage/entityStore.d.ts +37 -9
  36. package/dist/storage/entityStore.d.ts.map +1 -1
  37. package/dist/storage/entityStore.js +19 -9
  38. package/dist/storage/entityStore.js.map +1 -1
  39. package/dist/storage/localStore.d.ts.map +1 -1
  40. package/dist/storage/localStore.js +51 -61
  41. package/dist/storage/localStore.js.map +1 -1
  42. package/dist/storage/sharedCollectionReader.d.ts.map +1 -1
  43. package/dist/storage/sharedCollectionReader.js +15 -14
  44. package/dist/storage/sharedCollectionReader.js.map +1 -1
  45. package/dist/storage/storageManager.d.ts +30 -0
  46. package/dist/storage/storageManager.d.ts.map +1 -1
  47. package/dist/storage/storageManager.js +46 -0
  48. package/dist/storage/storageManager.js.map +1 -1
  49. package/dist/storage/wasRemoteStore.d.ts +99 -28
  50. package/dist/storage/wasRemoteStore.d.ts.map +1 -1
  51. package/dist/storage/wasRemoteStore.js +205 -30
  52. package/dist/storage/wasRemoteStore.js.map +1 -1
  53. package/dist/storage/wasSync.d.ts +17 -6
  54. package/dist/storage/wasSync.d.ts.map +1 -1
  55. package/dist/storage/wasSync.js +39 -9
  56. package/dist/storage/wasSync.js.map +1 -1
  57. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authStore.js","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,21 @@ import type { LocalStore } from './localStore.js';
5
5
  * first `hydrateAll`/sync start, so adopted rows enter the entity stores via
6
6
  * normal hydration and reach the server as ordinary creates on first push.
7
7
  *
8
+ * The rows are written through `LocalStore` directly, which does not stamp;
9
+ * the preserve-if-present / fill-if-missing repair below is deliberate and
10
+ * differs from the entity-store write verbs' fresh-stamp-always rule, because
11
+ * an adopted edit must keep the instant it was actually made.
12
+ *
8
13
  * @param options {object}
9
14
  * @param options.store {LocalStore} the open connected replica
10
15
  * @param options.entities {Record<string, Array<{ id: string }>>} decrypted
11
16
  * payloads per collection key, as collected from the anonymous replica
12
- * @param options.writerId {string} the session's resolved LWW writer id
13
- * (stamped onto payloads missing their LWW fields, so the repair carries the
14
- * same attribution identity as the app's own writes)
15
17
  * @returns {Promise<void>}
16
18
  */
17
- export declare function mergeAdopted({ store, entities, writerId }: {
19
+ export declare function mergeAdopted({ store, entities }: {
18
20
  store: LocalStore;
19
21
  entities: Record<string, Array<{
20
22
  id: string;
21
23
  }>>;
22
- writerId: string;
23
24
  }): Promise<void>;
24
25
  //# sourceMappingURL=adopt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/storage/adopt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EACT,EAAE;IACD,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC/C,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/storage/adopt.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,YAAY,CAAC,EACjC,KAAK,EACL,QAAQ,EACT,EAAE;IACD,KAAK,EAAE,UAAU,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAChD,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChB"}
@@ -18,45 +18,57 @@
18
18
  * with the session's resolved writer id (the sync layer's conflict resolution
19
19
  * requires them); payloads that already carry them keep their original values,
20
20
  * so a doc edited long ago does not suddenly outrank fresher remote edits.
21
+ * That preserve-if-present rule is deliberately unlike the entity-store write
22
+ * verbs, which always stamp fresh: this is a repair of an existing edit, not a
23
+ * new one.
21
24
  */
22
25
  import { lwwFields, remotePayloadWins } from '../sync/lww.js';
26
+ import { requireWriterId } from './storageManager.js';
23
27
  /**
24
28
  * Merges the collected anonymous-replica payloads into `store` (the already
25
29
  * open connected replica) under the per-uuid LWW policy above. Runs before the
26
30
  * first `hydrateAll`/sync start, so adopted rows enter the entity stores via
27
31
  * normal hydration and reach the server as ordinary creates on first push.
28
32
  *
33
+ * The rows are written through `LocalStore` directly, which does not stamp;
34
+ * the preserve-if-present / fill-if-missing repair below is deliberate and
35
+ * differs from the entity-store write verbs' fresh-stamp-always rule, because
36
+ * an adopted edit must keep the instant it was actually made.
37
+ *
29
38
  * @param options {object}
30
39
  * @param options.store {LocalStore} the open connected replica
31
40
  * @param options.entities {Record<string, Array<{ id: string }>>} decrypted
32
41
  * payloads per collection key, as collected from the anonymous replica
33
- * @param options.writerId {string} the session's resolved LWW writer id
34
- * (stamped onto payloads missing their LWW fields, so the repair carries the
35
- * same attribution identity as the app's own writes)
36
42
  * @returns {Promise<void>}
37
43
  */
38
- export async function mergeAdopted({ store, entities, writerId }) {
44
+ export async function mergeAdopted({ store, entities }) {
39
45
  let stamp = null;
40
- for (const [key, payloads] of Object.entries(entities)) {
46
+ // Collections are separate RxDB collections and each logical uuid appears at
47
+ // most once per collection, so every write below is independent of every
48
+ // other: they run concurrently rather than one round trip at a time.
49
+ await Promise.all(Object.entries(entities).map(async ([key, payloads]) => {
41
50
  const existing = new Map((await store.listEntities(key)).map(doc => [doc.id, doc]));
42
- for (const payload of payloads) {
51
+ await Promise.all(payloads.map(async (payload) => {
43
52
  let adopted = payload;
44
53
  let adoptedLww = lwwFields(payload);
45
54
  if (!adoptedLww) {
46
- stamp ??= { updatedAt: new Date().toISOString(), writerId };
55
+ stamp ??= {
56
+ updatedAt: new Date().toISOString(),
57
+ writerId: requireWriterId()
58
+ };
47
59
  adopted = { ...payload, ...stamp };
48
60
  adoptedLww = stamp;
49
61
  }
50
62
  const current = existing.get(payload.id);
51
63
  if (!current) {
52
64
  await store.insertEntity(key, adopted);
53
- continue;
65
+ return;
54
66
  }
55
67
  const currentLww = lwwFields(current);
56
68
  if (!currentLww || remotePayloadWins(adoptedLww, currentLww)) {
57
69
  await store.updateEntity(key, adopted);
58
70
  }
59
- }
60
- }
71
+ }));
72
+ }));
61
73
  }
62
74
  //# sourceMappingURL=adopt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/storage/adopt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,EAKT;IACC,IAAI,KAAK,GAAmD,IAAI,CAAA;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAC1D,CAAA;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,OAAO,CAAA;YACrB,IAAI,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,KAAK,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAA;gBAC3D,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;gBAClC,UAAU,GAAG,KAAK,CAAA;YACpB,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC7D,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/storage/adopt.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,KAAK,EACL,QAAQ,EAIT;IACC,IAAI,KAAK,GAAmD,IAAI,CAAA;IAChE,6EAA6E;IAC7E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAC1D,CAAA;QACD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC3B,IAAI,OAAO,GAAG,OAAO,CAAA;YACrB,IAAI,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,KAAK,KAAK;oBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ,EAAE,eAAe,EAAE;iBAC5B,CAAA;gBACD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;gBAClC,UAAU,GAAG,KAAK,CAAA;YACpB,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBACtC,OAAM;YACR,CAAC;YACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC7D,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACxC,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
@@ -8,6 +8,10 @@
8
8
  * reads through selectors and applies the app's own comparators/filters; this
9
9
  * layer stays domain-agnostic so every entity shares it.
10
10
  *
11
+ * The persisted write verbs (`insert` / `update` / `upsert`) stamp the
12
+ * last-write-wins fields themselves through {@link stampLww}, so an app can
13
+ * never degrade conflict resolution by forgetting to.
14
+ *
11
15
  * Reactivity note: local writes patch the Map optimistically after the localStore
12
16
  * write resolves. Pulled remote changes are applied per-doc by the sync layer
13
17
  * through `patch` / `drop` (no whole-collection re-hydrate), keeping multi-device
@@ -18,6 +22,16 @@
18
22
  * local writes stay immediate so a single edit is snappy.
19
23
  */
20
24
  import { type UseBoundStore, type StoreApi } from 'zustand';
25
+ /**
26
+ * What the persisted write verbs accept: the payload WITHOUT its last-write-wins
27
+ * fields, which the verb stamps itself. The fields stay optional rather than
28
+ * forbidden so a caller that still supplies them keeps compiling -- their values
29
+ * are overwritten.
30
+ */
31
+ type WritablePayload<T> = Omit<T, 'updatedAt' | 'writerId'> & {
32
+ updatedAt?: string;
33
+ writerId?: string;
34
+ };
21
35
  export interface EntityStore<T extends {
22
36
  id: string;
23
37
  }> {
@@ -30,20 +44,24 @@ export interface EntityStore<T extends {
30
44
  */
31
45
  hydrate: () => Promise<void>;
32
46
  /**
33
- * Encrypt+insert a new doc, then add it to the Map.
47
+ * Encrypt+insert a new doc, then add it to the Map. Fresh `updatedAt` /
48
+ * `writerId` LWW fields are stamped by this verb, overwriting any the caller
49
+ * supplied; the Map holds exactly what was persisted.
34
50
  */
35
- insert: (doc: T) => Promise<void>;
51
+ insert: (doc: WritablePayload<T>) => Promise<void>;
36
52
  /**
37
- * Re-encrypt a doc in place (sequence+1), then replace it in the Map.
53
+ * Re-encrypt a doc in place (sequence+1), then replace it in the Map. Fresh
54
+ * LWW fields are stamped by this verb, as for {@link EntityStore.insert}.
38
55
  */
39
- update: (doc: T) => Promise<void>;
56
+ update: (doc: WritablePayload<T>) => Promise<void>;
40
57
  /**
41
58
  * Encrypt+insert the doc when its uuid is new, otherwise re-encrypt it in
42
59
  * place (insert-or-update routed by the hydration index), then set it in the
43
60
  * Map. The verb for callers that do not track an insert-vs-update flag of
44
- * their own (e.g. a singleton document).
61
+ * their own (e.g. a singleton document). Fresh LWW fields are stamped by this
62
+ * verb, as for {@link EntityStore.insert}.
45
63
  */
46
- upsert: (doc: T) => Promise<void>;
64
+ upsert: (doc: WritablePayload<T>) => Promise<void>;
47
65
  /**
48
66
  * Tombstone a doc, then drop it from the Map.
49
67
  */
@@ -75,9 +93,18 @@ export interface EntityStore<T extends {
75
93
  * path; the replica already holds this device's rows). Multiple `equals`
76
94
  * attributes AND together; values are string equality only, and every
77
95
  * attribute must appear in the collection config's declared `indexes`.
78
- * Requires a wallet-connected session and, for now, a `visibility: 'public'`
79
- * (plaintext) collection -- the encrypted blinded-index path is not yet
80
- * supported. Pass the returned `cursor` back in to fetch the next page while
96
+ * Requires a wallet-connected session.
97
+ *
98
+ * Works on either visibility. A public (plaintext) collection is queried
99
+ * with the server-side `filter[attr]=value` form; a private (encrypted) one
100
+ * with the blinded-index profile, which needs the collection to have been
101
+ * provisioned with a blinded-index key. On a private collection the standing
102
+ * limitation is that documents written through the local-first sync path do
103
+ * not yet carry blinded index entries, so a query finds only documents
104
+ * written through an index-aware cipher; they become findable once
105
+ * rewritten that way.
106
+ *
107
+ * Pass the returned `cursor` back in to fetch the next page while
81
108
  * `hasMore` is true.
82
109
  */
83
110
  query: (query: {
@@ -99,4 +126,5 @@ export interface EntityStore<T extends {
99
126
  export declare function createEntityStore<T extends {
100
127
  id: string;
101
128
  }>(collectionKey: string): UseBoundStore<StoreApi<EntityStore<T>>>;
129
+ export {};
102
130
  //# sourceMappingURL=entityStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityStore.d.ts","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAInE,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACnD;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B;;OAEG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC;;OAEG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAC/B;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IACvB;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACxD,aAAa,EAAE,MAAM,GACpB,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CA+IzC"}
1
+ {"version":3,"file":"entityStore.d.ts","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAInE;;;;;GAKG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACnD;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B;;;;OAIG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAC/B;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IACvB;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACxD,aAAa,EAAE,MAAM,GACpB,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAqJzC"}
@@ -8,6 +8,10 @@
8
8
  * reads through selectors and applies the app's own comparators/filters; this
9
9
  * layer stays domain-agnostic so every entity shares it.
10
10
  *
11
+ * The persisted write verbs (`insert` / `update` / `upsert`) stamp the
12
+ * last-write-wins fields themselves through {@link stampLww}, so an app can
13
+ * never degrade conflict resolution by forgetting to.
14
+ *
11
15
  * Reactivity note: local writes patch the Map optimistically after the localStore
12
16
  * write resolves. Pulled remote changes are applied per-doc by the sync layer
13
17
  * through `patch` / `drop` (no whole-collection re-hydrate), keeping multi-device
@@ -18,7 +22,7 @@
18
22
  * local writes stay immediate so a single edit is snappy.
19
23
  */
20
24
  import { create } from 'zustand';
21
- import { requireStore, requireRemoteStore } from './storageManager.js';
25
+ import { requireStore, requireRemoteStore, stampLww } from './storageManager.js';
22
26
  import { lwwFields, remotePayloadWins } from '../sync/lww.js';
23
27
  /**
24
28
  * Builds a zustand hook for the collection whose localStore key is `collectionKey`.
@@ -111,16 +115,21 @@ export function createEntityStore(collectionKey) {
111
115
  set({ byId: new Map(docs.map(d => [d.id, d])) });
112
116
  },
113
117
  insert: async (doc) => {
114
- await requireStore().insertEntity(collectionKey, doc);
115
- commitDoc(doc);
118
+ // Stamp once, then persist and commit the SAME object, so the
119
+ // optimistic Map entry is byte-for-byte what the replica holds.
120
+ const stamped = stampLww(doc);
121
+ await requireStore().insertEntity(collectionKey, stamped);
122
+ commitDoc(stamped);
116
123
  },
117
124
  update: async (doc) => {
118
- await requireStore().updateEntity(collectionKey, doc);
119
- commitDoc(doc);
125
+ const stamped = stampLww(doc);
126
+ await requireStore().updateEntity(collectionKey, stamped);
127
+ commitDoc(stamped);
120
128
  },
121
129
  upsert: async (doc) => {
122
- await requireStore().upsertEntity(collectionKey, doc);
123
- commitDoc(doc);
130
+ const stamped = stampLww(doc);
131
+ await requireStore().upsertEntity(collectionKey, stamped);
132
+ commitDoc(stamped);
124
133
  },
125
134
  remove: async (uuid) => {
126
135
  await requireStore().deleteEntity(collectionKey, uuid);
@@ -150,8 +159,9 @@ export function createEntityStore(collectionKey) {
150
159
  ...(cursor !== undefined && { cursor })
151
160
  });
152
161
  // `data` is the stored JSON content -- for a public (plaintext)
153
- // collection that IS the payload; a blob resource carries none and is
154
- // omitted.
162
+ // collection that IS the payload, and for a private one it is the
163
+ // decrypted envelope content, which is the payload too; a blob
164
+ // resource carries none and is omitted.
155
165
  const docs = page.documents
156
166
  .filter(document => document.data !== undefined)
157
167
  .map(document => document.data);
@@ -1 +1 @@
1
- {"version":3,"file":"entityStore.js","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entityStore.js","sourceRoot":"","sources":["../../src/storage/entityStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../src/storage/localStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localStore.d.ts","sourceRoot":"","sources":["../../src/storage/localStore.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@
26
26
  */
27
27
  import { createRxDatabase, removeRxDatabase } from 'rxdb/plugins/core';
28
28
  import { getRxStorageDexie } from 'rxdb/plugins/storage-dexie';
29
- import { DEFAULT_DB_NAME, validateCollections, validateSharedCollections } from '../config.js';
29
+ import { DEFAULT_DB_NAME, isPublicCollection, validateCollections, validateSharedCollections } from '../config.js';
30
30
  import { DescriptorRefreshPolicy } from '@interop/wallet-core/descriptors';
31
31
  import { syncedDocSchema, createDocCipher, createPlaintextDocCodec, createUnprovisionedDocCipher, hasKeyEpochs, isUnknownEpochError, makeLwwConflictHandler, remotePayloadWins } from '../sync/index.js';
32
32
  /**
@@ -152,10 +152,11 @@ export class LocalStore {
152
152
  // Build every collection's cipher concurrently: each private one runs real
153
153
  // asymmetric crypto (an ECDH unwrap of the epoch secret) on the boot
154
154
  // critical path, and no collection's cipher depends on another's.
155
- await Promise.all(collections.map(async ({ key, id, visibility }) => {
155
+ await Promise.all(collections.map(async (collection) => {
156
+ const { key, id } = collection;
156
157
  // A public collection is stored plaintext: no key derivation, no EDV
157
158
  // cipher -- just the pass-through codec behind the same seam.
158
- if (visibility === 'public') {
159
+ if (isPublicCollection(collection)) {
159
160
  ciphers[key] = createPlaintextDocCodec({ collectionId: id });
160
161
  return;
161
162
  }
@@ -336,7 +337,7 @@ export class LocalStore {
336
337
  */
337
338
  async rebuildCipher({ key, encryption }) {
338
339
  const config = this.collectionConfig(key);
339
- if (config.visibility === 'public') {
340
+ if (isPublicCollection(config)) {
340
341
  return;
341
342
  }
342
343
  this.#ciphers[key] = await createDocCipher({
@@ -373,7 +374,7 @@ export class LocalStore {
373
374
  return false;
374
375
  }
375
376
  const config = this.collectionConfig(key);
376
- if (config.visibility === 'public' || !hasKeyEpochs(encryption)) {
377
+ if (isPublicCollection(config) || !hasKeyEpochs(encryption)) {
377
378
  return false;
378
379
  }
379
380
  if (descriptorsEqual(this.#descriptors[key], encryption)) {
@@ -434,24 +435,19 @@ export class LocalStore {
434
435
  async updateEntity(key, payload) {
435
436
  const index = await this.#ensureIndex(key);
436
437
  const envelopeId = index.get(payload.id);
437
- // The entity's envelope may be gone -- another device deleted it and the
438
- // tombstone was pulled (which forgets the index entry), or its row was
439
- // otherwise removed. Rather than throwing (which loses the edit), resurrect
440
- // the entity as a fresh create. This matches the mutable-head LWW rule the
441
- // conflict handler already applies: a live local edit beats a remote
442
- // tombstone, so re-asserting the payload under a new envelope is correct.
443
- if (!envelopeId) {
444
- await this.insertEntity(key, payload);
445
- return;
446
- }
447
- const doc = await this.#collection(key).findOne(envelopeId).exec();
448
- if (!doc) {
449
- index.delete(payload.id);
450
- await this.insertEntity(key, payload);
451
- return;
452
- }
453
- const current = doc.toMutableJSON().data;
454
- if (current === undefined) {
438
+ const doc = envelopeId
439
+ ? await this.#collection(key).findOne(envelopeId).exec()
440
+ : null;
441
+ const current = doc ? doc.toMutableJSON().data : undefined;
442
+ // The entity's envelope may be gone -- unknown to the index (another device
443
+ // deleted it and the tombstone was pulled, which forgets the index entry),
444
+ // its row otherwise removed, or the row left without ciphertext. Rather than
445
+ // throwing (which loses the edit), forget any stale index entry (deleting a
446
+ // missing key is a no-op) and resurrect the entity as a fresh create. This
447
+ // matches the mutable-head LWW rule the conflict handler already applies: a
448
+ // live local edit beats a remote tombstone, so re-asserting the payload
449
+ // under a new envelope is correct.
450
+ if (!envelopeId || !doc || current === undefined) {
455
451
  index.delete(payload.id);
456
452
  await this.insertEntity(key, payload);
457
453
  return;
@@ -535,28 +531,38 @@ export class LocalStore {
535
531
  */
536
532
  async listEntities(key) {
537
533
  const index = new Map();
538
- const docs = await this.#collection(key).find().exec();
534
+ const decoded = await this.#decodeAll(key);
535
+ const payloads = [];
536
+ for (const entry of decoded) {
537
+ index.set(entry.payload.id, entry.envelopeId);
538
+ payloads.push(entry.payload);
539
+ }
540
+ this.#index[key] = index;
541
+ return payloads;
542
+ }
543
+ /**
544
+ * Decrypts every live row of a collection, dropping rows that carry no
545
+ * ciphertext. Each result keeps its RxDocument alongside the plaintext, so a
546
+ * caller that goes on to remove a row (e.g. the singleton reconciler) needs no
547
+ * second lookup.
548
+ *
549
+ * @param key {string}
550
+ * @returns {Promise<Array<{envelopeId: string, payload: T, row: RxDocument<SyncedDoc>}>>}
551
+ */
552
+ async #decodeAll(key) {
553
+ const rows = await this.#collection(key).find().exec();
539
554
  // Decrypt every row concurrently (the unlock hot path): the store is keyed
540
555
  // by logical uuid, so payload order does not matter and serializing the
541
556
  // per-row WebCrypto work would only add latency.
542
- const decoded = await Promise.all(docs.map(async (doc) => {
543
- const { id: envelopeId, data } = doc.toMutableJSON();
557
+ const decoded = await Promise.all(rows.map(async (row) => {
558
+ const { id: envelopeId, data } = row.toMutableJSON();
544
559
  if (data === undefined) {
545
560
  return null;
546
561
  }
547
562
  const payload = (await this.#decryptWithRefresh(key, data));
548
- return { envelopeId, payload };
563
+ return { envelopeId, payload, row };
549
564
  }));
550
- const payloads = [];
551
- for (const entry of decoded) {
552
- if (entry === null) {
553
- continue;
554
- }
555
- index.set(entry.payload.id, entry.envelopeId);
556
- payloads.push(entry.payload);
557
- }
558
- this.#index[key] = index;
559
- return payloads;
565
+ return decoded.filter(entry => entry !== null);
560
566
  }
561
567
  /**
562
568
  * Hydrates a singleton collection (at most one logical entity, e.g. an app's
@@ -572,21 +578,9 @@ export class LocalStore {
572
578
  * @returns {Promise<T | null>}
573
579
  */
574
580
  async hydrateSingleton(key) {
575
- const collection = this.#collection(key);
576
- const rows = await collection.find().exec();
577
- // Decrypt every row concurrently (same rationale as `listEntities`): the
578
- // winner is picked from the whole decoded set afterwards, so payload order
579
- // does not matter and serializing the per-row WebCrypto work would only add
580
- // latency. The loser tombstoning below stays serial.
581
- const decrypted = await Promise.all(rows.map(async (row) => {
582
- const { id: envelopeId, data } = row.toMutableJSON();
583
- if (data === undefined) {
584
- return null;
585
- }
586
- const payload = (await this.#decryptWithRefresh(key, data));
587
- return { envelopeId, payload };
588
- }));
589
- const decoded = decrypted.filter(entry => entry !== null);
581
+ // The winner is picked from the whole decoded set afterwards, so payload
582
+ // order does not matter.
583
+ const decoded = await this.#decodeAll(key);
590
584
  const index = new Map();
591
585
  this.#index[key] = index;
592
586
  if (decoded.length === 0) {
@@ -601,15 +595,11 @@ export class LocalStore {
601
595
  winner = entry;
602
596
  }
603
597
  }
604
- for (const entry of decoded) {
605
- if (entry.envelopeId === winner.envelopeId) {
606
- continue;
607
- }
608
- const doc = await collection.findOne(entry.envelopeId).exec();
609
- if (doc) {
610
- await doc.remove();
611
- }
612
- }
598
+ // The losers are tombstoned through the RxDocuments already in hand,
599
+ // concurrently: no re-lookup, and the removals are independent.
600
+ await Promise.all(decoded
601
+ .filter(entry => entry.envelopeId !== winner.envelopeId)
602
+ .map(async (entry) => await entry.row.remove()));
613
603
  index.set(winner.payload.id, winner.envelopeId);
614
604
  return winner.payload;
615
605
  }