@dxos/client 2.33.9-dev.b6f4ca19 → 2.33.9-dev.d0ae5f95

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 (2) hide show
  1. package/dist/browser.js +28 -26
  2. package/package.json +17 -17
package/dist/browser.js CHANGED
@@ -93512,15 +93512,16 @@ var require_metadata_store = __commonJS({
93512
93512
  var protocols_1 = require("@dxos/protocols");
93513
93513
  exports.STORAGE_VERSION = 1;
93514
93514
  var log3 = (0, debug_1.default)("dxos:snapshot-store");
93515
+ var emptyEchoMetadata = () => ({
93516
+ version: exports.STORAGE_VERSION,
93517
+ parties: [],
93518
+ created: new Date(),
93519
+ updated: new Date()
93520
+ });
93515
93521
  var MetadataStore = class {
93516
93522
  constructor(_directory) {
93517
93523
  this._directory = _directory;
93518
- this._metadata = {
93519
- version: exports.STORAGE_VERSION,
93520
- parties: [],
93521
- created: new Date(),
93522
- updated: new Date()
93523
- };
93524
+ this._metadata = emptyEchoMetadata();
93524
93525
  }
93525
93526
  get version() {
93526
93527
  var _a;
@@ -93533,18 +93534,22 @@ var require_metadata_store = __commonJS({
93533
93534
  async load() {
93534
93535
  const file = this._directory.createOrOpen("EchoMetadata");
93535
93536
  try {
93536
- const { size } = await file.stat();
93537
- if (size === 0) {
93537
+ const { size: fileLength } = await file.stat();
93538
+ if (fileLength < 4) {
93538
93539
  return;
93539
93540
  }
93540
- const data = await file.read(0, size);
93541
+ const dataSize = fromBytesInt32(await file.read(0, 4));
93542
+ log3(`Load: data size ${dataSize}`);
93543
+ {
93544
+ if (fileLength < dataSize + 4) {
93545
+ throw new Error("Metadata storage is corrupted");
93546
+ }
93547
+ }
93548
+ const data = await file.read(4, dataSize);
93541
93549
  this._metadata = echo_protocol_1.schema.getCodecForType("dxos.echo.metadata.EchoMetadata").decode(data);
93542
93550
  } catch (err) {
93543
- if (err.code === "ENOENT") {
93544
- return;
93545
- } else {
93546
- throw err;
93547
- }
93551
+ log3(`Error loading metadata: ${err}`);
93552
+ this._metadata = emptyEchoMetadata();
93548
93553
  } finally {
93549
93554
  await file.close();
93550
93555
  }
@@ -93560,18 +93565,9 @@ var require_metadata_store = __commonJS({
93560
93565
  const file = this._directory.createOrOpen("EchoMetadata");
93561
93566
  try {
93562
93567
  const encoded = Buffer.from(echo_protocol_1.schema.getCodecForType("dxos.echo.metadata.EchoMetadata").encode(data));
93563
- await file.write(0, encoded);
93564
- {
93565
- const { size: size2 } = await file.stat();
93566
- if (size2 > encoded.length) {
93567
- await file.truncate(encoded.length, size2);
93568
- }
93569
- }
93570
- const { size } = await file.stat();
93571
- if (size !== encoded.length) {
93572
- console.log("SANITY!");
93573
- }
93574
- (0, node_assert_1.default)(size === encoded.length);
93568
+ log3(`Save: data size ${encoded.length}`);
93569
+ await file.write(0, toBytesInt32(encoded.length));
93570
+ await file.write(4, encoded);
93575
93571
  } finally {
93576
93572
  await file.close();
93577
93573
  }
@@ -93648,6 +93644,12 @@ var require_metadata_store = __commonJS({
93648
93644
  async_1.synchronized
93649
93645
  ], MetadataStore.prototype, "_save", null);
93650
93646
  exports.MetadataStore = MetadataStore;
93647
+ var toBytesInt32 = (num) => {
93648
+ const buf = Buffer.alloc(4);
93649
+ buf.writeInt32LE(num, 0);
93650
+ return buf;
93651
+ };
93652
+ var fromBytesInt32 = (buf) => buf.readInt32LE(0);
93651
93653
  }
93652
93654
  });
93653
93655
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client",
3
- "version": "2.33.9-dev.b6f4ca19",
3
+ "version": "2.33.9-dev.d0ae5f95",
4
4
  "license": "MIT",
5
5
  "author": "DXOS.org",
6
6
  "main": "dist/src/index.js",
@@ -14,14 +14,14 @@
14
14
  "src"
15
15
  ],
16
16
  "dependencies": {
17
- "@dxos/async": "2.33.9-dev.b6f4ca19",
18
- "@dxos/codec-protobuf": "2.33.9-dev.b6f4ca19",
19
- "@dxos/config": "2.33.9-dev.b6f4ca19",
20
- "@dxos/debug": "2.33.9-dev.b6f4ca19",
21
- "@dxos/model-factory": "2.33.9-dev.b6f4ca19",
22
- "@dxos/protocols": "2.33.9-dev.b6f4ca19",
23
- "@dxos/rpc": "2.33.9-dev.b6f4ca19",
24
- "@dxos/util": "2.33.9-dev.b6f4ca19",
17
+ "@dxos/async": "2.33.9-dev.d0ae5f95",
18
+ "@dxos/codec-protobuf": "2.33.9-dev.d0ae5f95",
19
+ "@dxos/config": "2.33.9-dev.d0ae5f95",
20
+ "@dxos/debug": "2.33.9-dev.d0ae5f95",
21
+ "@dxos/model-factory": "2.33.9-dev.d0ae5f95",
22
+ "@dxos/protocols": "2.33.9-dev.d0ae5f95",
23
+ "@dxos/rpc": "2.33.9-dev.d0ae5f95",
24
+ "@dxos/util": "2.33.9-dev.d0ae5f95",
25
25
  "abstract-leveldown": "~7.0.0",
26
26
  "assert": "^2.0.0",
27
27
  "debug": "^4.3.3",
@@ -34,16 +34,16 @@
34
34
  "uuid": "^8.3.2"
35
35
  },
36
36
  "devDependencies": {
37
- "@dxos/credentials": "2.33.9-dev.b6f4ca19",
38
- "@dxos/crypto": "2.33.9-dev.b6f4ca19",
39
- "@dxos/echo-db": "2.33.9-dev.b6f4ca19",
40
- "@dxos/echo-protocol": "2.33.9-dev.b6f4ca19",
37
+ "@dxos/credentials": "2.33.9-dev.d0ae5f95",
38
+ "@dxos/crypto": "2.33.9-dev.d0ae5f95",
39
+ "@dxos/echo-db": "2.33.9-dev.d0ae5f95",
40
+ "@dxos/echo-protocol": "2.33.9-dev.d0ae5f95",
41
41
  "@dxos/eslint-plugin": "~1.0.34",
42
- "@dxos/feed-store": "2.33.9-dev.b6f4ca19",
43
- "@dxos/network-manager": "2.33.9-dev.b6f4ca19",
44
- "@dxos/object-model": "2.33.9-dev.b6f4ca19",
42
+ "@dxos/feed-store": "2.33.9-dev.d0ae5f95",
43
+ "@dxos/network-manager": "2.33.9-dev.d0ae5f95",
44
+ "@dxos/object-model": "2.33.9-dev.d0ae5f95",
45
45
  "@dxos/protocols-toolchain": "2.33.8",
46
- "@dxos/random-access-multi-storage": "2.33.9-dev.b6f4ca19",
46
+ "@dxos/random-access-multi-storage": "2.33.9-dev.d0ae5f95",
47
47
  "@dxos/testutils": "2.33.8",
48
48
  "@koush/wrtc": "^0.5.3",
49
49
  "@types/debug": "^4.1.7",