@pkcprotocol/pkc-js 0.0.99 → 0.0.100

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 (58) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/clients/base-client-manager.js +16 -3
  3. package/dist/browser/clients/base-client-manager.js.map +1 -1
  4. package/dist/browser/community/community-client-manager.d.ts +5 -0
  5. package/dist/browser/community/community-client-manager.js +134 -23
  6. package/dist/browser/community/community-client-manager.js.map +1 -1
  7. package/dist/browser/errors.d.ts +1 -0
  8. package/dist/browser/errors.js +1 -0
  9. package/dist/browser/errors.js.map +1 -1
  10. package/dist/browser/generated-version.d.ts +1 -1
  11. package/dist/browser/generated-version.js +1 -1
  12. package/dist/browser/generated-version.js.map +1 -1
  13. package/dist/browser/helia/util.js +4 -3
  14. package/dist/browser/helia/util.js.map +1 -1
  15. package/dist/browser/pkc-error.d.ts +1 -1
  16. package/dist/browser/publications/publication.d.ts +1 -0
  17. package/dist/browser/publications/publication.js +56 -17
  18. package/dist/browser/publications/publication.js.map +1 -1
  19. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +7 -1
  20. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  21. package/dist/browser/test/mock-ipfs-client.js +6 -0
  22. package/dist/browser/test/mock-ipfs-client.js.map +1 -1
  23. package/dist/browser/test/test-util.js +1 -1
  24. package/dist/browser/test/test-util.js.map +1 -1
  25. package/dist/bundled/bundle-manifest.json +31 -31
  26. package/dist/bundled/chunks/{helia-for-pkc-DUaUFShG.js → helia-for-pkc-Cq6VWePV.js} +2 -2
  27. package/dist/bundled/chunks/{local-community-CM2GS9Ya.js → local-community-CcHbWkoT.js} +1 -1
  28. package/dist/bundled/chunks/{local-community-BGcQIioy.js → local-community-ph-pl_pg.js} +3 -3
  29. package/dist/bundled/chunks/{node-CF18iVMW.js → node-2PkhAerB.js} +47 -25
  30. package/dist/bundled/chunks/{rpc-local-community-CTyhIJyD.js → rpc-local-community-BK1FjUk2.js} +67 -20
  31. package/dist/bundled/chunks/{schema-f2Zr1ZxK.js → schema-CYR820MD.js} +2 -1
  32. package/dist/bundled/chunks/{util-BbXV7Dcu.js → util-gAVw5PrE.js} +2 -2
  33. package/dist/bundled/index.js +1 -1
  34. package/dist/bundled/rpc/src/index.js +4 -4
  35. package/dist/node/clients/base-client-manager.js +16 -3
  36. package/dist/node/clients/base-client-manager.js.map +1 -1
  37. package/dist/node/community/community-client-manager.d.ts +5 -0
  38. package/dist/node/community/community-client-manager.js +134 -23
  39. package/dist/node/community/community-client-manager.js.map +1 -1
  40. package/dist/node/errors.d.ts +1 -0
  41. package/dist/node/errors.js +1 -0
  42. package/dist/node/errors.js.map +1 -1
  43. package/dist/node/generated-version.d.ts +1 -1
  44. package/dist/node/generated-version.js +1 -1
  45. package/dist/node/generated-version.js.map +1 -1
  46. package/dist/node/helia/util.js +4 -3
  47. package/dist/node/helia/util.js.map +1 -1
  48. package/dist/node/pkc-error.d.ts +1 -1
  49. package/dist/node/publications/publication.d.ts +1 -0
  50. package/dist/node/publications/publication.js +56 -17
  51. package/dist/node/publications/publication.js.map +1 -1
  52. package/dist/node/runtime/node/community/local-community/ipns-publishing.js +7 -1
  53. package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  54. package/dist/node/test/mock-ipfs-client.js +6 -0
  55. package/dist/node/test/mock-ipfs-client.js.map +1 -1
  56. package/dist/node/test/test-util.js +1 -1
  57. package/dist/node/test/test-util.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { A as doesDomainAddressHaveCapitalLetter, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Br as stringifyPrimitive, Bt as require_sha256, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dr as setErrorMap, Dt as findUpdatingCommunity, Et as findUpdatingComment, Ft as trackUpdatingComment, H as isIpfsCid, Ht as pTimeout, O as deepMergeRuntimeFields, On as CommentUpdateForChallengeVerificationSchema, Ot as listStartedCommunities, R as hideClassPrivateProps, Rr as joinValues, Rt as untrackUpdatingComment, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tt as findStartedCommunity, V as isAbortError, Vt as TimeoutError, W as isIpns, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, a as ChallengeRequestMessageSchema, ar as t$1, at as rejectWhenCommunityStopsOrAborts, b as areEquivalentCommunityAddresses, bt as throwIfAbortSignalAborted, dt as replaceXWithY, et as isStringDomain, ft as resolveWhenPredicateIsTrue, gr as require_retry, gt as shortifyAddress, it as rejectWhenAbortSignalFires, jn as CommentUpdateSchema, jt as refreshTrackedCommentAliases, kt as listUpdatingComments, lr as r, mt as retryKuboIpfsAdd, nn as CommunityAnchorSchema, or as e, pn as PubsubTopicSchema, r as ChallengeMessageSchema, rr as n$1, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, t as ChallengeAnswerMessageSchema, tr as n$2, ut as removeUndefinedValuesRecursively, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xt as timestamp, y as version_default, zr as parsedType } from "./schema-f2Zr1ZxK.js";
