cojson 0.9.9 → 0.9.11

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 (114) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/CHANGELOG.md +13 -0
  3. package/dist/native/PeerState.js +2 -1
  4. package/dist/native/PeerState.js.map +1 -1
  5. package/dist/native/PriorityBasedMessageQueue.js +54 -7
  6. package/dist/native/PriorityBasedMessageQueue.js.map +1 -1
  7. package/dist/native/base64url.js +0 -6
  8. package/dist/native/base64url.js.map +1 -1
  9. package/dist/native/coValue.js +27 -0
  10. package/dist/native/coValue.js.map +1 -1
  11. package/dist/native/coValueCore.js +30 -177
  12. package/dist/native/coValueCore.js.map +1 -1
  13. package/dist/native/coValueState.js +5 -4
  14. package/dist/native/coValueState.js.map +1 -1
  15. package/dist/native/coValues/account.js +2 -1
  16. package/dist/native/coValues/account.js.map +1 -1
  17. package/dist/native/coValues/coList.js +0 -7
  18. package/dist/native/coValues/coList.js.map +1 -1
  19. package/dist/native/coValues/coStream.js +3 -8
  20. package/dist/native/coValues/coStream.js.map +1 -1
  21. package/dist/native/coValues/group.js +3 -2
  22. package/dist/native/coValues/group.js.map +1 -1
  23. package/dist/native/coreToCoValue.js +2 -1
  24. package/dist/native/coreToCoValue.js.map +1 -1
  25. package/dist/native/crypto/PureJSCrypto.js +2 -1
  26. package/dist/native/crypto/PureJSCrypto.js.map +1 -1
  27. package/dist/native/crypto/WasmCrypto.js +2 -1
  28. package/dist/native/crypto/WasmCrypto.js.map +1 -1
  29. package/dist/native/crypto/crypto.js +2 -4
  30. package/dist/native/crypto/crypto.js.map +1 -1
  31. package/dist/native/exports.js +2 -1
  32. package/dist/native/exports.js.map +1 -1
  33. package/dist/native/localNode.js +5 -6
  34. package/dist/native/localNode.js.map +1 -1
  35. package/dist/native/logger.js +58 -0
  36. package/dist/native/logger.js.map +1 -0
  37. package/dist/native/permissions.js +3 -4
  38. package/dist/native/permissions.js.map +1 -1
  39. package/dist/native/storage/FileSystem.js +0 -10
  40. package/dist/native/storage/FileSystem.js.map +1 -1
  41. package/dist/native/storage/index.js +14 -23
  42. package/dist/native/storage/index.js.map +1 -1
  43. package/dist/native/sync.js +20 -28
  44. package/dist/native/sync.js.map +1 -1
  45. package/dist/web/PeerState.js +2 -1
  46. package/dist/web/PeerState.js.map +1 -1
  47. package/dist/web/PriorityBasedMessageQueue.js +54 -7
  48. package/dist/web/PriorityBasedMessageQueue.js.map +1 -1
  49. package/dist/web/base64url.js +0 -6
  50. package/dist/web/base64url.js.map +1 -1
  51. package/dist/web/coValue.js +27 -0
  52. package/dist/web/coValue.js.map +1 -1
  53. package/dist/web/coValueCore.js +30 -177
  54. package/dist/web/coValueCore.js.map +1 -1
  55. package/dist/web/coValueState.js +5 -4
  56. package/dist/web/coValueState.js.map +1 -1
  57. package/dist/web/coValues/account.js +2 -1
  58. package/dist/web/coValues/account.js.map +1 -1
  59. package/dist/web/coValues/coList.js +0 -7
  60. package/dist/web/coValues/coList.js.map +1 -1
  61. package/dist/web/coValues/coStream.js +3 -8
  62. package/dist/web/coValues/coStream.js.map +1 -1
  63. package/dist/web/coValues/group.js +3 -2
  64. package/dist/web/coValues/group.js.map +1 -1
  65. package/dist/web/coreToCoValue.js +2 -1
  66. package/dist/web/coreToCoValue.js.map +1 -1
  67. package/dist/web/crypto/PureJSCrypto.js +2 -1
  68. package/dist/web/crypto/PureJSCrypto.js.map +1 -1
  69. package/dist/web/crypto/WasmCrypto.js +2 -1
  70. package/dist/web/crypto/WasmCrypto.js.map +1 -1
  71. package/dist/web/crypto/crypto.js +2 -4
  72. package/dist/web/crypto/crypto.js.map +1 -1
  73. package/dist/web/exports.js +2 -1
  74. package/dist/web/exports.js.map +1 -1
  75. package/dist/web/localNode.js +5 -6
  76. package/dist/web/localNode.js.map +1 -1
  77. package/dist/web/logger.js +58 -0
  78. package/dist/web/logger.js.map +1 -0
  79. package/dist/web/permissions.js +3 -4
  80. package/dist/web/permissions.js.map +1 -1
  81. package/dist/web/storage/FileSystem.js +0 -10
  82. package/dist/web/storage/FileSystem.js.map +1 -1
  83. package/dist/web/storage/index.js +14 -23
  84. package/dist/web/storage/index.js.map +1 -1
  85. package/dist/web/sync.js +20 -28
  86. package/dist/web/sync.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/PeerState.ts +4 -3
  89. package/src/PriorityBasedMessageQueue.ts +67 -11
  90. package/src/base64url.ts +1 -6
  91. package/src/coValue.ts +37 -0
  92. package/src/coValueCore.ts +34 -180
  93. package/src/coValueState.ts +5 -4
  94. package/src/coValues/account.ts +2 -1
  95. package/src/coValues/coList.ts +0 -7
  96. package/src/coValues/coStream.ts +3 -8
  97. package/src/coValues/group.ts +3 -2
  98. package/src/coreToCoValue.ts +2 -1
  99. package/src/crypto/PureJSCrypto.ts +2 -1
  100. package/src/crypto/WasmCrypto.ts +2 -1
  101. package/src/crypto/crypto.ts +2 -4
  102. package/src/exports.ts +2 -0
  103. package/src/localNode.ts +5 -9
  104. package/src/logger.ts +78 -0
  105. package/src/permissions.ts +3 -5
  106. package/src/storage/FileSystem.ts +0 -12
  107. package/src/storage/index.ts +21 -37
  108. package/src/sync.ts +20 -29
  109. package/src/tests/PeerState.test.ts +0 -3
  110. package/src/tests/PriorityBasedMessageQueue.test.ts +1 -1
  111. package/src/tests/coValueCore.test.ts +32 -2
  112. package/src/tests/logger.test.ts +145 -0
  113. package/src/tests/sync.test.ts +43 -0
  114. package/src/tests/testUtils.ts +19 -0
