cojson 0.19.21 → 0.20.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 (254) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +67 -0
  3. package/dist/CojsonMessageChannel/CojsonMessageChannel.d.ts +42 -0
  4. package/dist/CojsonMessageChannel/CojsonMessageChannel.d.ts.map +1 -0
  5. package/dist/CojsonMessageChannel/CojsonMessageChannel.js +261 -0
  6. package/dist/CojsonMessageChannel/CojsonMessageChannel.js.map +1 -0
  7. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.d.ts +18 -0
  8. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.d.ts.map +1 -0
  9. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.js +37 -0
  10. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.js.map +1 -0
  11. package/dist/CojsonMessageChannel/index.d.ts +3 -0
  12. package/dist/CojsonMessageChannel/index.d.ts.map +1 -0
  13. package/dist/CojsonMessageChannel/index.js +2 -0
  14. package/dist/CojsonMessageChannel/index.js.map +1 -0
  15. package/dist/CojsonMessageChannel/types.d.ts +149 -0
  16. package/dist/CojsonMessageChannel/types.d.ts.map +1 -0
  17. package/dist/CojsonMessageChannel/types.js +36 -0
  18. package/dist/CojsonMessageChannel/types.js.map +1 -0
  19. package/dist/GarbageCollector.d.ts +4 -2
  20. package/dist/GarbageCollector.d.ts.map +1 -1
  21. package/dist/GarbageCollector.js +5 -3
  22. package/dist/GarbageCollector.js.map +1 -1
  23. package/dist/SyncStateManager.d.ts +3 -3
  24. package/dist/SyncStateManager.d.ts.map +1 -1
  25. package/dist/SyncStateManager.js +4 -4
  26. package/dist/SyncStateManager.js.map +1 -1
  27. package/dist/coValueContentMessage.d.ts +0 -2
  28. package/dist/coValueContentMessage.d.ts.map +1 -1
  29. package/dist/coValueContentMessage.js +0 -8
  30. package/dist/coValueContentMessage.js.map +1 -1
  31. package/dist/coValueCore/SessionMap.d.ts +4 -2
  32. package/dist/coValueCore/SessionMap.d.ts.map +1 -1
  33. package/dist/coValueCore/SessionMap.js +30 -0
  34. package/dist/coValueCore/SessionMap.js.map +1 -1
  35. package/dist/coValueCore/coValueCore.d.ts +86 -4
  36. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  37. package/dist/coValueCore/coValueCore.js +318 -17
  38. package/dist/coValueCore/coValueCore.js.map +1 -1
  39. package/dist/coValueCore/verifiedState.d.ts +6 -1
  40. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  41. package/dist/coValueCore/verifiedState.js +9 -0
  42. package/dist/coValueCore/verifiedState.js.map +1 -1
  43. package/dist/coValues/coList.d.ts +3 -2
  44. package/dist/coValues/coList.d.ts.map +1 -1
  45. package/dist/coValues/coList.js.map +1 -1
  46. package/dist/coValues/group.d.ts.map +1 -1
  47. package/dist/coValues/group.js +3 -6
  48. package/dist/coValues/group.js.map +1 -1
  49. package/dist/config.d.ts +0 -6
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +0 -8
  52. package/dist/config.js.map +1 -1
  53. package/dist/crypto/NapiCrypto.d.ts +1 -2
  54. package/dist/crypto/NapiCrypto.d.ts.map +1 -1
  55. package/dist/crypto/NapiCrypto.js +19 -4
  56. package/dist/crypto/NapiCrypto.js.map +1 -1
  57. package/dist/crypto/RNCrypto.d.ts.map +1 -1
  58. package/dist/crypto/RNCrypto.js +19 -4
  59. package/dist/crypto/RNCrypto.js.map +1 -1
  60. package/dist/crypto/WasmCrypto.d.ts +11 -4
  61. package/dist/crypto/WasmCrypto.d.ts.map +1 -1
  62. package/dist/crypto/WasmCrypto.js +52 -10
  63. package/dist/crypto/WasmCrypto.js.map +1 -1
  64. package/dist/crypto/WasmCryptoEdge.d.ts +1 -0
  65. package/dist/crypto/WasmCryptoEdge.d.ts.map +1 -1
  66. package/dist/crypto/WasmCryptoEdge.js +4 -1
  67. package/dist/crypto/WasmCryptoEdge.js.map +1 -1
  68. package/dist/crypto/crypto.d.ts +3 -3
  69. package/dist/crypto/crypto.d.ts.map +1 -1
  70. package/dist/crypto/crypto.js +6 -1
  71. package/dist/crypto/crypto.js.map +1 -1
  72. package/dist/exports.d.ts +3 -2
  73. package/dist/exports.d.ts.map +1 -1
  74. package/dist/exports.js +3 -1
  75. package/dist/exports.js.map +1 -1
  76. package/dist/ids.d.ts +4 -1
  77. package/dist/ids.d.ts.map +1 -1
  78. package/dist/ids.js +4 -0
  79. package/dist/ids.js.map +1 -1
  80. package/dist/knownState.d.ts +2 -0
  81. package/dist/knownState.d.ts.map +1 -1
  82. package/dist/localNode.d.ts +13 -3
  83. package/dist/localNode.d.ts.map +1 -1
  84. package/dist/localNode.js +17 -2
  85. package/dist/localNode.js.map +1 -1
  86. package/dist/platformUtils.d.ts +3 -0
  87. package/dist/platformUtils.d.ts.map +1 -0
  88. package/dist/platformUtils.js +24 -0
  89. package/dist/platformUtils.js.map +1 -0
  90. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts +30 -0
  91. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts.map +1 -0
  92. package/dist/storage/DeletedCoValuesEraserScheduler.js +84 -0
  93. package/dist/storage/DeletedCoValuesEraserScheduler.js.map +1 -0
  94. package/dist/storage/sqlite/client.d.ts +3 -0
  95. package/dist/storage/sqlite/client.d.ts.map +1 -1
  96. package/dist/storage/sqlite/client.js +44 -0
  97. package/dist/storage/sqlite/client.js.map +1 -1
  98. package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
  99. package/dist/storage/sqlite/sqliteMigrations.js +7 -0
  100. package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
  101. package/dist/storage/sqliteAsync/client.d.ts +3 -0
  102. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  103. package/dist/storage/sqliteAsync/client.js +42 -0
  104. package/dist/storage/sqliteAsync/client.js.map +1 -1
  105. package/dist/storage/storageAsync.d.ts +15 -3
  106. package/dist/storage/storageAsync.d.ts.map +1 -1
  107. package/dist/storage/storageAsync.js +60 -3
  108. package/dist/storage/storageAsync.js.map +1 -1
  109. package/dist/storage/storageSync.d.ts +14 -3
  110. package/dist/storage/storageSync.d.ts.map +1 -1
  111. package/dist/storage/storageSync.js +54 -3
  112. package/dist/storage/storageSync.js.map +1 -1
  113. package/dist/storage/types.d.ts +64 -0
  114. package/dist/storage/types.d.ts.map +1 -1
  115. package/dist/storage/types.js +12 -1
  116. package/dist/storage/types.js.map +1 -1
  117. package/dist/sync.d.ts +6 -0
  118. package/dist/sync.d.ts.map +1 -1
  119. package/dist/sync.js +69 -15
  120. package/dist/sync.js.map +1 -1
  121. package/dist/tests/CojsonMessageChannel.test.d.ts +2 -0
  122. package/dist/tests/CojsonMessageChannel.test.d.ts.map +1 -0
  123. package/dist/tests/CojsonMessageChannel.test.js +236 -0
  124. package/dist/tests/CojsonMessageChannel.test.js.map +1 -0
  125. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts +2 -0
  126. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts.map +1 -0
  127. package/dist/tests/DeletedCoValuesEraserScheduler.test.js +149 -0
  128. package/dist/tests/DeletedCoValuesEraserScheduler.test.js.map +1 -0
  129. package/dist/tests/GarbageCollector.test.js +91 -18
  130. package/dist/tests/GarbageCollector.test.js.map +1 -1
  131. package/dist/tests/StorageApiAsync.test.js +510 -146
  132. package/dist/tests/StorageApiAsync.test.js.map +1 -1
  133. package/dist/tests/StorageApiSync.test.js +531 -130
  134. package/dist/tests/StorageApiSync.test.js.map +1 -1
  135. package/dist/tests/SyncManager.processQueues.test.js +1 -1
  136. package/dist/tests/SyncManager.processQueues.test.js.map +1 -1
  137. package/dist/tests/SyncStateManager.test.js +1 -1
  138. package/dist/tests/SyncStateManager.test.js.map +1 -1
  139. package/dist/tests/WasmCrypto.test.js +6 -3
  140. package/dist/tests/WasmCrypto.test.js.map +1 -1
  141. package/dist/tests/coPlainText.test.js +1 -1
  142. package/dist/tests/coPlainText.test.js.map +1 -1
  143. package/dist/tests/coValueCore.loadFromStorage.test.js +4 -0
  144. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
  145. package/dist/tests/coValueCore.test.js +34 -13
  146. package/dist/tests/coValueCore.test.js.map +1 -1
  147. package/dist/tests/coreWasm.test.js +127 -4
  148. package/dist/tests/coreWasm.test.js.map +1 -1
  149. package/dist/tests/crypto.test.js +89 -93
  150. package/dist/tests/crypto.test.js.map +1 -1
  151. package/dist/tests/deleteCoValue.test.d.ts +2 -0
  152. package/dist/tests/deleteCoValue.test.d.ts.map +1 -0
  153. package/dist/tests/deleteCoValue.test.js +313 -0
  154. package/dist/tests/deleteCoValue.test.js.map +1 -0
  155. package/dist/tests/group.removeMember.test.js +18 -30
  156. package/dist/tests/group.removeMember.test.js.map +1 -1
  157. package/dist/tests/knownState.lazyLoading.test.js +4 -0
  158. package/dist/tests/knownState.lazyLoading.test.js.map +1 -1
  159. package/dist/tests/sync.deleted.test.d.ts +2 -0
  160. package/dist/tests/sync.deleted.test.d.ts.map +1 -0
  161. package/dist/tests/sync.deleted.test.js +214 -0
  162. package/dist/tests/sync.deleted.test.js.map +1 -0
  163. package/dist/tests/sync.garbageCollection.test.js +56 -32
  164. package/dist/tests/sync.garbageCollection.test.js.map +1 -1
  165. package/dist/tests/sync.load.test.js +3 -5
  166. package/dist/tests/sync.load.test.js.map +1 -1
  167. package/dist/tests/sync.mesh.test.js +4 -3
  168. package/dist/tests/sync.mesh.test.js.map +1 -1
  169. package/dist/tests/sync.peerReconciliation.test.js +3 -3
  170. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  171. package/dist/tests/sync.storage.test.js +12 -11
  172. package/dist/tests/sync.storage.test.js.map +1 -1
  173. package/dist/tests/sync.storageAsync.test.js +7 -7
  174. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  175. package/dist/tests/sync.test.js +3 -2
  176. package/dist/tests/sync.test.js.map +1 -1
  177. package/dist/tests/sync.tracking.test.js +35 -4
  178. package/dist/tests/sync.tracking.test.js.map +1 -1
  179. package/dist/tests/testStorage.d.ts +3 -0
  180. package/dist/tests/testStorage.d.ts.map +1 -1
  181. package/dist/tests/testStorage.js +16 -2
  182. package/dist/tests/testStorage.js.map +1 -1
  183. package/dist/tests/testUtils.d.ts +29 -4
  184. package/dist/tests/testUtils.d.ts.map +1 -1
  185. package/dist/tests/testUtils.js +84 -9
  186. package/dist/tests/testUtils.js.map +1 -1
  187. package/package.json +6 -16
  188. package/src/CojsonMessageChannel/CojsonMessageChannel.ts +332 -0
  189. package/src/CojsonMessageChannel/MessagePortOutgoingChannel.ts +52 -0
  190. package/src/CojsonMessageChannel/index.ts +9 -0
  191. package/src/CojsonMessageChannel/types.ts +200 -0
  192. package/src/GarbageCollector.ts +5 -5
  193. package/src/SyncStateManager.ts +6 -6
  194. package/src/coValueContentMessage.ts +0 -14
  195. package/src/coValueCore/SessionMap.ts +43 -1
  196. package/src/coValueCore/coValueCore.ts +430 -15
  197. package/src/coValueCore/verifiedState.ts +26 -3
  198. package/src/coValues/coList.ts +5 -3
  199. package/src/coValues/group.ts +5 -6
  200. package/src/config.ts +0 -9
  201. package/src/crypto/NapiCrypto.ts +29 -13
  202. package/src/crypto/RNCrypto.ts +29 -11
  203. package/src/crypto/WasmCrypto.ts +67 -20
  204. package/src/crypto/WasmCryptoEdge.ts +5 -1
  205. package/src/crypto/crypto.ts +16 -4
  206. package/src/exports.ts +3 -0
  207. package/src/ids.ts +11 -1
  208. package/src/localNode.ts +18 -5
  209. package/src/platformUtils.ts +26 -0
  210. package/src/storage/DeletedCoValuesEraserScheduler.ts +124 -0
  211. package/src/storage/sqlite/client.ts +77 -0
  212. package/src/storage/sqlite/sqliteMigrations.ts +7 -0
  213. package/src/storage/sqliteAsync/client.ts +75 -0
  214. package/src/storage/storageAsync.ts +77 -4
  215. package/src/storage/storageSync.ts +73 -4
  216. package/src/storage/types.ts +75 -0
  217. package/src/sync.ts +84 -15
  218. package/src/tests/CojsonMessageChannel.test.ts +306 -0
  219. package/src/tests/DeletedCoValuesEraserScheduler.test.ts +185 -0
  220. package/src/tests/GarbageCollector.test.ts +119 -22
  221. package/src/tests/StorageApiAsync.test.ts +615 -156
  222. package/src/tests/StorageApiSync.test.ts +623 -137
  223. package/src/tests/SyncManager.processQueues.test.ts +1 -1
  224. package/src/tests/SyncStateManager.test.ts +1 -1
  225. package/src/tests/WasmCrypto.test.ts +8 -3
  226. package/src/tests/coPlainText.test.ts +1 -1
  227. package/src/tests/coValueCore.loadFromStorage.test.ts +8 -0
  228. package/src/tests/coValueCore.test.ts +49 -14
  229. package/src/tests/coreWasm.test.ts +319 -10
  230. package/src/tests/crypto.test.ts +141 -150
  231. package/src/tests/deleteCoValue.test.ts +528 -0
  232. package/src/tests/group.removeMember.test.ts +35 -35
  233. package/src/tests/knownState.lazyLoading.test.ts +8 -0
  234. package/src/tests/sync.deleted.test.ts +294 -0
  235. package/src/tests/sync.garbageCollection.test.ts +69 -36
  236. package/src/tests/sync.load.test.ts +3 -5
  237. package/src/tests/sync.mesh.test.ts +6 -3
  238. package/src/tests/sync.peerReconciliation.test.ts +3 -3
  239. package/src/tests/sync.storage.test.ts +14 -11
  240. package/src/tests/sync.storageAsync.test.ts +7 -7
  241. package/src/tests/sync.test.ts +5 -2
  242. package/src/tests/sync.tracking.test.ts +54 -4
  243. package/src/tests/testStorage.ts +30 -3
  244. package/src/tests/testUtils.ts +113 -15
  245. package/dist/crypto/PureJSCrypto.d.ts +0 -77
  246. package/dist/crypto/PureJSCrypto.d.ts.map +0 -1
  247. package/dist/crypto/PureJSCrypto.js +0 -236
  248. package/dist/crypto/PureJSCrypto.js.map +0 -1
  249. package/dist/tests/PureJSCrypto.test.d.ts +0 -2
  250. package/dist/tests/PureJSCrypto.test.d.ts.map +0 -1
  251. package/dist/tests/PureJSCrypto.test.js +0 -145
  252. package/dist/tests/PureJSCrypto.test.js.map +0 -1
  253. package/src/crypto/PureJSCrypto.ts +0 -429
  254. package/src/tests/PureJSCrypto.test.ts +0 -217
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isCloudflare(): boolean;
2
+ export declare const isEvalAllowed: () => boolean;
3
+ //# sourceMappingURL=platformUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformUtils.d.ts","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,YAW3B;AAED,eAAO,MAAM,aAAa,eAYzB,CAAC"}
@@ -0,0 +1,24 @@
1
+ export function isCloudflare() {
2
+ if (
3
+ // @ts-ignore
4
+ typeof navigator !== "undefined" &&
5
+ // @ts-ignore
6
+ navigator?.userAgent?.includes("Cloudflare")) {
7
+ return true;
8
+ }
9
+ return false;
10
+ }
11
+ export const isEvalAllowed = () => {
12
+ if (isCloudflare()) {
13
+ return false;
14
+ }
15
+ try {
16
+ const F = Function;
17
+ new F("");
18
+ return true;
19
+ }
20
+ catch (_) {
21
+ return false;
22
+ }
23
+ };
24
+ //# sourceMappingURL=platformUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformUtils.js","sourceRoot":"","sources":["../src/platformUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B;IACE,aAAa;IACb,OAAO,SAAS,KAAK,WAAW;QAChC,aAAa;QACb,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,IAAI,YAAY,EAAE,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,QAAQ,CAAC;QACnB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ export type DeletedCoValuesEraserSchedulerRunResult = {
2
+ hasMore: boolean;
3
+ };
4
+ export type DeletedCoValuesEraserSchedulerOpts = {
5
+ throttleMs: number;
6
+ startupDelayMs: number;
7
+ followUpDelayMs: number;
8
+ };
9
+ export declare const DEFAULT_DELETE_SCHEDULE_OPTS: {
10
+ throttleMs: number;
11
+ startupDelayMs: number;
12
+ followUpDelayMs: number;
13
+ };
14
+ export declare class DeletedCoValuesEraserScheduler {
15
+ private readonly runCallback;
16
+ private readonly opts;
17
+ private state;
18
+ private isDisposed;
19
+ private scheduledTimeout;
20
+ constructor({ run, opts, }: {
21
+ run: () => Promise<DeletedCoValuesEraserSchedulerRunResult>;
22
+ opts?: DeletedCoValuesEraserSchedulerOpts;
23
+ });
24
+ scheduleStartupDrain(): void;
25
+ onEnqueueDeletedCoValue(): void;
26
+ dispose(): void;
27
+ private scheduleTimer;
28
+ private run;
29
+ }
30
+ //# sourceMappingURL=DeletedCoValuesEraserScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletedCoValuesEraserScheduler.d.ts","sourceRoot":"","sources":["../../src/storage/DeletedCoValuesEraserScheduler.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uCAAuC,GAAG;IACpD,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAUF,eAAO,MAAM,4BAA4B;;;;CAIK,CAAC;AAE/C,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAE1D,OAAO,CAAC,KAAK,CAA0B;IAEvC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB,CAA4C;gBAExD,EACV,GAAG,EACH,IAAI,GACL,EAAE;QACD,GAAG,EAAE,MAAM,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,kCAAkC,CAAC;KAC3C;IAKD,oBAAoB;IASpB,uBAAuB;IAWvB,OAAO;IAQP,OAAO,CAAC,aAAa;YAcP,GAAG;CAgClB"}
@@ -0,0 +1,84 @@
1
+ import { logger } from "../logger.js";
2
+ export const DEFAULT_DELETE_SCHEDULE_OPTS = {
3
+ throttleMs: 60000,
4
+ startupDelayMs: 1000,
5
+ followUpDelayMs: 1000,
6
+ };
7
+ export class DeletedCoValuesEraserScheduler {
8
+ isDisposed() {
9
+ return this.state === "disposed";
10
+ }
11
+ constructor({ run, opts, }) {
12
+ this.state = "idle";
13
+ this.runCallback = run;
14
+ this.opts = opts || DEFAULT_DELETE_SCHEDULE_OPTS;
15
+ }
16
+ scheduleStartupDrain() {
17
+ if (this.isDisposed())
18
+ return;
19
+ // Only schedule startup drain if nothing is already scheduled/running.
20
+ if (this.state !== "idle")
21
+ return;
22
+ this.scheduleTimer("startup_scheduled", this.opts.startupDelayMs);
23
+ }
24
+ onEnqueueDeletedCoValue() {
25
+ if (this.isDisposed())
26
+ return;
27
+ // While we're already draining (or have a follow-up scheduled), ignore enqueue
28
+ // to avoid overlapping phases. The active drain loop will pick up new work.
29
+ if (this.state !== "idle")
30
+ return;
31
+ // Only idle reaches here.
32
+ this.scheduleTimer("throttle_scheduled", this.opts.throttleMs);
33
+ }
34
+ dispose() {
35
+ if (this.isDisposed())
36
+ return;
37
+ this.state = "disposed";
38
+ if (this.scheduledTimeout)
39
+ clearTimeout(this.scheduledTimeout);
40
+ this.scheduledTimeout = undefined;
41
+ }
42
+ scheduleTimer(state, delayMs) {
43
+ if (this.isDisposed())
44
+ return;
45
+ if (this.scheduledTimeout)
46
+ return;
47
+ this.state = state;
48
+ this.scheduledTimeout = setTimeout(() => {
49
+ this.scheduledTimeout = undefined;
50
+ void this.run();
51
+ }, delayMs);
52
+ }
53
+ async run() {
54
+ if (this.isDisposed())
55
+ return;
56
+ // Clear any pre-run scheduled state and enter running state.
57
+ this.state = "running";
58
+ let result;
59
+ try {
60
+ result = await this.runCallback();
61
+ }
62
+ catch (error) {
63
+ logger.error("Error running deleted co values eraser scheduler", {
64
+ err: error,
65
+ });
66
+ // If the run callback fails, recover to idle so future enqueues/startup drains
67
+ // can retry instead of getting stuck in "running".
68
+ if (!this.isDisposed()) {
69
+ this.state = "idle";
70
+ }
71
+ return;
72
+ }
73
+ if (this.isDisposed())
74
+ return;
75
+ if (result.hasMore) {
76
+ // One follow-up phase at a time. Further enqueues while follow-up is scheduled
77
+ // are ignored.
78
+ this.scheduleTimer("followup_scheduled", this.opts.followUpDelayMs);
79
+ return;
80
+ }
81
+ this.state = "idle";
82
+ }
83
+ }
84
+ //# sourceMappingURL=DeletedCoValuesEraserScheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletedCoValuesEraserScheduler.js","sourceRoot":"","sources":["../../src/storage/DeletedCoValuesEraserScheduler.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,9 @@ export declare class SQLiteClient implements DBClientInterfaceSync, DBTransactio
25
25
  getSignatures(sessionRowId: number, firstNewTxIdx: number): SignatureAfterRow[];