3
- import { $ as RepliesPages, $n as RpcUnsubscribeParamSchema, An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, At as verifyCommentIpfs, B as setNativeFunctions$1, Bn as RpcEditCommunityParamSchema, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Ct as signCommunityEdit, D as createKuboRpcClient, Dn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, En as parseJsonWithPKCErrorIfFails, Et as verifyChallengeMessage, Fn as RpcCancelExportParamSchema, Ft as verifyCommunityEdit, Gn as RpcFetchCidParamSchema, Gt as getCommunityPublicKeyFromWire, H as CommentClientsManager, Hn as RpcExportCommunityModLogsResultSchema, Ht as buildRuntimeCommunityFields, I as listCommunitiesSync, In as RpcCidParamSchema, It as verifyVote, Jn as RpcPublishChallengeAnswersParamSchema, Kn as RpcFetchCidResultSchema, Kt as normalizeCommunityInputFromCommunity, L as monitorCommunitiesDirectory, Ln as RpcCommentRepliesPageParamSchema, Lt as buildRuntimeAuthor, Mn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Mt as verifyCommentPubsubMessage, N as getDefaultDataPath, Nn as RpcAnchorPublishPreparationResultSchema, Nt as verifyCommentUpdate, On as parseRpcCommentEventWithPKCErrorIfItFails, Ot as verifyChallengeVerification, Pn as RpcAuthorNameParamSchema, Q as parseRawPages, Qn as RpcSuccessResultSchema, Qt as getPKCAddressFromPublicKeySync, Rn as RpcCommunityIdentifierParamSchema, Rt as cleanWireAuthor, Sn as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, Tn as parseDecryptedChallengeWithPKCErrorIfItFails, Un as RpcExportCommunityParamSchema, Ut as getCommunityAddressFromRecord, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcExportCommunityModLogsParamSchema, Vt as normalizeCreatePublicationAuthor, Wn as RpcExportCommunityResultSchema, Wt as getCommunityNameFromWire, X as findCommentInPageInstanceRecursively, Xn as RpcResolveAuthorNameResultSchema, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as RpcPublishedAnchorRecordResultSchema, Yt as getBufferedPKCAddressFromPublicKey, Zn as RpcSubscriptionIdResultSchema, _ as createSigner, _n as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, _t as signComment, an as parseCommentIpfsSchemaWithPKCErrorIfItFails, ar as t$3, at as PublicationClientsManager, bn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, c as LRUCache, cn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, cr as t$2, d as KeyvBetterSqlite3, dt as require_lib$1, et as applyNameResolvedCacheToCrosspost, f as decodeRpcChallengeAnswerPubsubMsg, fn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, ft as cleanUpBeforePublishing, gn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeVerificationPubsubMsg, hn as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ht as signChallengeRequest, in as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, it as stripNameResolvedFromCrosspost, jt as verifyCommentModeration, kn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, kt as verifyCommentEdit, l as RemoteCommunity, ln as parseCommunityAddressWithPKCErrorIfItFails, lr as t$5, m as decodeRpcChallengeRequestPubsubMsg, mn as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, mr as require_undici, n as RpcRemoteCommunity, nr as t$4, nt as collectCrosspostAuthorsToResolve, o as pkcJsChallenges, or as n$3, ot as PKCClientsManager, p as decodeRpcChallengePubsubMsg, pr as nativeFunctions$2, pt as signChallengeAnswer, qn as RpcPublishAnchorRecordParamSchema, qt as decode, s as TrackedInstanceRegistry, sn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as InflightFetchManager, t as RpcLocalCommunity, tn as parseCidStringSchemaWithPKCErrorIfItFails, tt as cloneCrosspostForRuntime, ut as PKCTypedEmitter, v as createAnchorIpnsRecord$1, vt as signCommentEdit, wn as parseDecryptedChallengeVerification, wt as signVote, x as encryptEd25519AesGcm, xn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, y as decryptEd25519AesGcm, yt as signCommentModeration, zn as RpcCommunityPageParamSchema, zt as getAuthorNameFromRuntime } from "./rpc-local-community-CTyhIJyD.js";
4
- import { o as getHeliaDebugContext } from "./util-BbXV7Dcu.js";
2
+ import { A as doesDomainAddressHaveCapitalLetter, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Br as stringifyPrimitive, Bt as require_sha256, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dr as setErrorMap, Dt as findUpdatingCommunity, Et as findUpdatingComment, Ft as trackUpdatingComment, H as isIpfsCid, Ht as pTimeout, O as deepMergeRuntimeFields, On as CommentUpdateForChallengeVerificationSchema, Ot as listStartedCommunities, R as hideClassPrivateProps, Rr as joinValues, Rt as untrackUpdatingComment, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tt as findStartedCommunity, V as isAbortError, Vt as TimeoutError, W as isIpns, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, a as ChallengeRequestMessageSchema, ar as t$1, at as rejectWhenCommunityStopsOrAborts, b as areEquivalentCommunityAddresses, bt as throwIfAbortSignalAborted, dt as replaceXWithY, et as isStringDomain, ft as resolveWhenPredicateIsTrue, gr as require_retry, gt as shortifyAddress, it as rejectWhenAbortSignalFires, jn as CommentUpdateSchema, jt as refreshTrackedCommentAliases, kt as listUpdatingComments, lr as r, mt as retryKuboIpfsAdd, nn as CommunityAnchorSchema, or as e, pn as PubsubTopicSchema, r as ChallengeMessageSchema, rr as n$1, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, t as ChallengeAnswerMessageSchema, tr as n$2, ut as removeUndefinedValuesRecursively, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xt as timestamp, y as version_default, zr as parsedType } from "./schema-CYR820MD.js";
3
+ import { $ as RepliesPages, $n as RpcUnsubscribeParamSchema, An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, At as verifyCommentIpfs, B as setNativeFunctions$1, Bn as RpcEditCommunityParamSchema, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Ct as signCommunityEdit, D as createKuboRpcClient, Dn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, En as parseJsonWithPKCErrorIfFails, Et as verifyChallengeMessage, Fn as RpcCancelExportParamSchema, Ft as verifyCommunityEdit, Gn as RpcFetchCidParamSchema, Gt as getCommunityPublicKeyFromWire, H as CommentClientsManager, Hn as RpcExportCommunityModLogsResultSchema, Ht as buildRuntimeCommunityFields, I as listCommunitiesSync, In as RpcCidParamSchema, It as verifyVote, Jn as RpcPublishChallengeAnswersParamSchema, Kn as RpcFetchCidResultSchema, Kt as normalizeCommunityInputFromCommunity, L as monitorCommunitiesDirectory, Ln as RpcCommentRepliesPageParamSchema, Lt as buildRuntimeAuthor, Mn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Mt as verifyCommentPubsubMessage, N as getDefaultDataPath, Nn as RpcAnchorPublishPreparationResultSchema, Nt as verifyCommentUpdate, On as parseRpcCommentEventWithPKCErrorIfItFails, Ot as verifyChallengeVerification, Pn as RpcAuthorNameParamSchema, Q as parseRawPages, Qn as RpcSuccessResultSchema, Qt as getPKCAddressFromPublicKeySync, Rn as RpcCommunityIdentifierParamSchema, Rt as cleanWireAuthor, Sn as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, Tn as parseDecryptedChallengeWithPKCErrorIfItFails, Un as RpcExportCommunityParamSchema, Ut as getCommunityAddressFromRecord, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcExportCommunityModLogsParamSchema, Vt as normalizeCreatePublicationAuthor, Wn as RpcExportCommunityResultSchema, Wt as getCommunityNameFromWire, X as findCommentInPageInstanceRecursively, Xn as RpcResolveAuthorNameResultSchema, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as RpcPublishedAnchorRecordResultSchema, Yt as getBufferedPKCAddressFromPublicKey, Zn as RpcSubscriptionIdResultSchema, _ as createSigner, _n as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, _t as signComment, an as parseCommentIpfsSchemaWithPKCErrorIfItFails, ar as t$3, at as PublicationClientsManager, bn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, c as LRUCache, cn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, cr as t$2, d as KeyvBetterSqlite3, dt as require_lib$1, et as applyNameResolvedCacheToCrosspost, f as decodeRpcChallengeAnswerPubsubMsg, fn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, ft as cleanUpBeforePublishing, gn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeVerificationPubsubMsg, hn as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ht as signChallengeRequest, in as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, it as stripNameResolvedFromCrosspost, jt as verifyCommentModeration, kn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, kt as verifyCommentEdit, l as RemoteCommunity, ln as parseCommunityAddressWithPKCErrorIfItFails, lr as t$5, m as decodeRpcChallengeRequestPubsubMsg, mn as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, mr as require_undici, n as RpcRemoteCommunity, nr as t$4, nt as collectCrosspostAuthorsToResolve, o as pkcJsChallenges, or as n$3, ot as PKCClientsManager, p as decodeRpcChallengePubsubMsg, pr as nativeFunctions$2, pt as signChallengeAnswer, qn as RpcPublishAnchorRecordParamSchema, qt as decode, s as TrackedInstanceRegistry, sn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as InflightFetchManager, t as RpcLocalCommunity, tn as parseCidStringSchemaWithPKCErrorIfItFails, tt as cloneCrosspostForRuntime, ut as PKCTypedEmitter, v as createAnchorIpnsRecord$1, vt as signCommentEdit, wn as parseDecryptedChallengeVerification, wt as signVote, x as encryptEd25519AesGcm, xn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, y as decryptEd25519AesGcm, yt as signCommentModeration, zn as RpcCommunityPageParamSchema, zt as getAuthorNameFromRuntime } from "./rpc-local-community-BK1FjUk2.js";
4
+ import { o as getHeliaDebugContext } from "./util-gAVw5PrE.js";
5
5
  import path from "path";