@@ -1,12 +1,12 @@
1
1
 
2
- > cojson@0.9.9 build /home/runner/work/jazz/jazz/packages/cojson
2
+ > cojson@0.9.11 build /home/runner/work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && pnpm run build:native && pnpm run build:web
4
4
 
5
5
 
6
- > cojson@0.9.9 build:native /home/runner/work/jazz/jazz/packages/cojson
6
+ > cojson@0.9.11 build:native /home/runner/work/jazz/jazz/packages/cojson
7
7
  > tsc --sourceMap --outDir dist/native -p tsconfig.native.json
8
8
 
9
9
 
10
- > cojson@0.9.9 build:web /home/runner/work/jazz/jazz/packages/cojson
10
+ > cojson@0.9.11 build:web /home/runner/work/jazz/jazz/packages/cojson
11
11
  > tsc --sourceMap --outDir dist/web -p tsconfig.web.json
12
12
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # cojson
2
2
 
3
+ ## 0.9.11
4
+
5
+ ### Patch Changes
6
+
7
+ - efbf3d8: Optimize queue management
8
+ - 5863bad: Wrap all the console logs with a logger class to make possible to customize the logger
9
+
10
+ ## 0.9.10
11
+
12
+ ### Patch Changes
13
+
14
+ - 4aa377d: Handle unkown coValue content type and optimize content access
15
+
3
16
  ## 0.9.9
4
17
 
5
18
  ### Patch Changes
@@ -1,5 +1,6 @@
1
1
  import { PeerKnownStates } from "./PeerKnownStates.js";
2
2
  import { PriorityBasedMessageQueue, } from "./PriorityBasedMessageQueue.js";
3
+ import { logger } from "./logger.js";
3
4
  import { CO_VALUE_PRIORITY } from "./priority.js";