26
26
  getCoValueRowID(id: RawCoID): number | undefined;
27
27
  upsertCoValue(id: RawCoID, header?: CoValueHeader): number | undefined;
28
+ markCoValueAsDeleted(id: RawCoID): void;
29
+ eraseCoValueButKeepTombstone(coValueId: RawCoID): void;
30
+ getAllCoValuesWaitingForDelete(): RawCoID[];
28
31
  addSessionUpdate({ sessionUpdate }: {
29
32
  sessionUpdate: SessionRow;
30
33
  }): number;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,YACX,YAAW,qBAAqB,EAAE,0BAA0B;IAE5D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;gBAE9B,EAAE,EAAE,oBAAoB;IAIpC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IA0B5D,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO5D,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,gBAAgB,GAAG,SAAS;IAO/B,0BAA0B,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,cAAc,EAAE;IAiBnB,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE;IAOtB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAQhD,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;IAmBtE,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,GAAG,MAAM;IAqB1E,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IAS7B,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KACtB;IAOD,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,0BAA0B,KAAK,OAAO;IAK3E,qBAAqB,IAAI,OAAO,EAAE;IAQlC,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,GAC1D,IAAI;IAgBP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CA6BvE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAMF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,UAE7C;AAED,qBAAa,YACX,YAAW,qBAAqB,EAAE,0BAA0B;IAE5D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;gBAE9B,EAAE,EAAE,oBAAoB;IAIpC,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS;IA0B5D,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAO5D,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,SAAS,GACnB,gBAAgB,GAAG,SAAS;IAO/B,0BAA0B,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,cAAc,EAAE;IAiBnB,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,EAAE;IAOtB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAQhD,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;IAmBtE,oBAAoB,CAAC,EAAE,EAAE,OAAO;IAShC,4BAA4B,CAAC,SAAS,EAAE,OAAO;IAoD/C,8BAA8B,IAAI,OAAO,EAAE;IAW3C,gBAAgB,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,GAAG,MAAM;IAqB1E,cAAc,CACZ,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW;IAS7B,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,SAAS,CAAC;KACtB;IAOD,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,0BAA0B,KAAK,OAAO;IAK3E,qBAAqB,IAAI,OAAO,EAAE;IAQlC,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,GAC1D,IAAI;IAgBP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CA6BvE"}
