@pkcprotocol/pkc-js 0.0.95 → 0.0.97

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 (35) hide show
  1. package/dist/browser/community/remote-community.js +13 -0
  2. package/dist/browser/community/remote-community.js.map +1 -1
  3. package/dist/browser/generated-version.d.ts +1 -1
  4. package/dist/browser/generated-version.js +1 -1
  5. package/dist/browser/runtime/node/community/local-community/cleanup.d.ts +1 -0
  6. package/dist/browser/runtime/node/community/local-community/cleanup.js +33 -11
  7. package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
  8. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +14 -5
  9. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  10. package/dist/browser/test/test-util.d.ts +8 -1
  11. package/dist/browser/test/test-util.js +101 -20
  12. package/dist/browser/test/test-util.js.map +1 -1
  13. package/dist/bundled/bundle-manifest.json +25 -25
  14. package/dist/bundled/chunks/{helia-for-pkc-gnrYOd9S.js → helia-for-pkc-BvZheFmK.js} +33 -33
  15. package/dist/bundled/chunks/{local-community-B2tgEzEC.js → local-community-CE8orbFt.js} +42 -38
  16. package/dist/bundled/chunks/{local-community-C-EhIxnP.js → local-community-bPjJm35w.js} +1 -1
  17. package/dist/bundled/chunks/{node-BgrW8YM1.js → node-DmZww4LL.js} +5 -5
  18. package/dist/bundled/chunks/{rpc-local-community-1IZANITv.js → rpc-local-community-CH7vnXLI.js} +8 -1
  19. package/dist/bundled/chunks/{schema-r1qeoNNd.js → schema-DzFAY-My.js} +1 -1
  20. package/dist/bundled/chunks/{util-Dng2qrAF.js → util-BiM-_F_H.js} +1 -1
  21. package/dist/bundled/index.js +1 -1
  22. package/dist/bundled/rpc/src/index.js +4 -4
  23. package/dist/node/community/remote-community.js +13 -0
  24. package/dist/node/community/remote-community.js.map +1 -1
  25. package/dist/node/generated-version.d.ts +1 -1
  26. package/dist/node/generated-version.js +1 -1
  27. package/dist/node/runtime/node/community/local-community/cleanup.d.ts +1 -0
  28. package/dist/node/runtime/node/community/local-community/cleanup.js +33 -11
  29. package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
  30. package/dist/node/runtime/node/community/local-community/ipns-publishing.js +14 -5
  31. package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  32. package/dist/node/test/test-util.d.ts +8 -1
  33. package/dist/node/test/test-util.js +101 -20
  34. package/dist/node/test/test-util.js.map +1 -1
  35. package/package.json +1 -1
@@ -72,12 +72,23 @@ export const UNPIN_GRACE_PERIOD_MS = 30 * 60 * 1000;
72
72
  // the first pass after a restart just grants them a fresh grace period, which is the conservative
73
73
  // direction. WeakMap so a stopped community's tracking dies with it.
74
74
  const cidsToUnpinFirstSeenAtMsByCommunity = new WeakMap();