4
5
  export class PeerState {
5
6
  constructor(peer, knownStates) {
@@ -90,7 +91,7 @@ export class PeerState {
90
91
  }
91
92
  }
92
93
  gracefulShutdown() {
93
- console.debug("Gracefully closing", this.id);
94
+ logger.debug("Gracefully closing", this.id);
94
95
  this.closeQueue();
95
96
  this.peer.outgoing.close();
96
97
  this.closed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../../src/PeerState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../../src/PeerState.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,62 @@ function promiseWithResolvers() {
12
12
  reject,
13
13
  };
14
14
  }
15
+ class Queue {
16
+ constructor() {
17
+ this.head = undefined;
18
+ this.tail = undefined;
19
+ }
20
+ push(msg) {
21
+ const { promise, resolve, reject } = promiseWithResolvers();
22
+ const entry = {
23
+ msg,
24
+ promise,
25
+ resolve,
26
+ reject,
27
+ next: undefined,
28
+ };
29
+ if (this.head === undefined) {
30
+ this.head = entry;
31
+ }
32
+ else {
33
+ if (this.tail === undefined) {
34
+ throw new Error("Tail is null but head is not");
35
+ }
36
+ this.tail.next = entry;
37
+ }
38
+ this.tail = entry;
39
+ return entry;
40
+ }
41
+ pull() {
42
+ const entry = this.head;
43
+ if (entry) {
44
+ this.head = entry.next;
45
+ }
46
+ if (this.head === undefined) {
47
+ this.tail = undefined;
48
+ }
49
+ return entry;
50
+ }
51
+ isNonEmpty() {
52
+ return this.head !== undefined;
53
+ }
54
+ }
15
55
  export class PriorityBasedMessageQueue {
16
56
  getQueue(priority) {
17
57
  return this.queues[priority];
18
58
  }
19
59
  constructor(defaultPriority) {
20
60
  this.defaultPriority = defaultPriority;
21
- this.queues = [[], [], [], [], [], [], [], []];
61
+ this.queues = [
62
+ new Queue(),
63
+ new Queue(),
64
+ new Queue(),
65
+ new Queue(),
66
+ new Queue(),
67
+ new Queue(),
68
+ new Queue(),
69
+ new Queue(),
70
+ ];
22
71
  this.queueSizeCounter = metrics
23
72
  .getMeter("cojson")
24
73
  .createUpDownCounter("jazz.messagequeue.size", {
@@ -28,24 +77,22 @@ export class PriorityBasedMessageQueue {
28
77
  });
29
78
  }
30
79
  push(msg) {
31
- const { promise, resolve, reject } = promiseWithResolvers();
32
- const entry = { msg, promise, resolve, reject };
33
80
  const priority = "priority" in msg ? msg.priority : this.defaultPriority;
34
- this.getQueue(priority).push(entry);
81
+ const entry = this.getQueue(priority).push(msg);
35
82
  this.queueSizeCounter.add(1, {
36
83
  priority,
37
84
  });
38
- return promise;
85
+ return entry.promise;
39
86
  }
40
87
  pull() {
41
- const priority = this.queues.findIndex((queue) => queue.length > 0);
88
+ const priority = this.queues.findIndex((queue) => queue.isNonEmpty());
42
89
  if (priority === -1) {
43
90
  return;
44
91
  }
45
92
  this.queueSizeCounter.add(-1, {
46
93
  priority,
47
94
  });
48
- return this.queues[priority]?.shift();
95
+ return this.queues[priority]?.pull();
49
96
  }
50
97
  }
51
98
  //# sourceMappingURL=PriorityBasedMessageQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriorityBasedMessageQueue.js","sourceRoot":"","sources":["../../src/PriorityBasedMessageQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIxD,SAAS,oBAAoB;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAI,EAAE,EAAE,GAAE,CAAC,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE,GAAE,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACnD,OAAO,GAAG,QAAQ,CAAC;QACnB,MAAM,GAAG,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAmBD,MAAM,OAAO,yBAAyB;IAU5B,QAAQ,CAAC,QAAyB;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAb5C,WAAM,GAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9D,qBAAgB,GAAG,OAAO;aACvB,QAAQ,CAAC,QAAQ,CAAC;aAClB,mBAAmB,CAAC,wBAAwB,EAAE;YAC7C,WAAW,EAAE,2BAA2B;YACxC,SAAS,EAAE,SAAS,CAAC,GAAG;YACxB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IAMkD,CAAC;IAEjD,IAAI,CAAC,GAAgB;QAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAQ,CAAC;QAClE,MAAM,KAAK,GAAe,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,IAAI;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC5B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"PriorityBasedMessageQueue.js","sourceRoot":"","sources":["../../src/PriorityBasedMessageQueue.ts"],"names":[],"mappings":"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"}
@@ -38,12 +38,6 @@ export function bytesToBase64url(bytes) {
38
38
  base64 += "==";
39
39
  if (k === 2)
40
40
  base64 += "=";
41
- // const after = performance.now();
42
- // console.log(
43
- // "bytesToBase64url bandwidth in MB/s for length",
44
- // (1000 * bytes.length / (after - before)) / (1024 * 1024),
45
- // bytes.length
46
- // );
47
41
  return base64;
48
42
  }
49
43
  const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
@@ -1 +1 @@
1
- {"version":3,"file":"base64url.js","sourceRoot":"","sources":["../../src/base64url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base64url.js","sourceRoot":"","sources":["../../src/base64url.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,30 @@
1
+ export class RawUnknownCoValue {
2
+ constructor(core) {
3
+ this.id = core.id;
4
+ this.core = core;
5
+ }
6
+ get type() {
7
+ return this.core.header.type;
8
+ }
9
+ get headerMeta() {
10
+ return this.core.header.meta;
11
+ }
12
+ /** @category 6. Meta */
13
+ get group() {
14
+ return this.core.getGroup();
15
+ }
16
+ toJSON() {
17
+ return {};
18
+ }
19
+ atTime() {
20
+ return this;
21
+ }
22
+ subscribe(listener) {
23
+ return this.core.subscribe((content) => {
24
+ listener(content);
25
+ });
26
+ }
27
+ }
1
28
  export function expectMap(content) {
2
29
  if (content.type !== "comap") {
3
30
  throw new Error("Expected map");
@@ -1 +1 @@
1
- {"version":3,"file":"coValue.js","sourceRoot":"","sources":["../../src/coValue.ts"],"names":[],"mappings":"AA+CA,MAAM,UAAU,SAAS,CAAC,OAAmB;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,OAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAmB;IAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,OAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"coValue.js","sourceRoot":"","sources":["../../src/coValue.ts"],"names":[],"mappings":"AAqCA,MAAM,OAAO,iBAAiB;IAI5B,YAAY,IAAiB;QAC3B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAgB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAkB,CAAC;IAC7C,CAAC;IAED,wBAAwB;IACxB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,QAA+B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,QAAQ,CAAC,OAAe,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAYD,MAAM,UAAU,SAAS,CAAC,OAAmB;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,OAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAmB;IAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,OAAyB,CAAC;AACnC,CAAC"}
@@ -3,6 +3,7 @@ import { coreToCoValue } from "./coreToCoValue.js";
3
3
  import { StreamingHash, } from "./crypto/crypto.js";
4
4
  import { getGroupDependentKeyList, getParentGroupId, isParentGroupReference, } from "./ids.js";
5
5
  import { parseJSON, stableStringify } from "./jsonStringify.js";
6
+ import { logger } from "./logger.js";
6
7
  import { determineValidTransactions, isKeyForKeyField, } from "./permissions.js";
7
8
  import { getPriorityFromHeader } from "./priority.js";
8
9
  import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
@@ -36,10 +37,7 @@ export class CoValueCore {
36
37
  .expectCoValueLoaded(header.ruleset.group)
37
38
  .subscribe((_groupUpdate) => {
38
39
  this._cachedContent = undefined;
39
- const newContent = this.getCurrentContent();
40
- for (const listener of this.listeners) {
41
- listener(newContent);
42
- }
40
+ this.notifyUpdate("immediate");
43
41
  });
44
42
  }
45
43
  }
@@ -92,13 +90,7 @@ export class CoValueCore {
92
90
  .resolveAccountAgent(accountOrAgentIDfromSessionID(sessionID), "Expected to know signer of transaction")
93
91
  .andThen((agent) => {
94
92
  const signerID = this.crypto.getAgentSignerID(agent);
95
- // const beforeHash = performance.now();
96
93
  const { expectedNewHash, newStreamingHash } = this.expectedNewHashAfter(sessionID, newTransactions);
97
- // const afterHash = performance.now();
98
- // console.log(
99
- // "Hashing took",
100
- // afterHash - beforeHash
101
- // );
102
94
  if (givenExpectedNewHash && givenExpectedNewHash !== expectedNewHash) {
103
95
  return err({
104
96
  type: "InvalidHash",
@@ -117,146 +109,10 @@ export class CoValueCore {
117
109
  signerID,
118
110
  });
119
111
  }
120
- // const afterVerify = performance.now();
121
- // console.log(
122
- // "Verify took",
123
- // afterVerify - beforeVerify
124
- // );
125
112
  this.doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, "immediate");
126
113
  return ok(true);
127
114
  });
128
115
  }
129
- /*tryAddTransactionsAsync(
130
- sessionID: SessionID,
131
- newTransactions: Transaction[],
132
- givenExpectedNewHash: Hash | undefined,
133
- newSignature: Signature,
134
- ): ResultAsync<true, TryAddTransactionsError> {
135
- const currentAsyncAddTransaction = this._currentAsyncAddTransaction;
136
- let maybeAwaitPrevious:
137
- | ResultAsync<void, TryAddTransactionsError>
138
- | undefined;
139
- let thisDone = () => {};
140
-
141
- if (currentAsyncAddTransaction) {
142
- // eslint-disable-next-line neverthrow/must-use-result
143
- maybeAwaitPrevious = ResultAsync.fromSafePromise(
144
- currentAsyncAddTransaction,
145
- );
146
- } else {
147
- // eslint-disable-next-line neverthrow/must-use-result
148
- maybeAwaitPrevious = ResultAsync.fromSafePromise(Promise.resolve());
149
- this._currentAsyncAddTransaction = new Promise((resolve) => {
150
- thisDone = resolve;
151
- });
152
- }
153
-
154
- return maybeAwaitPrevious
155
- .andThen((_previousDone) =>
156
- this.node
157
- .resolveAccountAgentAsync(
158
- accountOrAgentIDfromSessionID(sessionID),
159
- "Expected to know signer of transaction",
160
- )
161
- .andThen((agent) => {
162
- const signerID = this.crypto.getAgentSignerID(agent);
163
-
164
- const nTxBefore =
165
- this.sessionLogs.get(sessionID)?.transactions
166
- .length ?? 0;
167
-
168
- // const beforeHash = performance.now();
169
- return ResultAsync.fromSafePromise(
170
- this.expectedNewHashAfterAsync(
171
- sessionID,
172
- newTransactions,
173
- ),
174
- ).andThen(({ expectedNewHash, newStreamingHash }) => {
175
- // const afterHash = performance.now();
176
- // console.log(
177
- // "Hashing took",
178
- // afterHash - beforeHash
179
- // );
180
-
181
- const nTxAfter =
182
- this.sessionLogs.get(sessionID)?.transactions
183
- .length ?? 0;
184
-
185
- if (nTxAfter !== nTxBefore) {
186
- const newTransactionLengthBefore =
187
- newTransactions.length;
188
- newTransactions = newTransactions.slice(
189
- nTxAfter - nTxBefore,
190
- );
191
- console.warn(
192
- "Transactions changed while async hashing",
193
- {
194
- nTxBefore,
195
- nTxAfter,
196
- newTransactionLengthBefore,
197
- remainingNewTransactions:
198
- newTransactions.length,
199
- },
200
- );
201
- }
202
-
203
- if (
204
- givenExpectedNewHash &&
205
- givenExpectedNewHash !== expectedNewHash
206
- ) {
207
- return err({
208
- type: "InvalidHash",
209
- id: this.id,
210
- expectedNewHash,
211
- givenExpectedNewHash,
212
- } satisfies InvalidHashError);
213
- }
214
-
215
- performance.mark("verifyStart" + this.id);
216
- if (
217
- !this.crypto.verify(
218
- newSignature,
219
- expectedNewHash,
220
- signerID,
221
- )
222
- ) {
223
- return err({
224
- type: "InvalidSignature",
225
- id: this.id,
226
- newSignature,
227
- sessionID,
228
- signerID,
229
- } satisfies InvalidSignatureError);
230
- }
231
- performance.mark("verifyEnd" + this.id);
232
- performance.measure(
233
- "verify" + this.id,
234
- "verifyStart" + this.id,
235
- "verifyEnd" + this.id,
236
- );
237
-
238
- this.doAddTransactions(
239
- sessionID,
240
- newTransactions,
241
- newSignature,
242
- expectedNewHash,
243
- newStreamingHash,
244
- "deferred",
245
- );
246
-
247
- return ok(true as const);
248
- });
249
- }),
250
- )
251
- .map((trueResult) => {
252
- thisDone();
253
- return trueResult;
254
- })
255
- .mapErr((err) => {
256
- thisDone();
257
- return err;
258
- });
259
- }*/
260
116
  doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash, notifyMode) {
261
117
  if (this.node.crashed) {
262
118
  throw new Error("Trying to add transactions after node is crashed");
@@ -274,12 +130,6 @@ export class CoValueCore {
274
130
  ? tx.encryptedChanges.length
275
131
  : tx.changes.length), 0);
276
132
  if (sizeOfTxsSinceLastInbetweenSignature > MAX_RECOMMENDED_TX_SIZE) {
277
- // console.log(
278
- // "Saving inbetween signature for tx ",
279
- // sessionID,
280
- // transactions.length - 1,
281
- // sizeOfTxsSinceLastInbetweenSignature
282
- // );
283
133
  signatureAfter[transactions.length - 1] = newSignature;
284
134
  }
285
135
  this._sessionLogs.set(sessionID, {
@@ -300,29 +150,33 @@ export class CoValueCore {
300
150
  this._cachedKnownState = undefined;
301
151
  this._cachedDependentOn = undefined;
302
152
  this._cachedNewContentSinceEmpty = undefined;
303
- if (this.listeners.size > 0) {
304
- if (notifyMode === "immediate") {
305
- const content = this.getCurrentContent();
306
- for (const listener of this.listeners) {
307
- listener(content);
308
- }
153
+ this.notifyUpdate(notifyMode);
154
+ }
155
+ notifyUpdate(notifyMode) {
156
+ if (this.listeners.size === 0) {
157
+ return;
158
+ }
159
+ if (notifyMode === "immediate") {
160
+ const content = this.getCurrentContent();
161
+ for (const listener of this.listeners) {
162
+ listener(content);
309
163
  }
310
- else {
311
- if (!this.nextDeferredNotify) {
312
- this.nextDeferredNotify = new Promise((resolve) => {
313
- setTimeout(() => {
314
- this.nextDeferredNotify = undefined;
315
- this.deferredUpdates = 0;
316
- const content = this.getCurrentContent();
317
- for (const listener of this.listeners) {
318
- listener(content);
319
- }
320
- resolve();
321
- }, 0);
322
- });
323
- }
324
- this.deferredUpdates++;
164
+ }
165
+ else {
166
+ if (!this.nextDeferredNotify) {
167
+ this.nextDeferredNotify = new Promise((resolve) => {
168
+ setTimeout(() => {
169
+ this.nextDeferredNotify = undefined;
170
+ this.deferredUpdates = 0;
171
+ const content = this.getCurrentContent();
172
+ for (const listener of this.listeners) {
173
+ listener(content);
174
+ }
175
+ resolve();
176
+ }, 0);
177
+ });
325
178
  }
179
+ this.deferredUpdates++;
326
180
  }
327
181
  }
328
182
  subscribe(listener) {
@@ -352,7 +206,6 @@ export class CoValueCore {
352
206
  streamingHash.update(transaction);
353
207
  const after = performance.now();
354
208
  if (after - before > 1) {
355
- // console.log("Hashing blocked for", after - before);
356
209
  await new Promise((resolve) => setTimeout(resolve, 0));
357
210
  before = performance.now();
358
211
  }
@@ -448,7 +301,7 @@ export class CoValueCore {
448
301
  this._decryptionCache[tx.encryptedChanges] = decryptedChanges;
449
302
  }
450
303
  if (!decryptedChanges) {
451
- console.error("Failed to decrypt transaction despite having key");
304
+ logger.error("Failed to decrypt transaction despite having key");
452
305
  continue;
453
306
  }
454
307
  allTransactions.push({
@@ -550,7 +403,7 @@ export class CoValueCore {
550
403
  return secret;
551
404
  }
552
405
  else {
553
- console.error(`Encrypting ${encryptingKeyID} key didn't decrypt ${keyID}`);
406
+ logger.warn(`Encrypting ${encryptingKeyID} key didn't decrypt ${keyID}`);
554
407
  }
555
408
  }
556
409
  }
@@ -572,7 +425,7 @@ export class CoValueCore {
572
425
  return secret;
573
426
  }
574
427
  else {
575
- console.error(`Encrypting parent ${parentKey.id} key didn't decrypt ${keyID}`);
428
+ logger.warn(`Encrypting parent ${parentKey.id} key didn't decrypt ${keyID}`);
576
429
  }
577
430
  }
578
431
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore.ts"],"names":[],"mappings":"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"}