@@ -1,4 +1,5 @@
1
1
  import { logger } from "../../logger.js";
2
+ import { DeletedCoValueDeletionStatus } from "../types.js";
2
3
  export function getErrorMessage(error) {
3
4
  return error instanceof Error ? error.message : "Unknown error";
4
5
  }
@@ -65,6 +66,49 @@ export class SQLiteClient {
65
66
  }
66
67
  return result.rowID;
67
68
  }
69
+ markCoValueAsDeleted(id) {
70
+ // Work queue entry. Table only stores the coValueID.
71
+ // Idempotent by design.
72
+ this.db.run(`INSERT INTO deletedCoValues (coValueID) VALUES (?) ON CONFLICT(coValueID) DO NOTHING`, [id]);
73
+ }
74
+ eraseCoValueButKeepTombstone(coValueId) {
75
+ const coValueRow = this.db.get("SELECT rowID FROM coValues WHERE id = ?", [coValueId]);
76
+ if (!coValueRow) {
77
+ logger.warn(`CoValue ${coValueId} not found, skipping deletion`);
78
+ return;
79
+ }
80
+ this.transaction(() => {
81
+ this.db.run(`DELETE FROM transactions
82
+ WHERE ses IN (
83
+ SELECT rowID FROM sessions
84
+ WHERE coValue = ?
85
+ AND sessionID NOT LIKE '%$'
86
+ )`, [coValueRow.rowID]);
87
+ this.db.run(`DELETE FROM signatureAfter
88
+ WHERE ses IN (
89
+ SELECT rowID FROM sessions
90
+ WHERE coValue = ?
91
+ AND sessionID NOT LIKE '%$'
92
+ )`, [coValueRow.rowID]);
93
+ this.db.run(`DELETE FROM sessions
94
+ WHERE coValue = ?
95
+ AND sessionID NOT LIKE '%$'`, [coValueRow.rowID]);
96
+ // Mark the delete as done
97
+ this.db.run(`INSERT INTO deletedCoValues (coValueID, status) VALUES (?, ?)
98
+ ON CONFLICT(coValueID) DO UPDATE SET status=?`, [
99
+ coValueId,
100
+ DeletedCoValueDeletionStatus.Done,
101
+ DeletedCoValueDeletionStatus.Done,
102
+ ]);
103
+ });
104
+ }
105
+ getAllCoValuesWaitingForDelete() {
106
+ return this.db
107
+ .query(`SELECT coValueID as id
108
+ FROM deletedCoValues
109
+ WHERE status = ?`, [DeletedCoValueDeletionStatus.Pending])
110
+ .map((r) => r.id);
111
+ }
68
112
  addSessionUpdate({ sessionUpdate }) {
69
113
  const result = this.db.get(`INSERT INTO sessions (coValue, sessionID, lastIdx, lastSignature, bytesSinceLastSignature) VALUES (?, ?, ?, ?, ?)
70
114
  ON CONFLICT(coValue, sessionID) DO UPDATE SET lastIdx=excluded.lastIdx, lastSignature=excluded.lastSignature, bytesSinceLastSignature=excluded.bytesSinceLastSignature
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqlite/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteMigrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0C/C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAMtE"}
1
+ {"version":3,"file":"sqliteMigrations.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiD/C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAMtE"}
@@ -40,6 +40,13 @@ export const migrations = {
40
40
  );`,
41
41
  "CREATE INDEX IF NOT EXISTS idx_unsynced_covalues_co_value_id ON unsynced_covalues(co_value_id);",
42
42
  ],
43
+ 5: [
44
+ `CREATE TABLE IF NOT EXISTS deletedCoValues (
45
+ coValueID TEXT PRIMARY KEY,
46
+ status INTEGER NOT NULL DEFAULT 0
47
+ ) WITHOUT ROWID;`,
48
+ "CREATE INDEX IF NOT EXISTS deletedCoValuesByStatus ON deletedCoValues (status);",
49
+ ],
43
50
  };