75
- // Communities with a purge whose unpin flush has not completed yet. A purge can land mid-sync, after
76
- // that cycle's unpinStaleCids already ran and before its block.rm drains _blocksToRm, so "is
77
- // _blocksToRm non-empty right now" alone can miss the flush; this survives until a flush pass
78
- // actually drains the unpin queue.
79
- const communitiesWithPendingPurgeFlush = new WeakSet();
80
- export async function unpinStaleCids(community, options = {}) {
75
+ // Communities with a purge whose unpin flush has not completed yet, mapped to when the purge
76
+ // landed. A purge can land mid-sync, after that cycle's unpinStaleCids already ran and before its
77
+ // block.rm drains _blocksToRm, so "is _blocksToRm non-empty right now" alone can miss the flush;
78
+ // this survives until a flush pass drains the unpin queue in a cycle whose record was generated
79
+ // AFTER the purge landed. The timestamp matters (issue #336): a purge landing while a publish
80
+ // cycle is in flight can reference the record that cycle is publishing, whose cid only enters
81
+ // _cidsToUnPin when the NEXT cycle supersedes it — so a flush in the in-flight cycle must not
82
+ // disarm the flag, or that record sits pinned under the issue #305 grace with nothing left to
83
+ // flush it.
84
+ const communitiesWithPendingPurgeFlush = new WeakMap();
85
+ export async function unpinStaleCids(community,
86
+ // cycleStartedAtMs: when the calling publish cycle snapshotted the DB for the record it
87
+ // published. Used to decide whether a completed purge flush may disarm the pending-purge
88
+ // flag: only a cycle whose record was generated after the purge landed can have every
89
+ // pre-purge cid in its queue (issue #336). Callers outside the publish cycle leave it unset,
90
+ // which conservatively keeps the flag armed for the next publish cycle.
91
+ options = {}) {
81
92
  const log = Logger("pkc-js:local-community:sync:unpinStaleCids");
82
93
  if (community._cidsToUnPin.size > 0) {
83
94
  const sizeBefore = community._cidsToUnPin.size;
@@ -99,7 +110,8 @@ export async function unpinStaleCids(community, options = {}) {
99
110
  // outranks the reader grace of issue #305. The purged cids also could not wait anyway: their
100
111
  // blocks get force-removed right after this function in updateCommunityIpnsIfNeeded, and kubo
101
112
  // refuses to rm a pinned block.
102
- const flushGraceForPendingPurge = communitiesWithPendingPurgeFlush.has(community) || community._blocksToRm.length > 0;
113
+ const purgeFlushArmedAtMs = communitiesWithPendingPurgeFlush.get(community);
114
+ const flushGraceForPendingPurge = purgeFlushArmedAtMs !== undefined || community._blocksToRm.length > 0;
103
115
  const cidsToUnpinNow = Array.from(community._cidsToUnPin.values()).filter((cid) => options.bypassGracePeriod || flushGraceForPendingPurge || now - (firstSeenAtMs.get(cid) ?? now) >= UNPIN_GRACE_PERIOD_MS);
104
116
  if (cidsToUnpinNow.length === 0) {
105
117
  log.trace(`All ${sizeBefore} stale cids of community (${community.address}) are within their unpin grace period, keeping them pinned for now`);
@@ -127,9 +139,17 @@ export async function unpinStaleCids(community, options = {}) {
127
139
  }
128
140
  })));
129
141
  // In flush mode every queued cid was eligible, so an empty queue means the flush completed; a
130
- // non-empty one means some pin.rm failed and the flag must survive for the next pass.
131
- if (flushGraceForPendingPurge && community._cidsToUnPin.size === 0)
132
- communitiesWithPendingPurgeFlush.delete(community);
142
+ // non-empty one means some pin.rm failed and the flag must survive for the next pass. A
143
+ // completed flush disarms the flag only when this cycle's record was generated after the
144
+ // purge landed: a purge landing mid-cycle can reference the record the in-flight cycle
145
+ // published, which enters the queue only when the next cycle supersedes it, so that next
146
+ // cycle must still flush (issue #336).
147
+ if (flushGraceForPendingPurge && community._cidsToUnPin.size === 0) {
148
+ const cycleObservedPurge = purgeFlushArmedAtMs === undefined ||
149
+ (options.cycleStartedAtMs !== undefined && options.cycleStartedAtMs > purgeFlushArmedAtMs);
150
+ if (cycleObservedPurge)
151
+ communitiesWithPendingPurgeFlush.delete(community);
152
+ }
133
153
  log.trace(`unpinned ${sizeBefore - community._cidsToUnPin.size} stale cids from ipfs node for community (${community.address})`);
134
154
  }
135
155
  }
