@comapeo/core 4.0.0 → 4.1.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/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/mapeo-manager.d.ts.map +1 -1
- package/dist/mapeo-project.d.ts +4 -0
- package/dist/mapeo-project.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants.js +3 -0
- package/src/mapeo-manager.js +34 -7
- package/src/mapeo-project.js +16 -1
- package/src/member-api.js +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ export namespace NAMESPACE_SCHEMAS {
|
|
|
11
11
|
}
|
|
12
12
|
export const SUPPORTED_CONFIG_VERSION: 1;
|
|
13
13
|
export const DRIZZLE_MIGRATIONS_TABLE: "__drizzle_migrations";
|
|
14
|
+
export const UNIX_EPOCH_DATE: string;
|
|
14
15
|
import type { Namespace } from './types.js';
|
|
15
16
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;AAGzC,8DAA8D;+
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.js"],"names":[],"mappings":"AAAA,8CAA8C;AAI9C,kFAME;AAEF,uCAAuC;AACvC,iCADW,aAAa,CAAC,SAAS,CAAC,CAC8B;AAEjE,uCAAuC;AACvC,8BADW,aAAa,CAAC,SAAS,CAAC,CAGlC;;;;;;AAeD,yCAAyC;AAGzC,8DAA8D;AAG9D,qCAAwD;+BAvCzB,YAAY"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;;AAgBO,0CAJI,YAAY,gKAEV,UAAU,yCAUqjmB,QAAQ,kBAAyB,SAAS,qDAVpjmB,CAG7B;;;;;;kCARH,oBAAoB;gCAL/C,YAAY;oCAAZ,YAAY;+BAAZ,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapeo-manager.d.ts","sourceRoot":"","sources":["../src/mapeo-manager.js"],"names":[],"mappings":"AAqFA,oDAEC;AAED,mFAC6C;AAE7C;;GAEG;AAEH;;;GAGG;AAEH;;GAEG;AACH;IAsBE;;;;;;;;;;;;;OAaG;IACH,oMAZG;QAAqB,OAAO,EAApB,MAAM;QACO,QAAQ,EAArB,MAAM;QACO,uBAAuB,EAApC,MAAM;QACO,sBAAsB,EAAnC,MAAM;QACqB,WAAW,EAAtC,MAAM,GAAG,WAAW;QACoB,OAAO,EAA/C,OAAO,SAAS,EAAE,eAAe;QACnB,iBAAiB;QACjB,aAAa;QACb,eAAe;QACf,qBAAqB;QACD,aAAa,UAAzC,MAAM,KAAK,SAAS;KAAsB,EA+F1D;IAED,uBAEC;IAsID;;;;;OAKG;IACH;eAHoB,MAAM;qBAAe,MAAM;uBAAiB,MAAM;6BAAuB,MAAM;oBACtF,OAAO,CAAC,MAAM,CAAC,CAoF3B;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,OAAO,CAAC,YAAY,CAAC,CAuCjC;IAwBD;;OAEG;IACH,gBAFa,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAyDzC;IAED;;;;;;;;OAQG;IACH,6FAJW,mBAAmB;sBACH,OAAO;sBACrB,OAAO,CAAC,MAAM,CAAC,CAuG3B;IAqED;;OAEG;IAEH;;;;OAIG;IACH,cAHoF,CAAC,SADxE,OAAQ,WAAW,EAAE,KAAK,CACtC,OAAS,oBAAoB,EAAE,eAAe,GAAG;QAAC,UAAU,CAAC,oGAAe;KAAC,EAAE,CAAC,CAAE,cACxE,CAAC,iBA6CX;IAED;;;;;;;OAOG;IACH,iBAPa,CACZ;QACM,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;KAC3C,GAAG,OAAO,CAAC,eAAe,CAAC,CAC7B,CAaH;IAED;;;;;;OAMG;IACH,oCAHW,OAAO,GACL,IAAI,CAkBhB;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAanB;IAED;;OAEG;IACH,wBAEC;IAED,yDAAyD;IACzD,iCADc,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAGpD;;;;;;;;;;IAYD;;OAEG;IACH,kBAFa,OAAO,CAAC,cAAc,EAAE,CAAC,CAIrC;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;;;;;;OAOG;IACH,kBAFa,IAAI,CAKhB;IAED;;OAEG;IACH,8BAFW,MAAM,iBAgDhB;IAED,sCAGC;;CACF;mCA/5Ba,eAAe,WAAW,EAAE,gBAAgB,CAAC;kCAC7C,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE;4BACvI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE;6BAwBjI,IAAI,CAAC,OAAO,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC;;;;;mBAKpD,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI;;6BA1FlB,oBAAoB;6BAY1C,oBAAoB;qCA6CuB,oBAAoB;0BAhB5C,wBAAwB;iCAeN,YAAY;0BAL9B,IAAI;4BAjCF,qBAAqB;oCAoCb,WAAW;wCACN,oBAAoB"}
|
package/dist/mapeo-project.d.ts
CHANGED
|
@@ -1274,6 +1274,10 @@ export class MapeoProject extends TypedEmitter<{
|
|
|
1274
1274
|
* @returns {Promise<EditableProjectSettings>}
|
|
1275
1275
|
*/
|
|
1276
1276
|
$getProjectSettings(): Promise<EditableProjectSettings>;
|
|
1277
|
+
/**
|
|
1278
|
+
* @returns {Promise<boolean>}
|
|
1279
|
+
*/
|
|
1280
|
+
$hasSyncedProjectSettings(): Promise<boolean>;
|
|
1277
1281
|
$getOwnRole(): Promise<import("./roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">>;
|
|
1278
1282
|
/**
|
|
1279
1283
|
* @param {string} originalVersionId The `originalVersionId` from a document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapeo-project.d.ts","sourceRoot":"","sources":["../src/mapeo-project.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapeo-project.d.ts","sourceRoot":"","sources":["../src/mapeo-project.js"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4XZ;IAED,8BAEC;IAmMD;;;;;;;;;;;OAWG;IACH,yCAPW,CACV,OAAW,GACX,OAAW,QAAQ,EAAE,MAAM,GAC3B,OAAW,SAAS,EAAE,MAAM,CACzB,GACS,iBAAiB,CAqB7B;IAED;;;OAGG;IACH,2BAHW,IAAI,CAAC,OAAO,iBAAiB,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,GAAG,yBAAyB,CAAC,GAChG,OAAO,CAAC,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAwBzD;IAED,uCAAuC;IACvC,uCADY,OAAO,iBAGlB;IAED,yBAAyB;IACzB,kCAEC;IAqOD;;;;OAIG;IACH,iCAJW,OAAO,UACP,OAAO,GACL,OAAO,CAAC,MAAM,CAAC,CAY3B;IAqPD,iCAMC;IAED;;;OAGG;IACH,sBAFa,OAAO,CAAC,IAAI,CAAC,CAoCzB;;CAuKF;sCA73Ca,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC;6BACxC,oBAAoB,CAAC,gBAAgB,CAAC;8BACtC,GAAG,CAAC,MAAM,EAAC,UAAU,CAAC;;cAE1B,MAAM,GAAC,SAAS;YAChB,MAAM;;6BArEa,oBAAoB;wBAYzB,eAAe;0BAHb,sBAAsB;yBACL,qBAAqB;0BAuCtC,iBAAiB;wBAKpC,oBAAoB;2BAIA,sBAAsB;wBAFzB,eAAe;4BAhDX,yBAAyB;8BAuB9C,qBAAqB;0BApBF,uBAAuB;uCAoD8H,YAAY;4BAlD/J,yBAAyB;iCAkD0H,YAAY;0BAHjK,IAAI;uBALP,aAAa;0CAO0B,iBAAiB;gCACgG,YAAY;4BAAZ,YAAY"}
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -35,3 +35,6 @@ export const SUPPORTED_CONFIG_VERSION = 1
|
|
|
35
35
|
|
|
36
36
|
// WARNING: This value is persisted. Be careful when changing it.
|
|
37
37
|
export const DRIZZLE_MIGRATIONS_TABLE = '__drizzle_migrations'
|
|
38
|
+
|
|
39
|
+
// Oldest possible time, ensure it gets overwritten with any updates
|
|
40
|
+
export const UNIX_EPOCH_DATE = new Date(0).toISOString()
|
package/src/mapeo-manager.js
CHANGED
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
projectKeyToProjectInviteId,
|
|
39
39
|
projectKeyToPublicId,
|
|
40
40
|
} from './utils.js'
|
|
41
|
+
import { UNIX_EPOCH_DATE } from './constants.js'
|
|
41
42
|
import { openedNoiseSecretStream } from './lib/noise-secret-stream-helpers.js'
|
|
42
43
|
import { omit } from './lib/omit.js'
|
|
43
44
|
import { RandomAccessFilePool } from './core-manager/random-access-file-pool.js'
|
|
@@ -563,11 +564,13 @@ export class MapeoManager extends TypedEmitter {
|
|
|
563
564
|
(p) => p.projectId === projectId
|
|
564
565
|
)
|
|
565
566
|
|
|
567
|
+
if (!existingProject) continue
|
|
568
|
+
|
|
566
569
|
result.push(
|
|
567
570
|
deNullify({
|
|
568
571
|
projectId: projectPublicId,
|
|
569
|
-
createdAt: existingProject?.createdAt,
|
|
570
|
-
updatedAt: existingProject?.updatedAt,
|
|
572
|
+
createdAt: ignoreUnixDate(existingProject?.createdAt),
|
|
573
|
+
updatedAt: ignoreUnixDate(existingProject?.updatedAt),
|
|
571
574
|
name: existingProject?.name || projectInfo.name,
|
|
572
575
|
projectColor:
|
|
573
576
|
existingProject?.projectColor || projectInfo.projectColor,
|
|
@@ -658,6 +661,23 @@ export class MapeoManager extends TypedEmitter {
|
|
|
658
661
|
)
|
|
659
662
|
}
|
|
660
663
|
|
|
664
|
+
/** @type {import('drizzle-orm').InferInsertModel<typeof projectSettingsTable>} */
|
|
665
|
+
const settingsDoc = {
|
|
666
|
+
schemaName: 'projectSettings',
|
|
667
|
+
docId: projectId,
|
|
668
|
+
versionId: 'unknown',
|
|
669
|
+
originalVersionId: 'unknown',
|
|
670
|
+
createdAt: UNIX_EPOCH_DATE,
|
|
671
|
+
updatedAt: UNIX_EPOCH_DATE,
|
|
672
|
+
deleted: false,
|
|
673
|
+
links: [],
|
|
674
|
+
forks: [],
|
|
675
|
+
name: projectName,
|
|
676
|
+
projectDescription,
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
await this.#db.insert(projectSettingsTable).values([settingsDoc])
|
|
680
|
+
|
|
661
681
|
// 5. Wait for initial project sync
|
|
662
682
|
if (waitForSync) {
|
|
663
683
|
await this.#waitForInitialSync(project)
|
|
@@ -692,17 +712,15 @@ export class MapeoManager extends TypedEmitter {
|
|
|
692
712
|
* @returns {Promise<boolean>}
|
|
693
713
|
*/
|
|
694
714
|
async #waitForInitialSync(project, { timeoutMs = 5000 } = {}) {
|
|
695
|
-
const [ownRole,
|
|
715
|
+
const [ownRole, isProjectSettingsSynced] = await Promise.all([
|
|
696
716
|
project.$getOwnRole(),
|
|
697
|
-
project.$
|
|
717
|
+
project.$hasSyncedProjectSettings(),
|
|
698
718
|
])
|
|
699
719
|
const {
|
|
700
720
|
auth: { localState: authState },
|
|
701
721
|
config: { localState: configState },
|
|
702
722
|
} = project.$sync[kSyncState].getState()
|
|
703
723
|
const isRoleSynced = ownRole !== Roles.NO_ROLE
|
|
704
|
-
const isProjectSettingsSynced =
|
|
705
|
-
projectSettings !== MapeoProject.EMPTY_PROJECT_SETTINGS
|
|
706
724
|
// Assumes every project that someone is invited to has at least one record
|
|
707
725
|
// in the auth store - the row record for the invited device
|
|
708
726
|
const isAuthSynced = authState.want === 0 && authState.have > 0
|
|
@@ -721,7 +739,6 @@ export class MapeoManager extends TypedEmitter {
|
|
|
721
739
|
this.#l.log(
|
|
722
740
|
'Pending initial sync: role %s, projectSettings %o, auth %o, config %o',
|
|
723
741
|
isRoleSynced,
|
|
724
|
-
isProjectSettingsSynced,
|
|
725
742
|
isAuthSynced,
|
|
726
743
|
isConfigSynced
|
|
727
744
|
)
|
|
@@ -1012,3 +1029,13 @@ function validateProjectKeys(projectKeys) {
|
|
|
1012
1029
|
function hasSavedDeviceInfo(partialDeviceInfo) {
|
|
1013
1030
|
return Boolean(partialDeviceInfo.name)
|
|
1014
1031
|
}
|
|
1032
|
+
|
|
1033
|
+
/**
|
|
1034
|
+
* @param {string|undefined} date
|
|
1035
|
+
* @returns {string|null}
|
|
1036
|
+
*/
|
|
1037
|
+
function ignoreUnixDate(date) {
|
|
1038
|
+
if (date === UNIX_EPOCH_DATE) return null
|
|
1039
|
+
if (date === undefined) return null
|
|
1040
|
+
return date
|
|
1041
|
+
}
|
package/src/mapeo-project.js
CHANGED
|
@@ -10,7 +10,7 @@ import mime from 'mime/lite'
|
|
|
10
10
|
// @ts-expect-error
|
|
11
11
|
import { Readable, pipelinePromise } from 'streamx'
|
|
12
12
|
|
|
13
|
-
import { NAMESPACES, NAMESPACE_SCHEMAS } from './constants.js'
|
|
13
|
+
import { NAMESPACES, NAMESPACE_SCHEMAS, UNIX_EPOCH_DATE } from './constants.js'
|
|
14
14
|
import { CoreManager } from './core-manager/index.js'
|
|
15
15
|
import { DataStore } from './datastore/index.js'
|
|
16
16
|
import { DataType, kCreateWithDocId } from './datatype/index.js'
|
|
@@ -661,6 +661,21 @@ export class MapeoProject extends TypedEmitter {
|
|
|
661
661
|
}
|
|
662
662
|
}
|
|
663
663
|
|
|
664
|
+
/**
|
|
665
|
+
* @returns {Promise<boolean>}
|
|
666
|
+
*/
|
|
667
|
+
async $hasSyncedProjectSettings() {
|
|
668
|
+
try {
|
|
669
|
+
const settings = await this.#dataTypes.projectSettings.getByDocId(
|
|
670
|
+
this.#projectId
|
|
671
|
+
)
|
|
672
|
+
|
|
673
|
+
return settings.createdAt !== UNIX_EPOCH_DATE
|
|
674
|
+
} catch (e) {
|
|
675
|
+
return false
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
664
679
|
/**
|
|
665
680
|
* @returns {Promise<undefined | string>}
|
|
666
681
|
*/
|
package/src/member-api.js
CHANGED
|
@@ -472,6 +472,7 @@ export class MemberApi extends TypedEmitter {
|
|
|
472
472
|
)
|
|
473
473
|
}
|
|
474
474
|
|
|
475
|
+
const onClosePromise = pEvent(websocket, 'close')
|
|
475
476
|
const onErrorPromise = pEvent(websocket, 'error')
|
|
476
477
|
|
|
477
478
|
const replicationStream = this.#getReplicationStream()
|
|
@@ -494,7 +495,6 @@ export class MemberApi extends TypedEmitter {
|
|
|
494
495
|
websocket.close()
|
|
495
496
|
throw errorEvent.error
|
|
496
497
|
} else {
|
|
497
|
-
const onClosePromise = pEvent(websocket, 'close')
|
|
498
498
|
onErrorPromise.cancel()
|
|
499
499
|
websocket.close()
|
|
500
500
|
await onClosePromise
|