44
51
  export function getSQLiteMigrationQueries(version) {
45
52
  return Object.keys(migrations)
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteMigrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB;;;;;;;OAOG;QACH,qEAAqE;QACrE;;;;OAIG;QACH,2DAA2D;KAC5D;IACD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB,kEAAkE;KACnE;IACD,CAAC,EAAE;QACD;;;;;OAKG;QACH,iGAAiG;KAClG;CACF,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"sqliteMigrations.js","sourceRoot":"","sources":["../../../src/storage/sqlite/sqliteMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB;;;;;;;OAOG;QACH,qEAAqE;QACrE;;;;OAIG;QACH,2DAA2D;KAC5D;IACD,CAAC,EAAE;QACD;;;;;qBAKiB;QACjB,kEAAkE;KACnE;IACD,CAAC,EAAE;QACD;;;;;OAKG;QACH,iGAAiG;KAClG;IACD,CAAC,EAAE;QACD;;;qBAGiB;QACjB,iFAAiF;KAClF;CACF,CAAC;AAOF,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -25,6 +25,9 @@ export declare class SQLiteClientAsync implements DBClientInterfaceAsync, DBTran
25
25
  getSignatures(sessionRowId: number, firstNewTxIdx: number): Promise<SignatureAfterRow[]>;
26
26
  getCoValueRowID(id: RawCoID): Promise<number | undefined>;
27
27
  upsertCoValue(id: RawCoID, header?: CoValueHeader): Promise<number | undefined>;
28
+ markCoValueAsDeleted(id: RawCoID): Promise<void>;
29
+ eraseCoValueButKeepTombstone(coValueId: RawCoID): Promise<void>;
30
+ getAllCoValuesWaitingForDelete(): Promise<RawCoID[]>;
28
31
  addSessionUpdate({ sessionUpdate, }: {
29
32
  sessionUpdate: SessionRow;
30
33
  }): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { logger } from "../../logger.js";
2
+ import { DeletedCoValueDeletionStatus } from "../types.js";
2
3
  export function getErrorMessage(error) {
3
4
  return error instanceof Error ? error.message : "Unknown error";
4
5
  }
@@ -65,6 +66,47 @@ export class SQLiteClientAsync {
65
66
  }
66
67
  return result.rowID;
67
68
  }
69
+ async markCoValueAsDeleted(id) {
70
+ // Work queue entry. Table only stores the coValueID.
71
+ // Idempotent by design.
72
+ await this.db.run(`INSERT INTO deletedCoValues (coValueID) VALUES (?) ON CONFLICT(coValueID) DO NOTHING`, [id]);
73
+ }
74
+ async eraseCoValueButKeepTombstone(coValueId) {
75
+ const coValueRow = await this.db.get("SELECT * FROM coValues WHERE id = ?", [coValueId]);
76
+ if (!coValueRow) {
77
+ logger.warn(`CoValue ${coValueId} not found, skipping deletion`);
78
+ return;
79
+ }
80
+ await this.transaction(async () => {
81
+ await this.db.run(`DELETE FROM transactions
82
+ WHERE ses IN (
83
+ SELECT rowID FROM sessions
84
+ WHERE coValue = ?
85
+ AND sessionID NOT LIKE '%$'
86
+ )`, [coValueRow.rowID]);
87
+ await this.db.run(`DELETE FROM signatureAfter
88
+ WHERE ses IN (
89
+ SELECT rowID FROM sessions
90
+ WHERE coValue = ?
91
+ AND sessionID NOT LIKE '%$'
92
+ )`, [coValueRow.rowID]);
93
+ await this.db.run(`DELETE FROM sessions
94
+ WHERE coValue = ?
95
+ AND sessionID NOT LIKE '%$'`, [coValueRow.rowID]);
96
+ await this.db.run(`INSERT INTO deletedCoValues (coValueID, status) VALUES (?, ?)
97
+ ON CONFLICT(coValueID) DO UPDATE SET status=?`, [
98
+ coValueId,
99
+ DeletedCoValueDeletionStatus.Done,
100
+ DeletedCoValueDeletionStatus.Done,
101
+ ]);
102
+ });
103
+ }
104
+ async getAllCoValuesWaitingForDelete() {
105
+ const rows = await this.db.query(`SELECT coValueID as id
106
+ FROM deletedCoValues
107
+ WHERE status = ?`, [DeletedCoValueDeletionStatus.Pending]);
108
+ return rows.map((r) => r.id);
109
+ }
68
110
  async addSessionUpdate({ sessionUpdate, }) {
69
111
  const result = await this.db.get(`INSERT INTO sessions (coValue, sessionID, lastIdx, lastSignature, bytesSinceLastSignature) VALUES (?, ?, ?, ?, ?)
70
112
  ON CONFLICT(coValue, sessionID) DO UPDATE SET lastIdx=excluded.lastIdx, lastSignature=excluded.lastSignature, bytesSinceLastSignature=excluded.bytesSinceLastSignature
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/sqliteAsync/client.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,16 @@ import { StoreQueue } from "../queue/StoreQueue.js";
3
3
  import { NewContentMessage, type PeerID } from "../sync.js";
4
4
  import { CoValueKnownState } from "../knownState.js";
5
5
  import { StorageKnownState } from "./knownState.js";
6
- import type { CorrectionCallback, DBClientInterfaceAsync, StoredCoValueRow } from "./types.js";
6
+ import type { CorrectionCallback, DBClientInterfaceAsync } from "./types.js";
7
7
  export declare class StorageApiAsync implements StorageAPI {
8
8
  private readonly dbClient;
9
- private loadedCoValues;
9
+ private deletedCoValuesEraserScheduler;
10
+ private eraserController;
11
+ /**
12
+ * Keeps track of CoValues that are in memory, to avoid reloading them from storage
13
+ * when it isn't necessary
14
+ */
15
+ private inMemoryCoValues;
10
16
  private pendingKnownStateLoads;
11
17
  constructor(dbClient: DBClientInterfaceAsync);
12
18
  knownStates: StorageKnownState;
@@ -14,9 +20,11 @@ export declare class StorageApiAsync implements StorageAPI {
14
20
  loadKnownState(id: string, callback: (knownState: CoValueKnownState | undefined) => void): void;
15
21
  load(id: string, callback: (data: NewContentMessage) => void, done: (found: boolean) => void): Promise<void>;
16
22
  loadCoValue(id: string, callback: (data: NewContentMessage) => void, done: (found: boolean) => void): Promise<void>;
17
- pushContentWithDependencies(coValueRow: StoredCoValueRow, contentMessage: NewContentMessage, pushCallback: (data: NewContentMessage) => void): Promise<void>;
23
+ private pushContentWithDependencies;
18
24
  storeQueue: StoreQueue;
19
25
  store(msg: NewContentMessage, correctionCallback: CorrectionCallback): Promise<void>;
26
+ private interruptEraser;
27
+ eraseAllDeletedCoValues(): Promise<void>;
20
28
  /**
21
29
  * This function is called when the storage lacks the information required to store the incoming content.
22
30
  *
@@ -27,6 +35,9 @@ export declare class StorageApiAsync implements StorageAPI {
27
35
  private handleCorrection;
28
36
  private storeSingle;
29
37
  private putNewTxs;
38
+ deletedValues: Set<`co_z${string}`>;
39
+ markDeleteAsValid(id: RawCoID): void;
40
+ enableDeletedCoValuesErasure(): void;
30
41
  waitForSync(id: string, coValue: CoValueCore): Promise<void>;
31
42
  trackCoValuesSyncState(updates: {
32
43
  id: RawCoID;
@@ -35,6 +46,7 @@ export declare class StorageApiAsync implements StorageAPI {
35
46
  }[], done?: () => void): void;
36
47
  getUnsyncedCoValueIDs(callback: (unsyncedCoValueIDs: RawCoID[]) => void): void;
37
48
  stopTrackingSyncState(id: RawCoID): void;
49
+ onCoValueUnmounted(id: RawCoID): void;
38
50
  close(): Promise<unknown> | undefined;
39
51
  }
40
52
  //# sourceMappingURL=storageAsync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EAEZ,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGtB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,cAAc,CAAsB;IAG5C,OAAO,CAAC,sBAAsB,CAG1B;gBAEQ,QAAQ,EAAE,sBAAsB;IAI5C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAI5C,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,GAC5D,IAAI;IA0CD,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAoH1B,2BAA2B,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IA0BjD,UAAU,aAAoB;IAExB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAY1E;;;;;;OAMG;YACW,gBAAgB;YA+BhB,WAAW;YAoEX,SAAS;IAkEvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,EAC3D,IAAI,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI;IAIP,qBAAqB,CACnB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,IAAI,GAChD,IAAI;IAIP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,KAAK;CAGN"}
1
+ {"version":3,"file":"storageAsync.d.ts","sourceRoot":"","sources":["../../src/storage/storageAsync.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EAEZ,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAOpD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAKvB,MAAM,YAAY,CAAC;AAGpB,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,8BAA8B,CAExB;IACd,OAAO,CAAC,gBAAgB,CAA8B;IACtD;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAsB;IAG9C,OAAO,CAAC,sBAAsB,CAG1B;gBAEQ,QAAQ,EAAE,sBAAsB;IAI5C,WAAW,oBAA2B;IAEtC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAI5C,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,GAC5D,IAAI;IA0CD,IAAI,CACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAK1B,WAAW,CACf,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC3C,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;YAqHlB,2BAA2B;IA6BzC,UAAU,aAAoB;IAExB,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;IAa1E,OAAO,CAAC,eAAe;IASjB,uBAAuB;IAe7B;;;;;;OAMG;YACW,gBAAgB;YA+BhB,WAAW;YA2EX,SAAS;IAkEvB,aAAa,uBAAsB;IAEnC,iBAAiB,CAAC,EAAE,EAAE,OAAO;IAQ7B,4BAA4B;IAc5B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAI5C,sBAAsB,CACpB,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,EAC3D,IAAI,CAAC,EAAE,MAAM,IAAI,GAChB,IAAI;IAIP,qBAAqB,CACnB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,IAAI,GAChD,IAAI;IAIP,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIxC,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAIrC,KAAK;CAKN"}