@@ -287,7 +307,9 @@ async function _runRepoGcIfDue({ community, kuboUrl, force, log }) {
287
307
  export async function addAllCidsUnderPurgedCommentToBeRemoved(community, purgedCommentAndCommentUpdate) {
288
308
  // Every purge flow funnels through here, and the flag makes the next unpinStaleCids pass flush
289
309
  // the grace period for the whole queue even when the purge lands mid-sync (see unpinStaleCids).
290
- communitiesWithPendingPurgeFlush.add(community);
310
+ // The timestamp lets the flush tell whether the cycle it ran in generated its record before or
311
+ // after this purge landed (issue #336).
312
+ communitiesWithPendingPurgeFlush.set(community, Date.now());
291
313
  community._cidsToUnPin.add(purgedCommentAndCommentUpdate.commentTableRow.cid);
292
314
  community._blocksToRm.push(purgedCommentAndCommentUpdate.commentTableRow.cid);
293
315
  if (typeof purgedCommentAndCommentUpdate.commentUpdateTableRow?.postUpdatesBucket === "number") {
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/local-community/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/local-community/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI1F,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAE7E,iGAAiG;AACjG,sGAAsG;AACtG,mGAAmG;AACnG,kGAAkG;AAClG,+BAA+B;AAC/B,KAAK,UAAU,iBAAiB,CAAC,EAC7B,aAAa,EACb,GAAG,EACH,GAAG,EACH,iBAAiB,EAMpB;IACG,MAAM,YAAY,GAAG,iBAAiB,IAAI,CAAC,CAAC;IAC5C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YACvC,IAAI,CAAC;gBACD,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAK,KAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtD,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACX,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,kBAAkB,cAAc,IAAI,YAAY,GAAG,CAAC,qBAAqB,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;gBAC5G,IAAI,SAAS,CAAC,KAAK,CAAC,KAAc,CAAC;oBAAE,OAAO;gBAC5C,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,SAAyB;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,yDAAyD,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,+BAA+B;IACtG,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAC9B,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IAC3E,IAAI,CAAC;QACD,+FAA+F;QAC/F,8DAA8D;QAC9D,MAAM,iBAAiB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,+EAA+E;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAS,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,GAAG,CAAC,8GAA8G,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAEvI,gJAAgJ;IAChJ,MAAM,sBAAsB,GAAG,SAAS,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC,sEAAsE;IAE5J,mCAAmC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,eAAe,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,CACtE,KAAK,CAAC,KAAK,IAAI,EAAE;QACb,IAAI,kBAAkB,CAAC,eAAe;YAAE,OAAO,CAAC,gDAAgD;QAChG,MAAM,SAAS,CAAC,oBAAoB,CAChC,kBAAkB,EAClB,MAAM,CAAC,8EAA8E,CAAC,CACzF,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAEnC,SAAS,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC,gDAAgD;IAEjG,GAAG,CAAC,GAAG,sBAAsB,CAAC,MAAM,oCAAoC,CAAC,CAAC;AAC9E,CAAC;AAED,mGAAmG;AACnG,kGAAkG;AAClG,iGAAiG;AACjG,0FAA0F;AAC1F,kGAAkG;AAClG,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,oGAAoG;AACpG,oGAAoG;AACpG,kGAAkG;AAClG,qEAAqE;AACrE,MAAM,mCAAmC,GAAG,IAAI,OAAO,EAAuC,CAAC;AAE/F,6FAA6F;AAC7F,kGAAkG;AAClG,iGAAiG;AACjG,gGAAgG;AAChG,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,YAAY;AACZ,MAAM,gCAAgC,GAAG,IAAI,OAAO,EAA0B,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,SAAyB;AACzB,wFAAwF;AACxF,yFAAyF;AACzF,sFAAsF;AACtF,6FAA6F;AAC7F,wEAAwE;AACxE,UAAsE,EAAE;IAExE,MAAM,GAAG,GAAG,MAAM,CAAC,4CAA4C,CAAC,CAAC;IAEjE,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;QAE/C,IAAI,aAAa,GAAG,mCAAmC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa;YAAE,mCAAmC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,YAAY;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnG,6FAA6F;QAC7F,yFAAyF;QACzF,6FAA6F;QAC7F,2FAA2F;QAC3F,8FAA8F;QAC9F,6FAA6F;QAC7F,8FAA8F;QAC9F,gCAAgC;QAChC,MAAM,mBAAmB,GAAG,gCAAgC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,yBAAyB,GAAG,mBAAmB,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACxG,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACrE,CAAC,GAAG,EAAE,EAAE,CACJ,OAAO,CAAC,iBAAiB,IAAI,yBAAyB,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,qBAAqB,CAC/H,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CACL,OAAO,UAAU,6BAA6B,SAAS,CAAC,OAAO,oEAAoE,CACtI,CAAC;YACF,OAAO;QACX,CAAC;QAED,kDAAkD;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QACpE,2DAA2D;QAC3D,MAAM,OAAO,CAAC,GAAG,CACb,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,KAAK,CAAC,KAAK,IAAI,EAAE;YACb,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,KAAK,GAAU,CAAC,CAAC;gBACvB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CACL,CACJ,CAAC;QAEF,8FAA8F;QAC9F,wFAAwF;QACxF,yFAAyF;QACzF,uFAAuF;QACvF,yFAAyF;QACzF,uCAAuC;QACvC,IAAI,yBAAyB,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,kBAAkB,GACpB,mBAAmB,KAAK,SAAS;gBACjC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;YAC/F,IAAI,kBAAkB;gBAAE,gCAAgC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,YAAY,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,6CAA6C,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;IACrI,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAyB;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,iDAAiD,CAAC,CAAC;IAEtE,IAAI,SAAS,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;QACpE,IAAI,CAAC;YACD,MAAM,oBAAoB,CAAC;gBACvB,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,gBAAgB;gBACvB,GAAG;aACN,CAAC,CAAC;YACH,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,KAAK,GAAU,CAAC,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC7C,OAAO,gBAAgB,CAAC,CAAC,qEAAqE;iBAC7F,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBAClE,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;;QAAM,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,SAAyB;IACtE,MAAM,GAAG,GAAG,MAAM,CAAC,0CAA0C,CAAC,CAAC;IAE/D,uFAAuF;IACvF,8FAA8F;IAC9F,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IACpE,IAAI,CAAC;QACD,+FAA+F;QAC/F,MAAM,iBAAiB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrH,OAAO,CAAC,yFAAyF;IACrG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAS,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,SAAS,CAAC,cAAc;QAAE,OAAO;IAEtC,GAAG,CAAC,yBAAyB,EAAE,SAAS,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAExF,SAAS,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC,0DAA0D;AAC/G,CAAC;AAED,kGAAkG;AAClG,mBAAmB;AACnB,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,qGAAqG;AACrG,+CAA+C;AAC/C,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,iGAAiG;AACjG,qGAAqG;AACrG,oGAAoG;AACpG,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzC,sGAAsG;AACtG,qGAAqG;AACrG,iGAAiG;AACjG,sGAAsG;AACtG,iDAAiD;AACjD,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE7D,+FAA+F;AAC/F,2DAA2D;AAC3D,MAAM,UAAU,2BAA2B;IACvC,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAClC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAyB,EAAE,KAAK,GAAG,KAAK;IAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,6DAA6D,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,CAAC,wDAAwD;IAEvF,iGAAiG;IACjG,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrH,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC;AACjB,CAAC;AAID,qGAAqG;AACrG,qGAAqG;AACrG,mFAAmF;AACnF,KAAK,UAAU,mBAAmB,CAAC,EAC/B,OAAO,EACP,OAAO,EACP,GAAG,EAKN;IACG,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,mGAAmG;AACnG,kFAAkF;AAClF,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,IAAI,SAAS,CAAC;IAC5C,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,+FAA+F;AAC/F,oGAAoG;AACpG,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAA6D;IAChH,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,wDAAwD,CAAC;IAE7H,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;IACpE,IAAI,KAAK,GAAG,MAAM;QAAE,OAAO,qCAAqC,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,qBAAqB,KAAK,EAAE,CAAC;IACzH,OAAO,aAAa,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,EAC3B,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,EAMN;IACG,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IAEpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,iBAAiB;YAAE,OAAO;IAC1G,CAAC;IAED,+FAA+F;IAC/F,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAE5E,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,GAAG,CAAC,GAAG;gBAAE,MAAM,EAAE,CAAC;;gBACjB,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO;IACX,CAAC;YAAS,CAAC;QACP,0FAA0F;QAC1F,gEAAgE;QAChE,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,4FAA4F;IAC5F,oFAAoF;IACpF,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3E,GAAG,CACC,YAAY,EACZ,MAAM,EACN,2BAA2B,EAC3B,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAC5E,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CACzD,SAAyB,EACzB,6BAAqD;IAErD,+FAA+F;IAC/F,gGAAgG;IAChG,+FAA+F;IAC/F,wCAAwC;IACxC,gCAAgC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,6BAA6B,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9E,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,OAAO,6BAA6B,CAAC,qBAAqB,EAAE,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAC7F,MAAM,sBAAsB,GAAG,qCAAqC,CAChE,SAAS,EACT,6BAA6B,CAAC,eAAe,EAC7C,6BAA6B,CAAC,qBAAqB,EAAE,iBAAiB,CACzE,CAAC;QACF,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,6BAA6B,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC;QAChE,8DAA8D;QAC9D,MAAM,SAAS,GAAG,6BAA6B,CAAC,qBAAqB,CAAC,OAA6C,CAAC;QACpH,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,IAAI,SAAS,EAAE,WAAW,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;oBACtC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,SAAyB;IAC7E,IAAI,OAAO,SAAS,CAAC,QAAQ,EAAE,iCAAiC,KAAK,QAAQ;QAAE,OAAO;IAEtF,MAAM,GAAG,GAAG,MAAM,CAAC,2DAA2D,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,iCAAiC,CAAC,SAAS,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAEpI,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE3D,GAAG,CAAC,6BAA6B,EAAE,cAAc,EAAE,iFAAiF,CAAC,CAAC;IAEtI,wDAAwD;IACxD,oCAAoC;IACpC,8CAA8C;IAE9C,KAAK,MAAM,aAAa,IAAI,cAAc;QACtC,KAAK,MAAM,6BAA6B,IAAI,aAAa,CAAC,eAAe;YACrE,MAAM,uCAAuC,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAEhG,IAAI,SAAS,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QAAE,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,uEAAuE;QACxH,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
@@ -209,7 +209,7 @@ async function validateAndSignCommunityRecord(community, build) {
209
209
  return newCommunityRecord;
210
210
  }
211
211
  // Phase 3: upload to IPFS, publish IPNS, perform post-publish cleanup, and update in-memory + DB state.
212
- async function publishCommunityRecordToIpns(community, build, newCommunityRecord) {
212
+ async function publishCommunityRecordToIpns(community, build, newCommunityRecord, cycleStartedAtMs) {
213
213
  const { log, newIpns, newModQueue, editIdsToIncludeInNextUpdate } = build;
214
214
  const kuboRpcClient = community._clientsManager.getDefaultKuboRpcClient();
215
215
  const contentToPublish = deterministicStringify(newCommunityRecord);
@@ -251,7 +251,14 @@ async function publishCommunityRecordToIpns(community, build, newCommunityRecord
251
251
  log(`Published a new IPNS record for community(${community.address}) on IPNS (${publishRes.name}) that points to file (${publishRes.value}) with updatedAt (${newCommunityRecord.updatedAt}) and TTL (${ttl})`);
252
252
  community._clientsManager.updateKuboRpcState("stopped", kuboRpcClient.url);
253
253
  addOldPageCidsToCidsToUnpin(community, community.raw.communityIpfs?.modQueue, newIpns.modQueue).catch((err) => log.error("Failed to add old page cids of community.modQueue to _cidsToUnpin", err));
254
- await unpinStaleCids(community);
254
+ // Queue the record this publish just superseded BEFORE the flush below (issue #336): it was
255
+ // generated while any comment a pending purge just deleted was still in the DB, so the purge
256
+ // guarantee extends to it, and queueing it after unpinStaleCids would leave it to sit out the
257
+ // issue #305 grace period pinned. The new record is already added, pinned and IPNS-published
258
+ // at this point, so the old cid is safely superseded.
259
+ if (community.updateCid && community.updateCid !== file.path)
260
+ community._cidsToUnPin.add(community.updateCid);
261
+ await unpinStaleCids(community, { cycleStartedAtMs });
255
262
  if (community._blocksToRm.length > 0) {
256
263
  const removedBlocks = await removeBlocksFromKuboNode({
257
264
  ipfsClient: community._clientsManager.getDefaultKuboRpcClient()._client,
@@ -262,8 +269,6 @@ async function publishCommunityRecordToIpns(community, build, newCommunityRecord
262
269
  log("Removed blocks", removedBlocks, "from kubo node");
263
270
  community._blocksToRm = community._blocksToRm.filter((blockCid) => !removedBlocks.includes(blockCid));
264
271
  }
265
- if (community.updateCid)
266
- community._cidsToUnPin.add(community.updateCid); // add old cid of community to be unpinned
267
272
  const configuredPubsubTopic = community.pubsubTopic;
268
273
  // A pubsubTopic edit is applied to the instance through the published record, so while the exchange
269
274
  // is disabled it would be swallowed: the record omits the topic by design. Land it on the configured
@@ -316,9 +321,13 @@ export async function updateCommunityIpnsIfNeeded(community, commentUpdateRowsTo
316
321
  community._calculateLatestUpdateTrigger();
317
322
  if (!community._communityUpdateTrigger)
318
323
  return; // No reason to update
324
+ // Stamped before the record's DB snapshot below: a purge that lands after this point may
325
+ // reference the record this cycle publishes, and unpinStaleCids uses the stamp to keep the
326
+ // pending-purge flush armed for the next cycle in that case (issue #336).
327
+ const cycleStartedAtMs = Date.now();
319
328
  const build = await calculateNextCommunityRecord(community, commentUpdateRowsToPublishToIpfs, log);
320
329
  const newCommunityRecord = await validateAndSignCommunityRecord(community, build);
321
- await publishCommunityRecordToIpns(community, build, newCommunityRecord);
330
+ await publishCommunityRecordToIpns(community, build, newCommunityRecord, cycleStartedAtMs);
322
331
  }
323
332
  export async function syncIpnsWithDb(community) {
324
333
  const log = Logger("pkc-js:local-community:sync");
@@ -1 +1 @@
1
- {"version":3,"file":"ipns-publishing.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/local-community/ipns-publishing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipns-publishing.js","sourceRoot":"","sources":["../../../../../../src/runtime/node/community/local-community/ipns-publishing.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ interface MockPKCOptions {
25
25
  remotePKC?: boolean;
26
26
  }
27
27
  type MockResolverRecords = Map<string, string | undefined> | Record<string, string | undefined>;
28
+ export declare function selfResolvingMockNameForAddress(address: string): string;
28
29
  export declare function createMockNameResolver({ records, includeDefaultRecords, key, provider, canResolve, resolveFunction }?: {
29
30
  records?: MockResolverRecords;
30
31
  includeDefaultRecords?: boolean;
@@ -907,9 +908,15 @@ export declare function createStaticCommunityRecordForComment(opts?: {
907
908
  commentCid: string;
908
909
  communityAddress: string;
909
910
  }>;
910
- export declare function publishStaticCommunityWithPostInPages(): Promise<{
911
+ export declare const updateIntervalForExactStateTests = 60000;
912
+ export declare function publishStaticCommunityWithPostInPages(opts?: {
913
+ withReplyInPostPages?: boolean;
914
+ withSelfResolvingName?: boolean;
915
+ }): Promise<{
911
916
  communityAddress: string;
917
+ communityName: string | undefined;
912
918
  commentCid: string;
919
+ replyCid: string | undefined;
913
920
  communityRecord: {
914
921
  challenges: {
915
922
  [x: string]: unknown;
@@ -14,7 +14,8 @@ import pTimeout from "p-timeout";
14
14
  import { signComment, _signJson, signCommentEdit, cleanUpBeforePublishing, _signPubsubMsg, signChallengeVerification, signCommentUpdate, signCommunity } from "../signer/signatures.js";
15
15
  import { findCommentInHierarchicalPageIpfsRecursively, findCommentInPageInstance, mapPageIpfsCommentToPageJsonComment, TIMEFRAMES_TO_SECONDS } from "../pages/util.js";
16
16
  import { importSignerIntoKuboNode } from "../runtime/node/util.js";
17
- import { getIpfsKeyFromPrivateKey, getPKCAddressFromPublicKeySync } from "../signer/util.js";
17
+ import { convertBase58IpnsNameToBase36Cid, getIpfsKeyFromPrivateKey, getPKCAddressFromPublicKeySync } from "../signer/util.js";
18
+ import { peerIdFromString } from "@libp2p/peer-id";
18
19
  import { Buffer } from "buffer";
19
20
  import { encryptEd25519AesGcm, encryptEd25519AesGcmPublicKeyBuffer } from "../signer/encryption.js";
20
21
  import env from "../version.js";
@@ -41,6 +42,26 @@ function getMockResolverRecord(records, name) {
41
42
  return { found: true, value: records[name] };
42
43
  return { found: false, value: undefined };
43
44
  }
45
+ // A "self-resolving" mock domain: `<ipns name in CIDv1 base36>.bso`, e.g. `k51qzi5uqu5d....bso`.
46
+ // The label is the address's own IPNS name in kubo's base36 form (all lowercase, so it survives
47
+ // domain-name handling), and the default mock resolver maps it back to the base58 peer id with
48
+ // peerIdFromString, which accepts both encodings. This lets a test publish a community under a
49
+ // FRESH key and still load it through a domain name, including over RPC, where the server's mock
50
+ // resolver is fixed at startup and cannot learn a record the test just minted (issue #323).
51
+ export function selfResolvingMockNameForAddress(address) {
52
+ return `${convertBase58IpnsNameToBase36Cid(address)}.bso`;
53
+ }
54
+ function resolveSelfResolvingMockName(name) {
55
+ const match = /^(k[a-z0-9]{40,})\.(bso|eth)$/.exec(name);
56
+ if (!match)
57
+ return undefined;
58
+ try {
59
+ return peerIdFromString(match[1]).toString();
60
+ }
61
+ catch {
62
+ return undefined;
63
+ }
64
+ }
44
65
  export function createMockNameResolver({ records, includeDefaultRecords = false, key = `mock-resolver-${uuidv4()}`, provider = "mock", canResolve, resolveFunction } = {}) {
45
66
  return {
46
67
  key,
@@ -54,6 +75,9 @@ export function createMockNameResolver({ records, includeDefaultRecords = false,
54
75
  const defaultRecord = includeDefaultRecords ? getMockResolverRecord(defaultMockResolverRecords, name) : undefined;
55
76
  if (defaultRecord?.found)
56
77
  return defaultRecord.value ? { publicKey: defaultRecord.value } : undefined;
78
+ const selfResolvedPublicKey = resolveSelfResolvingMockName(name);
79
+ if (selfResolvedPublicKey)
80
+ return { publicKey: selfResolvedPublicKey };
57
81
  return undefined;
58
82
  }),
59
83
  provider
@@ -1446,24 +1470,50 @@ export async function createStaticCommunityRecordForComment(opts) {
1446
1470
  // <folderCid>/<postCid>/update. The record is published exactly once and nothing ever publishes
1447
1471
  // to this key again, so an update loop watching it is deterministic: no gossip arrivals from
1448
1472
  // concurrent suites, no new records — the literal "community is not publishing new community
1449
- // records" scenario the state-order suites pin. Built for those suites (PR #311 flake class):
1450
- // the shared live communities (signers[0]) receive publishes from every concurrently-running
1451
- // suite, and since the update loop became arrival-driven each of those publishes starts a fetch
1452
- // cycle at a random moment, racing any exact state-sequence assertion.
1453
- export async function publishStaticCommunityWithPostInPages() {
1473
+ // records" scenario the state-order suites pin. Built for those suites (PR #311 flake class,
1474
+ // issue #323): the shared live communities (signers[0]) receive publishes from every
1475
+ // concurrently-running suite, and since the update loop became arrival-driven each of those
1476
+ // publishes starts a fetch cycle at a random moment, racing any exact state-sequence assertion.
1477
+ //
1478
+ // Options:
1479
+ // - withReplyInPostPages: also embed one depth-1 reply (its own author-signed CommentIpfs plus a
1480
+ // community-signed CommentUpdate) in the post CommentUpdate's preloaded `replies.pages.best`,
1481
+ // with no `pageCids`, i.e. the "post has a single preloaded page" shape. Returned as `replyCid`.
1482
+ // - withSelfResolvingName: give the record a `name` that the default mock resolver maps back to
1483
+ // this fresh key (see selfResolvingMockNameForAddress), returned as `communityName`, so the
1484
+ // community can be loaded by domain name, including through an RPC server whose mock resolver
1485
+ // records were fixed at startup.
1486
+ // updateInterval for the PKC instance an exact-state test attaches to a static community. The
1487
+ // static fixture removes arrival-driven cycles, but the community update loop also re-runs on a
1488
+ // timer: the libp2p-js path parks for updateInterval * (0.75..1.25) between cycles (the #311
1489
+ // safety net), gateways poll every updateInterval. The test-wide default of 500ms leaves a
1490
+ // 375-625ms window between the community record landing and the comment's CommentUpdate fetch
1491
+ // finishing; on a slow runner (Firefox CI) that fetch outlasted the window and the timer cycle's
1492
+ // fetching-ipns was mirrored into the comment's clients as an extra fetching-community-ipns.
1493
+ // A static community never needs a second cycle, so make the timer unreachable inside the test.
1494
+ export const updateIntervalForExactStateTests = 60_000;
1495
+ export async function publishStaticCommunityWithPostInPages(opts) {
1454
1496
  const ipnsObj = await createNewIpns();
1455
1497
  const communityAddress = ipnsObj.signer.address;
1456
- const commentPKC = await mockPKCNoDataPathWithOnlyKuboClient();
1457
- try {
1498
+ // ipnsObj.pkc is handed to the caller on success (it is the caller's to destroy). On any
1499
+ // failure before that nobody else holds it, so destroy it here instead of leaking it.
1500
+ const destroyIpnsPkcAndRethrow = async (e) => {
1501
+ await ipnsObj.pkc.destroy();
1502
+ throw e;
1503
+ };
1504
+ const commentPKC = await mockPKCNoDataPathWithOnlyKuboClient().catch(destroyIpnsPkcAndRethrow);
1505
+ // Author-sign a comment against the in-memory community identity (no network fetch of the
1506
+ // community record, same trick as createStaticCommunityRecordForComment), add the exact
1507
+ // CommentIpfs serialization to IPFS, and sign a minimal CommentUpdate with the community key.
1508
+ // The SAME serialization is added to IPFS and embedded in the page, so the cid the page
1509
+ // verifier recomputes from the embedded comment matches commentUpdate.cid.
1510
+ const createStaticPageComment = async (createOptions, depth) => {
1458
1511
  const commentToPublish = await commentPKC.createComment({
1512
+ ...createOptions,
1459
1513
  signer: await commentPKC.createSigner(),
1460
- communityAddress,
1461
- title: `Static post in pages - ${Date.now()}`,
1462
- content: `Static content - ${Date.now()}`
1514
+ communityAddress
1463
1515
  });
1464
1516
  if (!commentToPublish.raw.pubsubMessageToPublish) {
1465
- // Directly set _community from in-memory data so signing doesn't fetch the community
1466
- // record over the network (same trick as createStaticCommunityRecordForComment).
1467
1517
  commentToPublish["_community"] = {
1468
1518
  address: communityAddress,
1469
1519
  publicKey: communityAddress,
@@ -1472,9 +1522,7 @@ export async function publishStaticCommunityWithPostInPages() {
1472
1522
  };
1473
1523
  await commentToPublish._signPublicationWithCommunityFields();
1474
1524
  }
1475
- // The SAME serialization is added to IPFS and embedded in the page, so the cid the page
1476
- // verifier recomputes from the embedded comment matches commentUpdate.cid.
1477
- const commentIpfs = { ...commentToPublish.raw.pubsubMessageToPublish, depth: 0 };
1525
+ const commentIpfs = { ...commentToPublish.raw.pubsubMessageToPublish, depth };
1478
1526
  if (!commentIpfs.protocolVersion)
1479
1527
  throw Error("The comment to embed in the static community must carry a protocolVersion");
1480
1528
  const commentIpfsJson = JSON.stringify(commentIpfs);
@@ -1487,9 +1535,34 @@ export async function publishStaticCommunityWithPostInPages() {
1487
1535
  updatedAt: timestamp(),
1488
1536
  protocolVersion: commentIpfs.protocolVersion
1489
1537
  };
1538
+ return { commentIpfs, commentIpfsJson, commentCid, commentUpdateWithoutSignature };
1539
+ };
1540
+ try {
1541
+ const post = await createStaticPageComment({ title: `Static post in pages - ${Date.now()}`, content: `Static content - ${Date.now()}` }, 0);
1542
+ const commentCid = post.commentCid;
1543
+ let replyCid;
1544
+ let postCommentUpdateWithoutSignature = post.commentUpdateWithoutSignature;
1545
+ if (opts?.withReplyInPostPages) {
1546
+ const reply = await createStaticPageComment({ parentCid: commentCid, postCid: commentCid, content: `Static reply in post pages - ${Date.now()}` }, 1);
1547
+ replyCid = reply.commentCid;
1548
+ const replyCommentUpdate = {
1549
+ ...reply.commentUpdateWithoutSignature,
1550
+ signature: await signCommentUpdate({ update: reply.commentUpdateWithoutSignature, signer: ipnsObj.signer })
1551
+ };
1552
+ postCommentUpdateWithoutSignature = {
1553
+ ...post.commentUpdateWithoutSignature,
1554
+ replyCount: 1,
1555
+ childCount: 1,
1556
+ lastChildCid: replyCid,
1557
+ lastReplyTimestamp: reply.commentIpfs.timestamp,
1558
+ replies: {
1559
+ pages: { best: { comments: [{ comment: JSON.parse(reply.commentIpfsJson), commentUpdate: replyCommentUpdate }] } }
1560
+ }
1561
+ };
1562
+ }
1490
1563
  const commentUpdate = {
1491
- ...commentUpdateWithoutSignature,
1492
- signature: await signCommentUpdate({ update: commentUpdateWithoutSignature, signer: ipnsObj.signer })
1564
+ ...postCommentUpdateWithoutSignature,
1565
+ signature: await signCommentUpdate({ update: postCommentUpdateWithoutSignature, signer: ipnsObj.signer })
1493
1566
  };
1494
1567
  // postUpdates folder on the test Kubo: <folderCid>/<postCid>/update.
1495
1568
  const kuboClient = ipnsObj.pkc._clientsManager.getDefaultKuboRpcClient()._client;
@@ -1501,17 +1574,25 @@ export async function publishStaticCommunityWithPostInPages() {
1501
1574
  folderCid = addedEntry.cid.toString();
1502
1575
  if (!folderCid)
1503
1576
  throw Error("Failed to derive the postUpdates folder cid from the wrapped kubo add");
1577
+ const communityName = opts?.withSelfResolvingName ? selfResolvingMockNameForAddress(communityAddress) : undefined;
1504
1578
  const communityRecord = {
1505
1579
  ...(await getTemplateCommunityRecord(ipnsObj.pkc)),
1506
- posts: { pages: { hot: { comments: [{ comment: JSON.parse(commentIpfsJson), commentUpdate }] } } },
1580
+ posts: { pages: { hot: { comments: [{ comment: JSON.parse(post.commentIpfsJson), commentUpdate }] } } },
1507
1581
  postUpdates: { "86400": folderCid },
1508
1582
  pubsubTopic: communityAddress,
1509
1583
  encryption: encryptionForSigner(ipnsObj.signer),
1510
1584
  updatedAt: timestamp()
1511
1585
  };
1586
+ if (communityName)
1587
+ communityRecord.name = communityName;
1588
+ else
1589
+ delete communityRecord.name;
1512
1590
  communityRecord.signature = await signCommunity({ community: communityRecord, signer: ipnsObj.signer });
1513
1591
  await ipnsObj.publishToIpns(JSON.stringify(communityRecord));
1514
- return { communityAddress, commentCid, communityRecord, ipnsObj };
1592
+ return { communityAddress, communityName, commentCid, replyCid, communityRecord, ipnsObj };
1593
+ }
1594
+ catch (e) {
1595
+ return destroyIpnsPkcAndRethrow(e);
1515
1596
  }
1516
1597
  finally {
1517
1598
  await commentPKC.destroy();