@interop/was-react 0.13.1 → 0.14.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.
- package/README.md +19 -18
- package/dist/auth/walletRequestTypes.d.ts +30 -47
- package/dist/auth/walletRequestTypes.d.ts.map +1 -1
- package/dist/config.d.ts +9 -9
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -0
- package/dist/config.js.map +1 -1
- package/dist/identity/seedCredential.d.ts +15 -13
- package/dist/identity/seedCredential.d.ts.map +1 -1
- package/dist/identity/seedCredential.js +15 -16
- package/dist/identity/seedCredential.js.map +1 -1
- package/dist/identity/seedStore.d.ts.map +1 -1
- package/dist/identity/seedStore.js +4 -3
- package/dist/identity/seedStore.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/react/documentApp.d.ts +5 -5
- package/dist/react/documentApp.d.ts.map +1 -1
- package/dist/react/documentApp.js +14 -17
- package/dist/react/documentApp.js.map +1 -1
- package/dist/session/authStore.d.ts +4 -3
- package/dist/session/authStore.d.ts.map +1 -1
- package/dist/session/authStore.js +89 -55
- package/dist/session/authStore.js.map +1 -1
- package/dist/storage/adopt.d.ts +6 -5
- package/dist/storage/adopt.d.ts.map +1 -1
- package/dist/storage/adopt.js +22 -10
- package/dist/storage/adopt.js.map +1 -1
- package/dist/storage/entityStore.d.ts +25 -6
- package/dist/storage/entityStore.d.ts.map +1 -1
- package/dist/storage/entityStore.js +16 -7
- package/dist/storage/entityStore.js.map +1 -1
- package/dist/storage/localStore.d.ts.map +1 -1
- package/dist/storage/localStore.js +51 -61
- package/dist/storage/localStore.js.map +1 -1
- package/dist/storage/sharedCollectionReader.d.ts.map +1 -1
- package/dist/storage/sharedCollectionReader.js +6 -7
- package/dist/storage/sharedCollectionReader.js.map +1 -1
- package/dist/storage/storageManager.d.ts +30 -0
- package/dist/storage/storageManager.d.ts.map +1 -1
- package/dist/storage/storageManager.js +46 -0
- package/dist/storage/storageManager.js.map +1 -1
- package/dist/storage/wasRemoteStore.d.ts +6 -7
- package/dist/storage/wasRemoteStore.d.ts.map +1 -1
- package/dist/storage/wasRemoteStore.js +7 -11
- package/dist/storage/wasRemoteStore.js.map +1 -1
- package/dist/storage/wasSync.d.ts +11 -3
- package/dist/storage/wasSync.d.ts.map +1 -1
- package/dist/storage/wasSync.js +21 -7
- package/dist/storage/wasSync.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentApp.js","sourceRoot":"","sources":["../../src/react/documentApp.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"documentApp.js","sourceRoot":"","sources":["../../src/react/documentApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,9 +61,10 @@ export interface AuthState {
|
|
|
61
61
|
onboarding: 'local-first' | 'login-gated';
|
|
62
62
|
/**
|
|
63
63
|
* The per-install LWW attribution id, resolved once at store creation from
|
|
64
|
-
* `WasAppConfig.storageKeyPrefix
|
|
65
|
-
*
|
|
66
|
-
*
|
|
64
|
+
* `WasAppConfig.storageKeyPrefix` and exposed for display and debugging. The
|
|
65
|
+
* entity-store write verbs and the adoption repair stamp it automatically, so
|
|
66
|
+
* an app never has to: one install writes under one identity either way. It
|
|
67
|
+
* is an attribution label, never an identity.
|
|
67
68
|
*/
|
|
68
69
|
writerId: string;
|
|
69
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAIzD,OAAO,
|
|
1
|
+
{"version":3,"file":"authStore.d.ts","sourceRoot":"","sources":["../../src/session/authStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
import { createStore } from 'zustand/vanilla';
|
|
37
37
|
import { acquireDescriptors } from '@interop/wallet-core/descriptors';
|
|
38
38
|
import { mintRecordEncryption } from '@interop/wallet-core/keyring';
|
|
39
|
-
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING } from '../config.js';
|
|
39
|
+
import { DEFAULT_DB_NAME, DEFAULT_EXPIRY_WARNING_MS, DEFAULT_EXPIRY_WATCH_MS, DEFAULT_ONBOARDING, isPublicCollection } from '../config.js';
|
|
40
40
|
import { createDocumentLoader } from '../identity/documentLoader.js';
|
|
41
41
|
import { deriveIdentity } from '../identity/agents.js';
|
|
42
42
|
import { createDescriptorCache, createSeedStore } from '../identity/seedStore.js';
|
|
@@ -44,7 +44,7 @@ import { clearAppSession, peekAppSession, persistAppSession, restoreAppSession,
|
|
|
44
44
|
import { loginWithWallet, requestGrants, LoginCancelledError } from '../auth/loginFlow.js';
|
|
45
45
|
import { parseGrants } from '../grants.js';
|
|
46
46
|
import { LocalStore, dbNameForController } from '../storage/localStore.js';
|
|
47
|
-
import { clearLocalStore, clearRemoteStore, getWriterId, hasStore, requireStore, setLocalStore, setRemoteStore } from '../storage/storageManager.js';
|
|
47
|
+
import { clearLocalStore, clearRemoteStore, getWriterId, hasStore, requireStore, setLocalStore, setRemoteStore, setWriterId } from '../storage/storageManager.js';
|
|
48
48
|
import { cancelScheduledRehydrates, clearAllEntityStores, hydrateAll, patchFromChange } from '../storage/rehydrate.js';
|
|
49
49
|
import { mergeAdopted } from '../storage/adopt.js';
|
|
50
50
|
import { readRemoteDescriptors, startWasSync } from '../storage/wasSync.js';
|
|
@@ -71,12 +71,14 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
71
71
|
const onboarding = config.onboarding ?? DEFAULT_ONBOARDING;
|
|
72
72
|
// Resolve the per-install LWW writer id ONCE, honoring the configured
|
|
73
73
|
// localStorage prefix, so every stamp -- the app's own writes and the
|
|
74
|
-
// adoption repair -- carries the same attribution identity.
|
|
74
|
+
// adoption repair -- carries the same attribution identity. Installing it
|
|
75
|
+
// here, before any replica opens, is what lets the write verbs stamp.
|
|
75
76
|
const writerId = getWriterId({
|
|
76
77
|
...(config.storageKeyPrefix !== undefined && {
|
|
77
78
|
storageKeyPrefix: config.storageKeyPrefix
|
|
78
79
|
})
|
|
79
80
|
});
|
|
81
|
+
setWriterId(writerId);
|
|
80
82
|
const sessionStore = seedStore ?? createSeedStore({ dbName: `${dbName}-session` });
|
|
81
83
|
// The offline encryption-descriptor cache, presented as the seam
|
|
82
84
|
// `@interop/wallet-core/descriptors` acquires through. Reads serve the
|
|
@@ -202,7 +204,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
202
204
|
* entity-store verbs that need the server (e.g. `query`) can reach it;
|
|
203
205
|
* `stopController` clears it.
|
|
204
206
|
*/
|
|
205
|
-
async function beginSync({ parsed, identity }) {
|
|
207
|
+
async function beginSync({ parsed, identity, knownDescriptors }) {
|
|
206
208
|
const { controllerDid, zcapClient, keyAgreementKey, keyResolver } = identity;
|
|
207
209
|
controller = new SyncController({
|
|
208
210
|
collections: config.collections,
|
|
@@ -220,11 +222,11 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
220
222
|
}),
|
|
221
223
|
identityKeys: { keyAgreementKey, keyResolver },
|
|
222
224
|
onAuthError: () => store.getState().notifyAccessExpired(),
|
|
223
|
-
onDescriptorsFetched: descriptors => void cacheDescriptors({ descriptors, controllerDid }).catch(err => console.warn('Failed to cache encryption descriptors:', err))
|
|
225
|
+
onDescriptorsFetched: descriptors => void cacheDescriptors({ descriptors, controllerDid }).catch(err => console.warn('Failed to cache encryption descriptors:', err)),
|
|
226
|
+
...(knownDescriptors && { knownDescriptors })
|
|
224
227
|
});
|
|
225
228
|
setRemoteStore(remoteStore);
|
|
226
229
|
store.setState({ sharedCollections });
|
|
227
|
-
return remoteStore;
|
|
228
230
|
}
|
|
229
231
|
/**
|
|
230
232
|
* Persists the session record, kicks off background replication, and arms the
|
|
@@ -237,9 +239,12 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
237
239
|
* @param options.parsed {ParsedGrants}
|
|
238
240
|
* @param options.grants {IZcap[]}
|
|
239
241
|
* @param options.expires {string}
|
|
242
|
+
* @param [options.knownDescriptors] {Record<string, CollectionEncryption>}
|
|
243
|
+
* encryption descriptors already read live during this bring-up, for the
|
|
244
|
+
* sync bootstrap to reuse instead of re-reading
|
|
240
245
|
* @returns {Promise<void>}
|
|
241
246
|
*/
|
|
242
|
-
async function persistAndStartSync({ seed, identity, parsed, grants, expires }) {
|
|
247
|
+
async function persistAndStartSync({ seed, identity, parsed, grants, expires, knownDescriptors }) {
|
|
243
248
|
await persistAppSession({
|
|
244
249
|
session: {
|
|
245
250
|
seed,
|
|
@@ -252,7 +257,11 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
252
257
|
store: sessionStore
|
|
253
258
|
});
|
|
254
259
|
// Replication starts in the background; a down server never blocks entry.
|
|
255
|
-
pendingSync = beginSync({
|
|
260
|
+
pendingSync = beginSync({
|
|
261
|
+
parsed,
|
|
262
|
+
identity,
|
|
263
|
+
...(knownDescriptors && { knownDescriptors })
|
|
264
|
+
});
|
|
256
265
|
// A failed bootstrap must not resolve silently: surface it on the session
|
|
257
266
|
// `error` (the sync rollup shows the per-collection error statuses the
|
|
258
267
|
// controller leaves behind). The session stays usable -- local-first --
|
|
@@ -327,7 +336,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
327
336
|
});
|
|
328
337
|
setLocalStore(local);
|
|
329
338
|
if (adopt) {
|
|
330
|
-
await mergeAdopted({ store: local, entities: adopt.entities
|
|
339
|
+
await mergeAdopted({ store: local, entities: adopt.entities });
|
|
331
340
|
}
|
|
332
341
|
await hydrateAll(registry);
|
|
333
342
|
}
|
|
@@ -370,10 +379,11 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
370
379
|
controller: identity.controllerDid
|
|
371
380
|
});
|
|
372
381
|
const descriptors = {};
|
|
373
|
-
for (const
|
|
374
|
-
if (
|
|
382
|
+
for (const collection of config.collections) {
|
|
383
|
+
if (isPublicCollection(collection)) {
|
|
375
384
|
continue;
|
|
376
385
|
}
|
|
386
|
+
const { id } = collection;
|
|
377
387
|
let descriptor = await cache.readDescriptor({ collectionId: id });
|
|
378
388
|
if (!descriptor) {
|
|
379
389
|
descriptor = await mintRecordEncryption({
|
|
@@ -465,20 +475,24 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
465
475
|
* leaves no single-key fallback to write under. Best-effort: a failed read
|
|
466
476
|
* leaves those collections fail-closed until the sync bootstrap's own
|
|
467
477
|
* descriptor read lands. Freshly fetched descriptors enter the offline cache
|
|
468
|
-
* immediately
|
|
478
|
+
* immediately, and come back separately as `fresh` so the sync bootstrap can
|
|
479
|
+
* reuse them instead of re-issuing the same reads seconds later (cached
|
|
480
|
+
* descriptors are NOT passed on -- the bootstrap read is their freshness
|
|
481
|
+
* refresh).
|
|
469
482
|
*
|
|
470
483
|
* @param options {object}
|
|
471
484
|
* @param [options.cached] {Record<string, CollectionEncryption>}
|
|
472
485
|
* @param options.identity {IdentityAgents}
|
|
473
486
|
* @param options.parsed {ParsedGrants}
|
|
474
|
-
* @returns {Promise<
|
|
487
|
+
* @returns {Promise<object>} `descriptors` (the completed set, or
|
|
488
|
+
* undefined when there are none) and `fresh` (the live-read subset)
|
|
475
489
|
*/
|
|
476
490
|
async function completeDescriptors({ cached, identity, parsed }) {
|
|
477
|
-
const missing = config.collections.filter(
|
|
478
|
-
parsed.byCollectionId[id] !== undefined &&
|
|
479
|
-
!cached?.[id]);
|
|
491
|
+
const missing = config.collections.filter(collection => !isPublicCollection(collection) &&
|
|
492
|
+
parsed.byCollectionId[collection.id] !== undefined &&
|
|
493
|
+
!cached?.[collection.id]);
|
|
480
494
|
if (missing.length === 0) {
|
|
481
|
-
return cached;
|
|
495
|
+
return { descriptors: cached, fresh: {} };
|
|
482
496
|
}
|
|
483
497
|
try {
|
|
484
498
|
const fetched = await readRemoteDescriptors({
|
|
@@ -491,13 +505,13 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
491
505
|
descriptors: fetched,
|
|
492
506
|
controllerDid: identity.controllerDid
|
|
493
507
|
});
|
|
494
|
-
return { ...fetched, ...cached };
|
|
508
|
+
return { descriptors: { ...fetched, ...cached }, fresh: fetched };
|
|
495
509
|
}
|
|
496
510
|
}
|
|
497
511
|
catch (err) {
|
|
498
512
|
console.warn('Failed to read encryption descriptors at login:', err);
|
|
499
513
|
}
|
|
500
|
-
return cached;
|
|
514
|
+
return { descriptors: cached, fresh: {} };
|
|
501
515
|
}
|
|
502
516
|
async function activateConnected(session) {
|
|
503
517
|
try {
|
|
@@ -505,7 +519,7 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
505
519
|
// epoch-aware: an offline hot restore then decrypts multi-recipient
|
|
506
520
|
// envelopes with no live description read, while a first login (no cache
|
|
507
521
|
// yet) completes the set with live reads before the replica opens.
|
|
508
|
-
const descriptors = await completeDescriptors({
|
|
522
|
+
const { descriptors, fresh } = await completeDescriptors({
|
|
509
523
|
cached: await loadCachedDescriptors({
|
|
510
524
|
controllerDid: session.identity.controllerDid
|
|
511
525
|
}),
|
|
@@ -522,7 +536,8 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
522
536
|
identity: session.identity,
|
|
523
537
|
parsed: session.parsed,
|
|
524
538
|
grants: session.grants,
|
|
525
|
-
expires: session.expires
|
|
539
|
+
expires: session.expires,
|
|
540
|
+
knownDescriptors: fresh
|
|
526
541
|
});
|
|
527
542
|
}
|
|
528
543
|
catch (err) {
|
|
@@ -711,6 +726,50 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
711
726
|
console.warn('Failed to delete the adopted anonymous replica:', err);
|
|
712
727
|
}
|
|
713
728
|
}
|
|
729
|
+
/**
|
|
730
|
+
* The connect epilogue shared by `login` and `connectWithGrants`, sequenced
|
|
731
|
+
* once so the load-bearing ordering lives in one place: tear the anonymous
|
|
732
|
+
* holder down and collect its payloads ({@link detachAndCollect}, merge
|
|
733
|
+
* only), activate the connected replica, write the connected status, and
|
|
734
|
+
* only THEN discard the adopted anonymous replica. The anonymous seed and
|
|
735
|
+
* database are deleted only after the activation lands, so a failure at any
|
|
736
|
+
* earlier step still falls back to an intact `local`; the cleanup itself is
|
|
737
|
+
* best-effort ({@link discardAnonReplica}) and runs after the status write
|
|
738
|
+
* so its failure can never leave the session reporting `local` over a live,
|
|
739
|
+
* syncing connected session.
|
|
740
|
+
*
|
|
741
|
+
* @param options {object}
|
|
742
|
+
* @param options.seed {Uint8Array}
|
|
743
|
+
* @param options.identity {IdentityAgents}
|
|
744
|
+
* @param options.parsed {ParsedGrants}
|
|
745
|
+
* @param options.grants {IZcap[]}
|
|
746
|
+
* @param options.expires {string}
|
|
747
|
+
* @param options.adopt {'merge' | 'leave'}
|
|
748
|
+
* @param options.snapshot {object} the caller's pre-flow
|
|
749
|
+
* `{ status, controllerDid }` snapshot (see {@link collectAdoptable})
|
|
750
|
+
* @returns {Promise<void>}
|
|
751
|
+
*/
|
|
752
|
+
async function completeConnect({ seed, identity, parsed, grants, expires, adopt, snapshot }) {
|
|
753
|
+
const source = await detachAndCollect(adopt, snapshot);
|
|
754
|
+
await activateConnected({
|
|
755
|
+
seed,
|
|
756
|
+
identity,
|
|
757
|
+
parsed,
|
|
758
|
+
grants,
|
|
759
|
+
expires,
|
|
760
|
+
...(source && { adopt: source })
|
|
761
|
+
});
|
|
762
|
+
store.setState({
|
|
763
|
+
status: 'connected',
|
|
764
|
+
controllerDid: identity.controllerDid,
|
|
765
|
+
expires,
|
|
766
|
+
phase: null,
|
|
767
|
+
error: null
|
|
768
|
+
});
|
|
769
|
+
if (source) {
|
|
770
|
+
await discardAnonReplica(source.controllerDid);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
714
773
|
// Declared last so `prefer-const` is satisfied; the lifecycle closures above
|
|
715
774
|
// only dereference `store` at call time, by which point it is assigned.
|
|
716
775
|
const store = createStore()((set, get) => {
|
|
@@ -816,33 +875,18 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
816
875
|
config: loginConfig,
|
|
817
876
|
onPhase: phase => set({ phase })
|
|
818
877
|
});
|
|
819
|
-
// The wallet succeeded:
|
|
820
|
-
//
|
|
821
|
-
//
|
|
822
|
-
|
|
823
|
-
// `local`.
|
|
824
|
-
const source = await detachAndCollect(adopt, preLogin);
|
|
825
|
-
await activateConnected({
|
|
878
|
+
// The wallet succeeded: run the shared connect epilogue (a cancel
|
|
879
|
+
// above leaves `local` intact, and a failure inside it still falls
|
|
880
|
+
// back to an intact `local` -- see `completeConnect`).
|
|
881
|
+
await completeConnect({
|
|
826
882
|
seed: outcome.seed,
|
|
827
883
|
identity: outcome.identity,
|
|
828
884
|
parsed: outcome.parsed,
|
|
829
885
|
grants: outcome.grants,
|
|
830
886
|
expires: outcome.expires,
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
set({
|
|
834
|
-
status: 'connected',
|
|
835
|
-
controllerDid: outcome.identity.controllerDid,
|
|
836
|
-
expires: outcome.expires,
|
|
837
|
-
phase: null,
|
|
838
|
-
error: null
|
|
887
|
+
adopt,
|
|
888
|
+
snapshot: preLogin
|
|
839
889
|
});
|
|
840
|
-
// Adopted-replica cleanup runs AFTER the connected status lands (and
|
|
841
|
-
// is best-effort): a cleanup failure must not leave the session
|
|
842
|
-
// reporting `local` over a live, syncing connected session.
|
|
843
|
-
if (source) {
|
|
844
|
-
await discardAnonReplica(source.controllerDid);
|
|
845
|
-
}
|
|
846
890
|
return { firstRun: outcome.firstRun };
|
|
847
891
|
}
|
|
848
892
|
catch (err) {
|
|
@@ -886,25 +930,15 @@ export function createAuthStore({ config, registry, seedStore, storage }) {
|
|
|
886
930
|
const parsed = parseGrants(grants);
|
|
887
931
|
const expires = earliestExpiry(grants) ??
|
|
888
932
|
new Date(Date.now() + NO_EXPIRY_MS).toISOString();
|
|
889
|
-
|
|
890
|
-
await activateConnected({
|
|
933
|
+
await completeConnect({
|
|
891
934
|
seed,
|
|
892
935
|
identity,
|
|
893
936
|
parsed,
|
|
894
937
|
grants,
|
|
895
938
|
expires,
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
set({
|
|
899
|
-
status: 'connected',
|
|
900
|
-
controllerDid: identity.controllerDid,
|
|
901
|
-
expires,
|
|
902
|
-
error: null
|
|
939
|
+
adopt,
|
|
940
|
+
snapshot: preConnect
|
|
903
941
|
});
|
|
904
|
-
// After the status lands, and best-effort (see `discardAnonReplica`).
|
|
905
|
-
if (source) {
|
|
906
|
-
await discardAnonReplica(source.controllerDid);
|
|
907
|
-
}
|
|
908
942
|
});
|
|
909
943
|
},
|
|
910
944
|
reconnect: async () => {
|
|
@@ -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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"}
|
package/dist/storage/adopt.d.ts
CHANGED
|
@@ -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
|
|
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":"
|
|
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"}
|
package/dist/storage/adopt.js
CHANGED
|
@@ -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
|
|
44
|
+
export async function mergeAdopted({ store, entities }) {
|
|
39
45
|
let stamp = null;
|
|
40
|
-
|
|
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
|
-
|
|
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 ??= {
|
|
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
|
-
|
|
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
|
|
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
|
*/
|
|
@@ -99,4 +117,5 @@ export interface EntityStore<T extends {
|
|
|
99
117
|
export declare function createEntityStore<T extends {
|
|
100
118
|
id: string;
|
|
101
119
|
}>(collectionKey: string): UseBoundStore<StoreApi<EntityStore<T>>>;
|
|
120
|
+
export {};
|
|
102
121
|
//# 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
|
|
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;;;;;;;;;;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,CAoJzC"}
|