6
6
  import assert from "assert";
7
7
  import fs from "fs";
@@ -358,6 +358,10 @@ var Publication = class extends import_lib.TypedEmitter {
358
358
  ...msg,
359
359
  ...decryptedChallenge
360
360
  };
361
+ if (Object.values(this._challengeExchanges).some((exchange) => exchange.challenge)) {
362
+ log.trace("Received a copy of a challenge that was already handled, ignoring it");
363
+ return;
364
+ }
361
365
  this._challengeExchanges[msg.challengeRequestId.toString()].challenge = decryptedChallengeMsg;
362
366
  this._updatePublishingStateWithEmission("waiting-challenge-answers");
363
367
  const challengeTopic = this._community?.pubsubTopic;
@@ -422,10 +426,6 @@ var Publication = class extends import_lib.TypedEmitter {
422
426
  this.emit("error", e);
423
427
  return;
424
428
  }
425
- if (decryptedChallengeVerification.comment) {
426
- await this._verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedChallengeVerification);
427
- log("Updated the props of this instance with challengeverification.encrypted");
428
- }
429
429
  }
430
430
  } else {
431
431
  newPublishingState = "failed";
@@ -435,7 +435,15 @@ var Publication = class extends import_lib.TypedEmitter {
435
435
  ...msg,
436
436
  ...decryptedChallengeVerification
437
437
  };
438
+ if (this._challengeExchanges[msg.challengeRequestId.toString()].challengeVerification) {
439
+ log.trace("Received a copy of a challenge verification that was already handled, ignoring it");
440
+ return;
441
+ }
438
442
  this._challengeExchanges[msg.challengeRequestId.toString()].challengeVerification = challengeVerificationMsg;
443
+ if (decryptedChallengeVerification?.comment) {
444
+ await this._verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedChallengeVerification);
445
+ log("Updated the props of this instance with challengeverification.encrypted");
446
+ }
439
447
  Object.values(this._challengeExchanges).forEach((exchange) => this._updatePubsubState("stopped", exchange.providerUrl));
440
448
  this._changePublicationStateEmitEventEmitStateChangeEvent({
441
449
  newPublishingState,
@@ -498,30 +506,43 @@ var Publication = class extends import_lib.TypedEmitter {
498
506
  if (challengeExchangesWithChallenge.length === 0) throw Error("No challenge exchanges with challenge");
499
507
  if (challengeExchangesWithChallenge.length > 1) throw Error("We should only have one challenge exchange with challenge");
500
508
  const challengeExchange = challengeExchangesWithChallenge[0];
509
+ const challengeRequestIdString = challengeExchange.challengeRequest.challengeRequestId.toString();
510
+ if (challengeExchange.challengeAnswer || challengeExchange.challengeAnswerPublishInFlight) throw new PKCError("ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED", {
511
+ challengeRequestId: challengeRequestIdString,
512
+ publishingState: this.publishingState
513
+ });
514
+ challengeExchange.challengeAnswerPublishInFlight = true;
501
515
  assert(this._community, "Local pkc-js needs publication._community to be defined to publish challenge answer");
502
516
  if (!challengeExchange.signer) throw Error("Signer is undefined for this challenge exchange");
503
- const encryptedChallengeAnswers = await encryptEd25519AesGcm(JSON.stringify(toEncryptAnswers), challengeExchange.signer.privateKey, this._community.encryption.publicKey);
504
- const toSignAnswer = cleanUpBeforePublishing({
505
- type: "CHALLENGEANSWER",
506
- challengeRequestId: challengeExchange.challengeRequest.challengeRequestId,
507
- encrypted: encryptedChallengeAnswers,
508
- userAgent: this._pkc.userAgent,
509
- protocolVersion: version_default.PROTOCOL_VERSION,
510
- timestamp: timestamp()
511
- });
512
- const answerMsgToPublish = {
513
- ...toSignAnswer,
514
- signature: await signChallengeAnswer({
515
- challengeAnswer: toSignAnswer,
516
- signer: challengeExchange.signer
517
- })
518
- };
517
+ let answerMsgToPublish;
518
+ try {
519
+ const encryptedChallengeAnswers = await encryptEd25519AesGcm(JSON.stringify(toEncryptAnswers), challengeExchange.signer.privateKey, this._community.encryption.publicKey);
520
+ const toSignAnswer = cleanUpBeforePublishing({
521
+ type: "CHALLENGEANSWER",
522
+ challengeRequestId: challengeExchange.challengeRequest.challengeRequestId,
523
+ encrypted: encryptedChallengeAnswers,
524
+ userAgent: this._pkc.userAgent,
525
+ protocolVersion: version_default.PROTOCOL_VERSION,
526
+ timestamp: timestamp()
527
+ });
528
+ answerMsgToPublish = {
529
+ ...toSignAnswer,
530
+ signature: await signChallengeAnswer({
531
+ challengeAnswer: toSignAnswer,
532
+ signer: challengeExchange.signer
533
+ })
534
+ };
535
+ } catch (e) {
536
+ challengeExchange.challengeAnswerPublishInFlight = false;
537
+ throw e;
538
+ }
519
539
  this._updatePublishingStateWithEmission("publishing-challenge-answer");
520
540
  this._updatePubsubState("publishing-challenge-answer", challengeExchange.providerUrl);
521
541
  if (this._publishingToLocalCommunity) try {
522
542
  await this._publishingToLocalCommunity.handleChallengeAnswer(answerMsgToPublish);
523
543
  } catch (e) {
524
544
  this._challengeExchanges[challengeExchange.challengeRequest.challengeRequestId.toString()].challengeAnswerPublishError = e;
545
+ challengeExchange.challengeAnswerPublishInFlight = false;
525
546
  this._updatePublishingStateWithEmission("failed");
526
547
  this._updatePubsubState("stopped", challengeExchange.providerUrl);
527
548
  throw e;
@@ -530,6 +551,7 @@ var Publication = class extends import_lib.TypedEmitter {
530
551
  await this._clientsManager.pubsubPublishOnProvider(this._communityChallengePubsubExchangeTopic(), answerMsgToPublish, challengeExchange.providerUrl);
531
552
  } catch (e) {
532
553
  this._challengeExchanges[challengeExchange.challengeRequest.challengeRequestId.toString()].challengeAnswerPublishError = e;
554
+ challengeExchange.challengeAnswerPublishInFlight = false;
533
555
  this._updatePublishingStateWithEmission("failed");
534
556
  this._updatePubsubState("stopped", challengeExchange.providerUrl);
535
557
  throw e;
@@ -7032,7 +7054,7 @@ var PKC$1 = class extends PKCTypedEmitter {
7032
7054
  this.clients.libp2pJsClients = {};
7033
7055
  if (!this.libp2pJsClientsOptions) return;
7034
7056
  if (!this.httpRoutersOptions) throw Error("httpRoutersOptions is required for libp2pJsClient");
7035
- const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-DUaUFShG.js");
7057
+ const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-Cq6VWePV.js");
7036
7058
  for (const clientOptions of this.libp2pJsClientsOptions) {
7037
7059
  const heliaNode = await createLibp2pJsClientOrUseExistingOne({
7038
7060
  ...clientOptions,
@@ -7311,7 +7333,7 @@ var PKC$1 = class extends PKCTypedEmitter {
7311
7333
  const log = logger_default("pkc-js:pkc:createLocalCommunity");
7312
7334
  log.trace("Received community options to create a local community instance:", options);
7313
7335
  if (!this._canCreateNewLocalCommunity()) throw new PKCError("ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY", { pkcOptions: this._userPKCOptions });
7314
- const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-CM2GS9Ya.js");
7336
+ const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-CcHbWkoT.js");
7315
7337
  const isLocalCommunity = (await listCommunitiesSync(this)).includes(options.address);
7316
7338
  const community = new LocalCommunity(this);
7317
7339
  if (isLocalCommunity) {
@@ -1,5 +1,5 @@
1
1
  import { i as __toESM, n as __exportAll, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { $ as isRequestPubsubPublicationOfReply, $n as CommunityAuthorChallengeReservedFieldNames, $t as CreateCommentModerationOptionsWithRefinementSchema, A as doesDomainAddressHaveCapitalLetter, An as CommentUpdateReservedFields, Ar as boolean, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Bt as require_sha256$1, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dn as CommentUpdateChallengeReservedFieldNames, Dt as findUpdatingCommunity, En as CommentSignedPropertyNames, Er as require_ms$1, Et as findUpdatingComment, Fn as CreateCommentOptionsWithRefinementSchema, Fr as record, G as isIpnsPath, Gn as CreateCommentEditOptionsWithRefinementSchema, Gt as CommunityEditPublicationSignedPropertyNames, H as isIpfsCid, Ht as pTimeout, In as GetPageParamSchema, Ir as string, It as trackUpdatingCommunity, Jt as CommentModerationChallengeRequestToEncryptSchema, Kn as AuthorAddressSchema, Kt as CommunityEditPubsubMessagePublicationSchema, L as getPostUpdateTimestampRange, Ln as ModQueuePageIpfsSchema, Lt as untrackStartedCommunity, M as fetchAndValidateIpnsRecordFromGateway, Mn as CommentUpdateSignedPropertyNames, Mr as literal, Mt as refreshTrackedCommunityAliases, Nr as number, O as deepMergeRuntimeFields, Or as _enum, Ot as listStartedCommunities, Pr as object, Pt as trackStartedCommunity, Q as isRequestPubsubPublicationOfPost, Qn as CommunityAddressSchema, Qt as CommentModerationsTableRowSchema, R as hideClassPrivateProps, Rn as PageIpfsSchema, Rt as untrackUpdatingComment, S as calculateIpfsCidV0, Sn as CommentIpfsReservedFields, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tn as CommentPubsubMessageWithFlexibleAuthorRefinementSchema, Tr as require_supports_color, Tt as findStartedCommunity, U as isIpfsPath, Un as CommentEditSignedPropertyNames, Ut as CommunityEditPublicationChallengeRequestToEncryptSchema, V as isAbortError, Vn as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, W as isIpns, Xn as CidPathSchema, Yn as ChallengeAnswersSchema, Yt as CommentModerationPubsubMessagePublicationSchema, Zn as CidStringSchema, Zt as CommentModerationSignedPropertyNames, _ as PKCUserOptionBaseSchema, _n as VotePubsubMessagePublicationSchema, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, an as CommunityExportRecordsSchema, ar as t$13, b as areEquivalentCommunityAddresses, br as FailedToFetchGenericIpfsFromGatewaysError, bt as throwIfAbortSignalAborted, c as ChallengeVerificationMessageSignedPropertyNames, cn as CommunitySignedPropertyNames, cr as t$11, ct as removeNullUndefinedEmptyObjectsValuesRecursively, dn as CreateRpcCommunityFunctionArgumentSchema, dr as n$8, en as ChallengeFileFactorySchema, er as CreateSignerSchema, et as isStringDomain, f as DecryptedChallengeSchema, fn as ExportCommunityModLogsOptionsSchema, fr as r$7, ft as resolveWhenPredicateIsTrue, g as PKCParsedOptionsSchema, gn as VoteChallengeRequestToEncryptSchema, gr as require_retry$1, gt as shortifyAddress, h as NameResolverSerializedSchema, hn as CreateVoteUserOptionsWithRefinementSchema, hr as e$4, i as ChallengeMessageSignedPropertyNames, in as CommunityEditOptionsSchema, j as extractNetworkErrorDetails, jn as CommentUpdateSchema, jr as custom, k as derivePublicationFromChallengeRequest, kn as CommentUpdateForChallengeVerificationSignedPropertyNames, kr as array, l as DecryptedChallengeAnswerSchema, ln as CreateNewLocalCommunityUserOptionsSchema, lr as r$8, m as NameResolveCacheOptionsSchema, mn as RpcRemoteCommunityUpdateEventResultSchema, mr as t$9, n as ChallengeAnswerMessageSignedPropertyNames, o as ChallengeRequestMessageSignedPropertyNames, on as CommunityIpfsReservedFields, or as e$6, p as DecryptedChallengeVerificationSchema, pr as t$10, qn as AuthorCommentIpfsReservedFields, qt as CreateCommunityEditPublicationOptionsWithRefinementSchema, rn as CommunityChallengeSettingSchema, rr as n$9, rt as raceAgainstAbort, sn as CommunityIpfsSchema, sr as e$5, tn as ChallengeFileSchema, tr as n$10, tt as pubsubTopicToDhtKey, un as CreateRemoteCommunityFunctionArgumentSchema, ur as t$12, v as PKCUserOptionsSchema, vr as FailedToFetchCommentUpdateFromGatewaysError, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xn as CommentChallengeRequestToEncryptSchema, xr as FailedToFetchPageIpfsFromGatewaysError, xt as timestamp, yn as VoteSignedPropertyNames, yr as FailedToFetchCommunityFromGatewaysError, z as interruptibleSleep, zn as CommentEditChallengeRequestToEncryptSchema, zt as untrackUpdatingCommunity } from "./schema-f2Zr1ZxK.js";
2
+ import { $ as isRequestPubsubPublicationOfReply, $n as CommunityAuthorChallengeReservedFieldNames, $t as CreateCommentModerationOptionsWithRefinementSchema, A as doesDomainAddressHaveCapitalLetter, An as CommentUpdateReservedFields, Ar as boolean, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Bt as require_sha256$1, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dn as CommentUpdateChallengeReservedFieldNames, Dt as findUpdatingCommunity, En as CommentSignedPropertyNames, Er as require_ms$1, Et as findUpdatingComment, Fn as CreateCommentOptionsWithRefinementSchema, Fr as record, G as isIpnsPath, Gn as CreateCommentEditOptionsWithRefinementSchema, Gt as CommunityEditPublicationSignedPropertyNames, H as isIpfsCid, Ht as pTimeout, In as GetPageParamSchema, Ir as string, It as trackUpdatingCommunity, Jt as CommentModerationChallengeRequestToEncryptSchema, Kn as AuthorAddressSchema, Kt as CommunityEditPubsubMessagePublicationSchema, L as getPostUpdateTimestampRange, Ln as ModQueuePageIpfsSchema, Lt as untrackStartedCommunity, M as fetchAndValidateIpnsRecordFromGateway, Mn as CommentUpdateSignedPropertyNames, Mr as literal, Mt as refreshTrackedCommunityAliases, Nr as number, O as deepMergeRuntimeFields, Or as _enum, Ot as listStartedCommunities, Pr as object, Pt as trackStartedCommunity, Q as isRequestPubsubPublicationOfPost, Qn as CommunityAddressSchema, Qt as CommentModerationsTableRowSchema, R as hideClassPrivateProps, Rn as PageIpfsSchema, Rt as untrackUpdatingComment, S as calculateIpfsCidV0, Sn as CommentIpfsReservedFields, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tn as CommentPubsubMessageWithFlexibleAuthorRefinementSchema, Tr as require_supports_color, Tt as findStartedCommunity, U as isIpfsPath, Un as CommentEditSignedPropertyNames, Ut as CommunityEditPublicationChallengeRequestToEncryptSchema, V as isAbortError, Vn as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, W as isIpns, Xn as CidPathSchema, Yn as ChallengeAnswersSchema, Yt as CommentModerationPubsubMessagePublicationSchema, Zn as CidStringSchema, Zt as CommentModerationSignedPropertyNames, _ as PKCUserOptionBaseSchema, _n as VotePubsubMessagePublicationSchema, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, an as CommunityExportRecordsSchema, ar as t$13, b as areEquivalentCommunityAddresses, br as FailedToFetchGenericIpfsFromGatewaysError, bt as throwIfAbortSignalAborted, c as ChallengeVerificationMessageSignedPropertyNames, cn as CommunitySignedPropertyNames, cr as t$11, ct as removeNullUndefinedEmptyObjectsValuesRecursively, dn as CreateRpcCommunityFunctionArgumentSchema, dr as n$8, en as ChallengeFileFactorySchema, er as CreateSignerSchema, et as isStringDomain, f as DecryptedChallengeSchema, fn as ExportCommunityModLogsOptionsSchema, fr as r$7, ft as resolveWhenPredicateIsTrue, g as PKCParsedOptionsSchema, gn as VoteChallengeRequestToEncryptSchema, gr as require_retry$1, gt as shortifyAddress, h as NameResolverSerializedSchema, hn as CreateVoteUserOptionsWithRefinementSchema, hr as e$4, i as ChallengeMessageSignedPropertyNames, in as CommunityEditOptionsSchema, j as extractNetworkErrorDetails, jn as CommentUpdateSchema, jr as custom, k as derivePublicationFromChallengeRequest, kn as CommentUpdateForChallengeVerificationSignedPropertyNames, kr as array, l as DecryptedChallengeAnswerSchema, ln as CreateNewLocalCommunityUserOptionsSchema, lr as r$8, m as NameResolveCacheOptionsSchema, mn as RpcRemoteCommunityUpdateEventResultSchema, mr as t$9, n as ChallengeAnswerMessageSignedPropertyNames, o as ChallengeRequestMessageSignedPropertyNames, on as CommunityIpfsReservedFields, or as e$6, p as DecryptedChallengeVerificationSchema, pr as t$10, qn as AuthorCommentIpfsReservedFields, qt as CreateCommunityEditPublicationOptionsWithRefinementSchema, rn as CommunityChallengeSettingSchema, rr as n$9, rt as raceAgainstAbort, sn as CommunityIpfsSchema, sr as e$5, tn as ChallengeFileSchema, tr as n$10, tt as pubsubTopicToDhtKey, un as CreateRemoteCommunityFunctionArgumentSchema, ur as t$12, v as PKCUserOptionsSchema, vr as FailedToFetchCommentUpdateFromGatewaysError, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xn as CommentChallengeRequestToEncryptSchema, xr as FailedToFetchPageIpfsFromGatewaysError, xt as timestamp, yn as VoteSignedPropertyNames, yr as FailedToFetchCommunityFromGatewaysError, z as interruptibleSleep, zn as CommentEditChallengeRequestToEncryptSchema, zt as untrackUpdatingCommunity } from "./schema-CYR820MD.js";
3
3
  import { t as all } from "./src-CYIMjhjK.js";
4
4
  import { createHash } from "node:crypto";
5
5
  import { pathToFileURL } from "node:url";
@@ -99362,6 +99362,8 @@ var BaseClientsManager = class BaseClientsManager {
99362
99362
  url,
99363
99363
  status: res?.status,
99364
99364
  statusText: res?.statusText,
99365
+ responseEtag: res?.headers?.get("etag"),
99366
+ responseCacheControl: res?.headers?.get("cache-control"),
99365
99367
  fetchError: String(e),
99366
99368
  fetchErrorCode: nodeError?.code,
99367
99369
  fetchErrorErrno: nodeError?.errno,
@@ -99477,7 +99479,8 @@ var BaseClientsManager = class BaseClientsManager {
99477
99479
  wasRequestAborted: loadOpts.abortController.signal.aborted
99478
99480
  };
99479
99481
  this.postFetchGatewayFailure(gateway, loadOpts, e);
99480
- this._pkc._stats.recordGatewayFailure(gateway, loadOpts.recordIpfsType).catch((err) => log.error("failed to report gateway error", err));
99482
+ if (e.details?.status === 304 || String(e.code).startsWith("ERR_GATEWAY_ABORTING_LOADING")) this._pkc._stats.recordGatewaySuccess(gateway, loadOpts.recordIpfsType, Date.now() - timeBefore).catch((err) => log.error("Failed to report gateway success", err));
99483
+ else this._pkc._stats.recordGatewayFailure(gateway, loadOpts.recordIpfsType).catch((err) => log.error("failed to report gateway error", err));
99481
99484
  return { error: e };
99482
99485
  }
99483
99486
  }
@@ -125417,12 +125420,15 @@ function selectWinningGatewayCommunity(opts) {
125417
125420
  //#region dist/node/community/community-client-manager.js
125418
125421
  const MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS = 1024 * 1024;
125419
125422
  const FORCED_IPNS_NETWORK_REVALIDATION_MIN_INTERVAL_MS = 3e4;
125423
+ const GATEWAY_FALLBACK_POLL_MS = 1e4;
125424
+ const GATEWAY_POLL_FLOOR_MS = 1e3;
125420
125425
  var CommunityClientsManager = class extends PKCClientsManager {
125421
125426
  constructor(community) {
125422
125427
  super(community._pkc);
125423
125428
  this._suppressUpdatingStateForNameResolution = 0;
125424
125429
  this._ipnsLoadingOperation = void 0;
125425
125430
  this._updateCidsAlreadyLoaded = new LimitedSet(30);
125431
+ this._gatewayEtagsOfLoadedRecords = new LimitedSet(5);
125426
125432
  this._subscribedIpnsArrivalTopics = /* @__PURE__ */ new Set();
125427
125433
  this._pendingIpnsArrivalCids = /* @__PURE__ */ new Set();
125428
125434
  this._pendingIpnsArrivalHopTargets = /* @__PURE__ */ new Set();
@@ -125617,7 +125623,7 @@ var CommunityClientsManager = class extends PKCClientsManager {
125617
125623
  ms: safetyNetMs,
125618
125624
  signal: this._community._getStopAbortSignal()
125619
125625
  });
125620
- } else await sleepUntilTimeoutOrAbort(areWeConnectedToKuboOrHelia ? 1e3 : this._pkc.updateInterval, this._community._getStopAbortSignal());
125626
+ } else await sleepUntilTimeoutOrAbort(areWeConnectedToKuboOrHelia ? 1e3 : this._computeGatewayPollMs(), this._community._getStopAbortSignal());
125621
125627
  }
125622
125628
  this._clearIpnsArrivalSubscriptions();
125623
125629
  this._community._clearStopAbortController();
@@ -125626,8 +125632,27 @@ var CommunityClientsManager = class extends PKCClientsManager {
125626
125632
  async stopUpdatingLoop() {
125627
125633
  this._ipnsLoadingOperation?.stop();
125628
125634
  this._updateCidsAlreadyLoaded.clear();
125635
+ this._gatewayEtagsOfLoadedRecords.clear();
125636
+ this._gatewayMaxAgeSecondsFromLastPoll = void 0;
125629
125637
  this._clearIpnsArrivalSubscriptions();
125630
125638
  }
125639
+ _computeGatewayPollMs() {
125640
+ const maxAgeSeconds = this._gatewayMaxAgeSecondsFromLastPoll;
125641
+ const baseMs = typeof maxAgeSeconds === "number" ? maxAgeSeconds * 1e3 + 250 + Math.random() * 750 : GATEWAY_FALLBACK_POLL_MS * (.75 + Math.random() * .5);
125642
+ const ceilingMs = this._pkc.updateInterval;
125643
+ return Math.max(Math.min(baseMs, ceilingMs), Math.min(GATEWAY_POLL_FLOOR_MS, ceilingMs));
125644
+ }
125645
+ _parseMaxAgeSeconds(cacheControl) {
125646
+ const maxAgeMatch = cacheControl?.match(/max-age=(\d+)/i);
125647
+ if (!maxAgeMatch?.[1]) return void 0;
125648
+ const maxAgeSeconds = parseInt(maxAgeMatch[1]);
125649
+ return Number.isFinite(maxAgeSeconds) ? maxAgeSeconds : void 0;
125650
+ }
125651
+ _normalizedEtagOfResponse(res) {
125652
+ const etag = res?.headers?.get("etag");
125653
+ if (!etag) return void 0;
125654
+ return etag.replace(/^W\//, "");
125655
+ }
125631
125656
  _onIpnsRecordArrival(arrival) {
125632
125657
  const value = arrival.record.value;
125633
125658
  if (isIpfsPath(value)) {
@@ -126026,26 +126051,16 @@ var CommunityClientsManager = class extends PKCClientsManager {
126026
126051
  } else {
126027
126052
  gatewayFetches[gatewayUrl].communityRecord = communityIpfs;
126028
126053
  gatewayFetches[gatewayUrl].cid = calculatedCommunityCidFromBody;
126029
- const cacheControl = gatewayRes?.res?.headers?.get("cache-control");
126030
- if (cacheControl) {
126031
- const maxAgeMatch = cacheControl.match(/max-age=(\d+)/);
126032
- if (maxAgeMatch && maxAgeMatch[1]) {
126033
- const ttl = parseInt(maxAgeMatch[1]);
126034
- gatewayFetches[gatewayUrl].ttl = ttl;
126035
- }
126036
- }
126054
+ gatewayFetches[gatewayUrl].ttl = this._parseMaxAgeSeconds(gatewayRes?.res?.headers?.get("cache-control"));
126055
+ const etag = this._normalizedEtagOfResponse(gatewayRes?.res);
126056
+ if (etag) this._gatewayEtagsOfLoadedRecords.add(etag);
126037
126057
  }
126038
126058
  };
126039
126059
  const checkResponseHeadersIfOldCid = async (gatewayRes) => {
126060
+ gatewayFetches[gatewayUrl].ttl = this._parseMaxAgeSeconds(gatewayRes?.headers?.get("cache-control"));
126040
126061
  const cidOfIpnsFromEtagHeader = gatewayRes?.headers?.get("etag")?.toString();
126041
126062
  if (!cidOfIpnsFromEtagHeader) return;
126042
- let parsedCid;
126043
- try {
126044
- parsedCid = CID.parse(cidOfIpnsFromEtagHeader.replace(/^W\//, "").split("\"").join("")).toV0().toString();
126045
- } catch (e) {
126046
- return;
126047
- }
126048
- if (this._updateCidsAlreadyLoaded.has(parsedCid)) {
126063
+ const abortBecauseRecordAlreadyLoaded = () => {
126049
126064
  abortController.abort("Aborting community IPNS request because we already loaded this record");
126050
126065
  return new PKCError("ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD", {
126051
126066
  cidOfIpnsFromEtagHeader,
@@ -126053,9 +126068,24 @@ var CommunityClientsManager = class extends PKCClientsManager {
126053
126068
  gatewayRes,
126054
126069
  gatewayUrl
126055
126070
  });
126071
+ };
126072
+ const normalizedEtag = this._normalizedEtagOfResponse(gatewayRes);
126073
+ if (normalizedEtag && this._gatewayEtagsOfLoadedRecords.has(normalizedEtag)) return abortBecauseRecordAlreadyLoaded();
126074
+ let parsedCid;
126075
+ try {
126076
+ parsedCid = CID.parse(cidOfIpnsFromEtagHeader.replace(/^W\//, "").split("\"").join("")).toV0().toString();
126077
+ } catch (e) {
126078
+ return;
126079
+ }
126080
+ if (this._updateCidsAlreadyLoaded.has(parsedCid) || this._community.updateCid === parsedCid) {
126081
+ if (normalizedEtag) this._gatewayEtagsOfLoadedRecords.add(normalizedEtag);
126082
+ return abortBecauseRecordAlreadyLoaded();
126056
126083
  }
126057
126084
  };
126058
- const requestHeaders = this._updateCidsAlreadyLoaded.size > 0 ? { "If-None-Match": "\"" + Array.from(this._updateCidsAlreadyLoaded.values()).join(",") + "\"" } : void 0;
126085
+ const etagsForConditionalRequest = new Set(this._gatewayEtagsOfLoadedRecords);
126086
+ if (this._community.updateCid) etagsForConditionalRequest.add(`"${this._community.updateCid}"`);
126087
+ for (const cid of Array.from(this._updateCidsAlreadyLoaded.values()).slice(-5)) etagsForConditionalRequest.add(`"${cid}"`);
126088
+ const requestHeaders = etagsForConditionalRequest.size > 0 ? { "If-None-Match": Array.from(etagsForConditionalRequest).join(", ") } : void 0;
126059
126089
  gatewayFetches[gatewayUrl] = {
126060
126090
  abortController,
126061
126091
  promise: queueLimit(() => this._fetchWithGateway(gatewayUrl, {
@@ -126103,6 +126133,15 @@ var CommunityClientsManager = class extends PKCClientsManager {
126103
126133
  };
126104
126134
  };
126105
126135
  const promisesToIterate = Object.values(gatewayFetches).map((gatewayFetch) => gatewayFetch.promise);
126136
+ const recordGatewayMaxAgeForPacing = () => {
126137
+ const maxAges = [];
126138
+ for (const gatewayFetch of Object.values(gatewayFetches)) {
126139
+ if (typeof gatewayFetch.ttl === "number") maxAges.push(gatewayFetch.ttl);
126140
+ const maxAgeFrom304 = this._parseMaxAgeSeconds(gatewayFetch.error?.details?.responseCacheControl);
126141
+ if (typeof maxAgeFrom304 === "number") maxAges.push(maxAgeFrom304);
126142
+ }
126143
+ this._gatewayMaxAgeSecondsFromLastPoll = maxAges.length > 0 ? Math.min(...maxAges) : void 0;
126144
+ };
126106
126145
  let suitableCommunity;
126107
126146
  try {
126108
126147
  suitableCommunity = await new Promise((resolve, reject) => promisesToIterate.map((gatewayPromise, i) => gatewayPromise.then(async (res) => {
@@ -126117,8 +126156,15 @@ var CommunityClientsManager = class extends PKCClientsManager {
126117
126156
  } catch {
126118
126157
  cleanUp();
126119
126158
  throwIfAbortSignalAborted(stopSignal);
126159
+ recordGatewayMaxAgeForPacing();
126120
126160
  const gatewayToError = t$4(gatewayFetches, (gatewayFetch) => gatewayFetch.error);
126121
- if (Object.keys(gatewayFetches).map((gatewayUrl) => gatewayFetches[gatewayUrl].error).some((err) => err.details?.status === 304 || err.code === "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD")) {
126161
+ const hasGatewayConfirmingCurrentRecord = Object.keys(gatewayFetches).map((gatewayUrl) => gatewayFetches[gatewayUrl].error).some((err) => err.details?.status === 304 || err.code === "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD");
126162
+ for (const gatewayFetch of Object.values(gatewayFetches)) {
126163
+ if (gatewayFetch.error?.details?.status !== 304) continue;
126164
+ const etagFrom304 = gatewayFetch.error.details?.responseEtag;
126165
+ if (etagFrom304) this._gatewayEtagsOfLoadedRecords.add(etagFrom304.replace(/^W\//, ""));
126166
+ }
126167
+ if (hasGatewayConfirmingCurrentRecord) {
126122
126168
  if (this._community.anchor && this._community.ipnsHops?.[0] !== ipnsName) {
126123
126169
  const confirmingGatewayUrl = Object.keys(gatewayFetches).find((gatewayUrl) => gatewayFetches[gatewayUrl].error?.details?.status === 304 || gatewayFetches[gatewayUrl].error?.code === "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD");
126124
126170
  if (confirmingGatewayUrl) {
@@ -126149,6 +126195,7 @@ var CommunityClientsManager = class extends PKCClientsManager {
126149
126195
  delete combinedError.stack;
126150
126196
  throw combinedError;
126151
126197
  }
126198
+ recordGatewayMaxAgeForPacing();
126152
126199
  return suitableCommunity;
126153
126200
  }
126154
126201
  async _resolveIpnsChainViaGateway(gatewayUrl, anchorIpnsName, abortSignal) {
@@ -5321,6 +5321,7 @@ var messages;
5321
5321
  messages["ERR_INVALID_COMMUNITY_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA"] = "RPC client sent an invalid schema for challenge request with communityEdit";
5322
5322
  messages["ERR_COMMUNITY_EDIT_OPTIONS_SCHEMA"] = "User sent a community edit options with invalid schema";
5323
5323
  messages["ERR_INVALID_CHALLENGE_ANSWERS"] = "User sent challenge answers with invalid schema";
5324
+ messages["ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED"] = "publishChallengeAnswers was called again for a challenge exchange whose answer has already been published or is being published. Each challenge is answered once";
5324
5325
  messages["ERR_INVALID_CREATE_PKC_WS_SERVER_OPTIONS_SCHEMA"] = "Invalid create arguments for PKC WS RPC server";
5325
5326
  messages["ERR_INVALID_CREATE_PKC_ARGS_SCHEMA"] = "User sent arguments with invalid schema in an attempt to create a PKC instance";
5326
5327
  messages["ERR_INVALID_CREATE_COMMUNITY_WITH_RPC_ARGS_SCHEMA"] = "User provided invalid schema of arguments for pkc.createCommunity while connected to RPC";
@@ -16224,7 +16225,7 @@ function extractNetworkErrorDetails(err, depth = 0) {
16224
16225
  }
16225
16226
  //#endregion
16226
16227
  //#region dist/node/generated-version.js
16227
- const version = "0.0.99";
16228
+ const version = "0.0.100";
16228
16229
  //#endregion
16229
16230
  //#region dist/node/version.js
16230
16231
  const protocolVersion = ProtocolVersionSchema.parse("1.0.0");
@@ -1,4 +1,4 @@
1
- import { Sr as PKCError, nt as pubsubTopicToDhtKeyCid } from "./schema-f2Zr1ZxK.js";
1
+ import { Sr as PKCError, nt as pubsubTopicToDhtKeyCid } from "./schema-CYR820MD.js";
2
2
  import { ipnsSelector } from "ipns/selector";
3
3
  import { ipnsValidator } from "ipns/validator";
4
4
  import { unmarshalIPNSRecord } from "ipns";
@@ -475,7 +475,7 @@ async function cacheIpnsRecordInPubsubLocalStore({ localStore, routingKey, marsh
475
475
  }
476
476
  await localStore.put(routingKey, marshalledRecord);
477
477
  }
478
- const DEFAULT_CACHED_IPNS_RECORD_TTL_MS = 6e4;
478
+ const DEFAULT_CACHED_IPNS_RECORD_TTL_MS = 2e4;
479
479
  function ipnsCacheTtlJitterFactor(routingKey) {
480
480
  let hash = 2166136261;
481
481
  for (let i = 0; i < routingKey.length; i++) {
@@ -1,2 +1,2 @@
1
- import { a as getShortCid, i as getShortAddress, n as challenges, o as nativeFunctions, r as createAnchorIpnsRecord, s as setNativeFunctions, t as PKC } from "./chunks/node-CF18iVMW.js";
1
+ import { a as getShortCid, i as getShortAddress, n as challenges, o as nativeFunctions, r as createAnchorIpnsRecord, s as setNativeFunctions, t as PKC } from "./chunks/node-2PkhAerB.js";
2
2
  export { challenges, createAnchorIpnsRecord, PKC as default, getShortAddress, getShortCid, nativeFunctions, setNativeFunctions };
@@ -1,7 +1,7 @@
1
- import { Ht as pTimeout, R as hideClassPrivateProps, Sr as PKCError, Tt as findStartedCommunity, ar as t, dt as replaceXWithY, rr as n, wr as logger_default } from "../../chunks/schema-f2Zr1ZxK.js";
2
- import { _ as parseRpcPublishAnchorRecordParam, c as parseRpcAuthorNameParam, d as parseRpcCommentRepliesPageParam, f as parseRpcCommunityIdentifierParam, g as parseRpcExportCommunityParam, h as parseRpcExportCommunityModLogsParam, l as parseRpcCancelExportParam, m as parseRpcEditCommunityParam, p as parseRpcCommunityPageParam, t as PKC, u as parseRpcCidParam, v as parseRpcPublishChallengeAnswersParam, y as parseRpcUnsubscribeParam } from "../../chunks/node-CF18iVMW.js";
3
- import { An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, J as buildPagesRuntimeFields, ct as pRetry, dn as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, dt as require_lib, jn as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, lt as pLimit, nn as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, on as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, q as buildPageRuntimeFields, rn as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, rr as t$1, rt as extractCrosspostRuntimeFields, un as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, ur as stringify, vn as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, yn as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-CTyhIJyD.js";
4
- import { t as LocalCommunity } from "../../chunks/local-community-BGcQIioy.js";
1
+ import { Ht as pTimeout, R as hideClassPrivateProps, Sr as PKCError, Tt as findStartedCommunity, ar as t, dt as replaceXWithY, rr as n, wr as logger_default } from "../../chunks/schema-CYR820MD.js";
2
+ import { _ as parseRpcPublishAnchorRecordParam, c as parseRpcAuthorNameParam, d as parseRpcCommentRepliesPageParam, f as parseRpcCommunityIdentifierParam, g as parseRpcExportCommunityParam, h as parseRpcExportCommunityModLogsParam, l as parseRpcCancelExportParam, m as parseRpcEditCommunityParam, p as parseRpcCommunityPageParam, t as PKC, u as parseRpcCidParam, v as parseRpcPublishChallengeAnswersParam, y as parseRpcUnsubscribeParam } from "../../chunks/node-2PkhAerB.js";
3
+ import { An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, J as buildPagesRuntimeFields, ct as pRetry, dn as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, dt as require_lib, jn as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, lt as pLimit, nn as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, on as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, q as buildPageRuntimeFields, rn as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, rr as t$1, rt as extractCrosspostRuntimeFields, un as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, ur as stringify, vn as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, yn as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-BK1FjUk2.js";
4
+ import { t as LocalCommunity } from "../../chunks/local-community-ph-pl_pg.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import path from "path";
7
7
  import assert from "assert";
@@ -268,6 +268,10 @@ export class BaseClientsManager {
268
268
  url,
269
269
  status: res?.status,
270
270
  statusText: res?.statusText,
271
+ // A 304 carries the matched entity-tag and the cache countdown; the community
272
+ // update loop uses both for conditional-request memory and poll pacing (#328)
273
+ responseEtag: res?.headers?.get("etag"),
274
+ responseCacheControl: res?.headers?.get("cache-control"),
271
275
  fetchError: String(e),
272
276
  fetchErrorCode: nodeError?.code,
273
277
  fetchErrorErrno: nodeError?.errno,
@@ -389,9 +393,18 @@ export class BaseClientsManager {
389
393
  //@ts-expect-error
390
394
  e.details = { ...e.details, url, loadOpts, wasRequestAborted: loadOpts.abortController.signal.aborted };
391
395
  this.postFetchGatewayFailure(gateway, loadOpts, e);
392
- this._pkc._stats
393
- .recordGatewayFailure(gateway, loadOpts.recordIpfsType)
394
- .catch((err) => log.error("failed to report gateway error", err));
396
+ // A 304 or an "already loaded this record" abort is the gateway HEALTHILY confirming
397
+ // the record we hold — recording it as a failure made every idle poll poison the
398
+ // gateway's score in the sorting stats (issue #328). Everything else stays a failure.
399
+ const gatewayConfirmedCurrentRecord = e.details?.status === 304 || String(e.code).startsWith("ERR_GATEWAY_ABORTING_LOADING");
400
+ if (gatewayConfirmedCurrentRecord)
401
+ this._pkc._stats
402
+ .recordGatewaySuccess(gateway, loadOpts.recordIpfsType, Date.now() - timeBefore)
403
+ .catch((err) => log.error("Failed to report gateway success", err));
404
+ else
405
+ this._pkc._stats
406
+ .recordGatewayFailure(gateway, loadOpts.recordIpfsType)
407
+ .catch((err) => log.error("failed to report gateway error", err));
395
408
  return { error: e };
396
409
  }
397
410
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-client-manager.js","sourceRoot":"","sources":["../../../src/clients/base-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-client-manager.js","sourceRoot":"","sources":["../../../src/clients/base-client-manager.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export declare class CommunityClientsManager extends PKCClientsManager {
30
30
  private _suppressUpdatingStateForNameResolution;
31
31
  _ipnsLoadingOperation?: RetryOperation;
32
32
  _updateCidsAlreadyLoaded: LimitedSet<string>;
33
+ private _gatewayEtagsOfLoadedRecords;
34
+ private _gatewayMaxAgeSecondsFromLastPoll?;
33
35
  private _subscribedIpnsArrivalTopics;
34
36
  private _ipnsArrivalListener?;
35
37
  private _ipnsArrivalClient?;
@@ -59,6 +61,9 @@ export declare class CommunityClientsManager extends PKCClientsManager {
59
61
  updateOnce(): Promise<void>;
60
62
  startUpdatingLoop(): Promise<void>;
61
63
  stopUpdatingLoop(): Promise<void>;
64
+ private _computeGatewayPollMs;
65
+ private _parseMaxAgeSeconds;
66
+ private _normalizedEtagOfResponse;
62
67
  private _onIpnsRecordArrival;
63
68
  private _consumePendingIpnsArrivals;
64
69
  private _syncIpnsArrivalSubscriptions;