@pkcprotocol/pkc-js 0.0.103 → 0.0.105

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 (155) hide show
  1. package/dist/browser/clients/base-client-manager.d.ts +1 -0
  2. package/dist/browser/clients/base-client-manager.js +85 -15
  3. package/dist/browser/clients/base-client-manager.js.map +1 -1
  4. package/dist/browser/community/community-client-manager.d.ts +3 -0
  5. package/dist/browser/community/community-client-manager.js +87 -14
  6. package/dist/browser/community/community-client-manager.js.map +1 -1
  7. package/dist/browser/community/remote-community.js +3 -0
  8. package/dist/browser/community/remote-community.js.map +1 -1
  9. package/dist/browser/community/schema.d.ts +4 -0
  10. package/dist/browser/community/schema.js +7 -1
  11. package/dist/browser/community/schema.js.map +1 -1
  12. package/dist/browser/constants.d.ts +3 -0
  13. package/dist/browser/constants.js +35 -0
  14. package/dist/browser/constants.js.map +1 -1
  15. package/dist/browser/errors.d.ts +5 -1
  16. package/dist/browser/errors.js +7 -1
  17. package/dist/browser/errors.js.map +1 -1
  18. package/dist/browser/generated-version.d.ts +1 -1
  19. package/dist/browser/generated-version.js +1 -1
  20. package/dist/browser/index-with-compile-cache.d.ts +2 -0
  21. package/dist/browser/index.d.ts +2 -0
  22. package/dist/browser/pkc/pkc.d.ts +4 -0
  23. package/dist/browser/pkc/pkc.js +30 -1
  24. package/dist/browser/pkc/pkc.js.map +1 -1
  25. package/dist/browser/pkc-error.d.ts +1 -1
  26. package/dist/browser/publications/comment/comment-client-manager.js +11 -0
  27. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
  28. package/dist/browser/publications/comment/comment.js +8 -6
  29. package/dist/browser/publications/comment/comment.js.map +1 -1
  30. package/dist/browser/publications/comment/crosspost-runtime.js +3 -2
  31. package/dist/browser/publications/comment/crosspost-runtime.js.map +1 -1
  32. package/dist/browser/rpc/src/index.js +6 -0
  33. package/dist/browser/rpc/src/index.js.map +1 -1
  34. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +1 -0
  35. package/dist/browser/rpc/src/schema.d.ts +6 -0
  36. package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +11 -1
  37. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +32 -21
  38. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  39. package/dist/browser/runtime/node/community/challenges/index.d.ts +10 -3
  40. package/dist/browser/runtime/node/community/challenges/index.js +82 -16
  41. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
  42. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +7 -4
  43. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  44. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +13 -5
  45. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  46. package/dist/browser/runtime/node/community/local-community/author-identity.d.ts +37 -2
  47. package/dist/browser/runtime/node/community/local-community/author-identity.js +73 -13
  48. package/dist/browser/runtime/node/community/local-community/author-identity.js.map +1 -1
  49. package/dist/browser/runtime/node/community/local-community/challenges.d.ts +16 -2
  50. package/dist/browser/runtime/node/community/local-community/challenges.js +40 -9
  51. package/dist/browser/runtime/node/community/local-community/challenges.js.map +1 -1
  52. package/dist/browser/runtime/node/community/local-community/editing.js +7 -2
  53. package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
  54. package/dist/browser/runtime/node/community/local-community/publication-store.d.ts +13 -2
  55. package/dist/browser/runtime/node/community/local-community/publication-store.js +29 -7
  56. package/dist/browser/runtime/node/community/local-community/publication-store.js.map +1 -1
  57. package/dist/browser/runtime/node/community/local-community/publication-validation.d.ts +13 -3
  58. package/dist/browser/runtime/node/community/local-community/publication-validation.js +60 -27
  59. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  60. package/dist/browser/runtime/node/community/local-community.d.ts +2 -2
  61. package/dist/browser/runtime/node/community/local-community.js +6 -4
  62. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  63. package/dist/browser/runtime/node/util.js +18 -8
  64. package/dist/browser/runtime/node/util.js.map +1 -1
  65. package/dist/browser/schema.d.ts +8 -0
  66. package/dist/browser/test/test-util.d.ts +6 -0
  67. package/dist/browser/test/test-util.js +32 -1
  68. package/dist/browser/test/test-util.js.map +1 -1
  69. package/dist/browser/types.d.ts +1 -0
  70. package/dist/browser/util.d.ts +2 -0
  71. package/dist/browser/util.js +24 -0
  72. package/dist/browser/util.js.map +1 -1
  73. package/dist/bundled/bundle-manifest.json +32 -32
  74. package/dist/bundled/chunks/{helia-for-pkc-BqRIFXGX.js → helia-for-pkc-DanrSDp0.js} +2 -2
  75. package/dist/bundled/chunks/{local-community-mF7g4deD.js → local-community-Bsj3T9vI.js} +1 -1
  76. package/dist/bundled/chunks/{local-community-D0dqj6lQ.js → local-community-h9j5crnN.js} +159 -60
  77. package/dist/bundled/chunks/{node--l7gxhms.js → node-Czo2D65i.js} +19 -8
  78. package/dist/bundled/chunks/{rpc-local-community-C3o1AzHp.js → rpc-local-community-CP0JZU-Q.js} +291 -113
  79. package/dist/bundled/chunks/{schema-MeRr3oiN.js → schema-bdQ9ufF9.js} +26 -4
  80. package/dist/bundled/chunks/{util-CjRKlVEE.js → util-CEpMupHn.js} +1 -1
  81. package/dist/bundled/index.js +1 -1
  82. package/dist/bundled/rpc/src/index.js +9 -4
  83. package/dist/node/clients/base-client-manager.d.ts +1 -0
  84. package/dist/node/clients/base-client-manager.js +85 -15
  85. package/dist/node/clients/base-client-manager.js.map +1 -1
  86. package/dist/node/community/community-client-manager.d.ts +3 -0
  87. package/dist/node/community/community-client-manager.js +87 -14
  88. package/dist/node/community/community-client-manager.js.map +1 -1
  89. package/dist/node/community/remote-community.js +3 -0
  90. package/dist/node/community/remote-community.js.map +1 -1
  91. package/dist/node/community/schema.d.ts +4 -0
  92. package/dist/node/community/schema.js +7 -1
  93. package/dist/node/community/schema.js.map +1 -1
  94. package/dist/node/constants.d.ts +3 -0
  95. package/dist/node/constants.js +35 -0
  96. package/dist/node/constants.js.map +1 -1
  97. package/dist/node/errors.d.ts +5 -1
  98. package/dist/node/errors.js +7 -1
  99. package/dist/node/errors.js.map +1 -1
  100. package/dist/node/generated-version.d.ts +1 -1
  101. package/dist/node/generated-version.js +1 -1
  102. package/dist/node/index-with-compile-cache.d.ts +2 -0
  103. package/dist/node/index.d.ts +2 -0
  104. package/dist/node/pkc/pkc.d.ts +4 -0
  105. package/dist/node/pkc/pkc.js +30 -1
  106. package/dist/node/pkc/pkc.js.map +1 -1
  107. package/dist/node/pkc-error.d.ts +1 -1
  108. package/dist/node/publications/comment/comment-client-manager.js +11 -0
  109. package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
  110. package/dist/node/publications/comment/comment.js +8 -6
  111. package/dist/node/publications/comment/comment.js.map +1 -1
  112. package/dist/node/publications/comment/crosspost-runtime.js +3 -2
  113. package/dist/node/publications/comment/crosspost-runtime.js.map +1 -1
  114. package/dist/node/rpc/src/index.js +6 -0
  115. package/dist/node/rpc/src/index.js.map +1 -1
  116. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +1 -0
  117. package/dist/node/rpc/src/schema.d.ts +6 -0
  118. package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +11 -1
  119. package/dist/node/runtime/node/community/challenges/exclude/exclude.js +32 -21
  120. package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  121. package/dist/node/runtime/node/community/challenges/index.d.ts +10 -3
  122. package/dist/node/runtime/node/community/challenges/index.js +82 -16
  123. package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
  124. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +7 -4
  125. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  126. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +13 -5
  127. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  128. package/dist/node/runtime/node/community/local-community/author-identity.d.ts +37 -2
  129. package/dist/node/runtime/node/community/local-community/author-identity.js +73 -13
  130. package/dist/node/runtime/node/community/local-community/author-identity.js.map +1 -1
  131. package/dist/node/runtime/node/community/local-community/challenges.d.ts +16 -2
  132. package/dist/node/runtime/node/community/local-community/challenges.js +40 -9
  133. package/dist/node/runtime/node/community/local-community/challenges.js.map +1 -1
  134. package/dist/node/runtime/node/community/local-community/editing.js +7 -2
  135. package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
  136. package/dist/node/runtime/node/community/local-community/publication-store.d.ts +13 -2
  137. package/dist/node/runtime/node/community/local-community/publication-store.js +29 -7
  138. package/dist/node/runtime/node/community/local-community/publication-store.js.map +1 -1
  139. package/dist/node/runtime/node/community/local-community/publication-validation.d.ts +13 -3
  140. package/dist/node/runtime/node/community/local-community/publication-validation.js +60 -27
  141. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  142. package/dist/node/runtime/node/community/local-community.d.ts +2 -2
  143. package/dist/node/runtime/node/community/local-community.js +6 -4
  144. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  145. package/dist/node/runtime/node/util.js +18 -8
  146. package/dist/node/runtime/node/util.js.map +1 -1
  147. package/dist/node/schema.d.ts +8 -0
  148. package/dist/node/test/test-util.d.ts +6 -0
  149. package/dist/node/test/test-util.js +32 -1
  150. package/dist/node/test/test-util.js.map +1 -1
  151. package/dist/node/types.d.ts +1 -0
  152. package/dist/node/util.d.ts +2 -0
  153. package/dist/node/util.js +24 -0
  154. package/dist/node/util.js.map +1 -1
  155. package/package.json +1 -1
@@ -120,6 +120,7 @@ export declare class BaseClientsManager {
120
120
  private _nameResolutionCache?;
121
121
  private _getNameResolutionCache;
122
122
  private _resolveViaNameResolvers;
123
+ canResolveName(name: string): boolean;
123
124
  resolveCommunityNameIfNeeded({ communityName, abortSignal, cache }: {
124
125
  communityName: string;
125
126
  abortSignal?: AbortSignal;
@@ -1,5 +1,5 @@
1
1
  import assert from "assert";
2
- import { calculateIpfsCidV0, extractNetworkErrorDetails, hideClassPrivateProps, isAbortError, isIpns, isIpfsPath, isIpnsPath, isStringDomain, raceAgainstAbort, throwIfAbortSignalAborted } from "../util.js";
2
+ import { calculateIpfsCidV0, extractNetworkErrorDetails, hasTransientNetworkErrorCode, hideClassPrivateProps, isAbortError, isIpns, isIpfsPath, isIpnsPath, isStringDomain, raceAgainstAbort, throwIfAbortSignalAborted } from "../util.js";
3
3
  import { sha256 } from "js-sha256";
4
4
  import { getPKCAddressFromPublicKey } from "../signer/util.js";
5
5
  import { nativeFunctions } from "../runtime/browser/util.js";
@@ -592,15 +592,24 @@ export class BaseClientsManager {
592
592
  : undefined;
593
593
  //@ts-expect-error attaching extra context to whatever propagated (PKCError or raw resolver error)
594
594
  error.details = { ...error.details, ipnsName, ipnsResolveOpts, ...(p2pValidationNote ? { note: p2pValidationNote } : {}) };
595
- // Wrap ETIMEDOUT in PKCError so _isRetriableErrorWhenLoading recognizes it as retriable
596
- if (error instanceof Error && "cause" in error && error.cause?.code === "ETIMEDOUT") {
597
- log.error(`Failed to resolve IPNS ${ipnsName}: ${error.message} (ETIMEDOUT)`);
595
+ // A transient socket-level failure (the daemon could not be reached right now) must surface
596
+ // as ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P so _isRetriableErrorWhenLoading recognizes it as
597
+ // retriable; a raw TypeError("fetch failed") is classified non-retriable and permanently stops
598
+ // the community update loop and every comment updating under it. undici buries the real code
599
+ // at varying depths of the cause chain: ETIMEDOUT/ECONNREFUSED directly on an AggregateError
600
+ // cause, but a connect timeout is a ConnectTimeoutError (UND_ERR_CONNECT_TIMEOUT) whose OWN
601
+ // cause carries ETIMEDOUT, so checking only error.cause.code missed it (#384, triggered by the
602
+ // kubo API saturation in #265). Walk the whole chain instead.
603
+ const networkErrorDetails = isOpaqueResolverError ? extractNetworkErrorDetails(error) : undefined;
604
+ if (error instanceof Error && networkErrorDetails && hasTransientNetworkErrorCode(networkErrorDetails)) {
605
+ log.error(`Failed to resolve IPNS ${ipnsName}: ${error.message} (${error.name})`, networkErrorDetails);
598
606
  throw new PKCError("ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P", {
599
607
  ipnsName,
600
608
  ipnsResolveOpts,
601
609
  error,
602
610
  errorMessage: error.message,
603
611
  errorName: error.name,
612
+ networkErrorDetails,
604
613
  note: p2pValidationNote
605
614
  });
606
615
  }
@@ -734,6 +743,11 @@ export class BaseClientsManager {
734
743
  const persistentCache = this._getNameResolutionCache();
735
744
  let value;
736
745
  let anyResolverCanHandle = false;
746
+ // Whether any resolver that could handle the name actually produced an answer (a record, or a
747
+ // definitive "no record"). Distinguishes "the resolvers agree there is nothing here" from "we never
748
+ // got an answer because every one of them errored". See issue #353.
749
+ let anyResolverAnswered = false;
750
+ const resolverErrors = {};
737
751
  for (const nameResolver of nameResolvers) {
738
752
  if (!nameResolver.canResolve({ name }))
739
753
  continue;
@@ -747,6 +761,7 @@ export class BaseClientsManager {
747
761
  });
748
762
  if (cached) {
749
763
  value = cached.publicKey;
764
+ anyResolverAnswered = true;
750
765
  break;
751
766
  }
752
767
  this.preResolveNameResolver({ address: name, resolveType, resolverKey: nameResolver.key });
@@ -767,8 +782,10 @@ export class BaseClientsManager {
767
782
  if (isAbortError(error))
768
783
  throw error;
769
784
  log.trace(`Resolver ${nameResolver.key} failed for ${name}`, error);
785
+ resolverErrors[nameResolver.key] = { provider: nameResolver.provider, error };
770
786
  continue;
771
787
  }
788
+ anyResolverAnswered = true;
772
789
  this.postResolveNameResolverSuccess({ address: name, resolveType, resolverKey: nameResolver.key, resolvedValue: value });
773
790
  if (value) {
774
791
  // Persist successful network resolution. Failures are not persisted (callers retry).
@@ -792,8 +809,23 @@ export class BaseClientsManager {
792
809
  if (!anyResolverCanHandle) {
793
810
  throw new PKCError("ERR_NO_RESOLVER_FOR_NAME", { address: name });
794
811
  }
812
+ // Every resolver that could handle this name errored, so we never learned anything about it. This is
813
+ // NOT the same as null (the resolvers answered and there is no record), and callers act on it
814
+ // differently: null is a definitive verdict, this is "ask again later". Issue #353.
815
+ if (!value && !anyResolverAnswered) {
816
+ throw new PKCError("ERR_ALL_NAME_RESOLVERS_FAILED", { address: name, resolverErrors });
817
+ }
795
818
  return value || null;
796
819
  }
820
+ // Can any configured resolver handle this name? Pure and synchronous (canResolve is a pure predicate), so
821
+ // callers that only want to populate a verdict can skip names they know cannot be resolved instead of
822
+ // attempting them and caching the failure. Issue #353.
823
+ canResolveName(name) {
824
+ const nameResolvers = this._pkc.nameResolvers;
825
+ if (!nameResolvers || nameResolvers.length === 0)
826
+ return false;
827
+ return nameResolvers.some((nameResolver) => nameResolver.canResolve({ name }));
828
+ }
797
829
  async resolveCommunityNameIfNeeded({ communityName, abortSignal, cache }) {
798
830
  assert(typeof communityName === "string", "communityName needs to be a string to be resolved");
799
831
  if (!isStringDomain(communityName))
@@ -815,54 +847,92 @@ export class BaseClientsManager {
815
847
  resolveAuthorNamesInBackground({ authors, onResolved, abortSignal }) {
816
848
  const log = Logger("pkc-js:base-client-manager:resolveAuthorNamesInBackground");
817
849
  const verificationCache = this._pkc._memCaches.nameResolvedCache;
850
+ // The two bounds the community side already has, for the same reasons. Both live on the PKC rather
851
+ // than here, because the callers that overlap do not share a clients manager: a community's page
852
+ // sweep and an updating Comment resolve the same author on the same community update. Issue #353.
853
+ const inFlight = this._pkc._authorNameResolvesInFlight;
854
+ const failedRecently = this._pkc._memCaches.nameResolveFailedCache;
818
855
  // Deduplicate and skip already-cached entries
819
856
  const seen = new Set();
820
857
  const toResolve = [];
821
858
  for (const { authorName, signaturePublicKey } of authors) {
822
859
  if (!isStringDomain(authorName))
823
860
  continue;
861
+ // No resolver here can handle this TLD, so we can never find out. Skip rather than attempt and
862
+ // cache a verdict: attempting would re-run (and re-log) on every update cycle forever, and the
863
+ // honest verdict for "we never asked" is undefined, not false. Issue #353.
864
+ if (!this.canResolveName(authorName))
865
+ continue;
824
866
  const cacheKey = sha256(authorName + signaturePublicKey);
825
867
  if (seen.has(cacheKey))
826
868
  continue;
827
869
  seen.add(cacheKey);
828
870
  if (typeof verificationCache.get(cacheKey) === "boolean")
829
871
  continue;
872
+ // An attempt for this exact name and signer is already outstanding. A resolve is bounded only by
873
+ // the caller's abort signal, so a reachable-but-slow resolver would otherwise collect one attempt
874
+ // per caller per update: the floor below is measured from when an attempt finished, and one that
875
+ // has not answered yet has finished nothing.
876
+ if (inFlight.has(cacheKey))
877
+ continue;
878
+ // The last attempt learned nothing. The verdict is still undefined, which is also the marker that
879
+ // allows a retry, so without this every caller would reach the network for as long as the
880
+ // resolvers stayed down. The entry expires on its own, which is what ends the pacing.
881
+ if (failedRecently.get(cacheKey))
882
+ continue;
883
+ inFlight.add(cacheKey);
830
884
  toResolve.push({ authorName, signaturePublicKey, cacheKey });
831
885
  }
832
886
  if (toResolve.length === 0)
833
887
  return;
888
+ // A `false` verdict is an accusation resting on evidence nothing persists, and the states that
889
+ // produce one (no record yet, a record that is not a key) are exactly what a domain looks like while
890
+ // its owner is still configuring it. It therefore expires quickly and is re-earned; a `true` rides the
891
+ // cache's own ttl, which matches the persistent name cache's window above. Issue #353.
892
+ const setVerdict = (cacheKey, verdict) => verdict
893
+ ? verificationCache.set(cacheKey, true, { ttl: this._pkc._nameResolvedTrueTtlMs })
894
+ : verificationCache.set(cacheKey, false, { ttl: this._pkc._nameResolvedFalseTtlMs });
834
895
  const limit = pLimit(MAX_CONCURRENT_AUTHOR_NAME_RESOLUTIONS);
835
896
  const resolveOne = async (entry) => {
836
- if (abortSignal?.aborted)
837
- return false;
838
897
  try {
898
+ if (abortSignal?.aborted)
899
+ return false;
839
900
  const { resolvedAuthorName: resolved } = await this.resolveAuthorNameIfNeeded({
840
901
  authorName: entry.authorName,
841
902
  abortSignal,
842
903
  cache: { maxAge: 3600 }
843
904
  });
844
905
  if (typeof resolved !== "string") {
845
- // null result: either no TXT record (definitive) or all resolvers errored (transient).
846
- // _resolveViaNameResolvers cannot distinguish these today, so leave the verification cache
847
- // undefined so the next pass retries. Failing-shut here would risk permanently rejecting an author after a brief outage.
848
- return false;
906
+ // The resolvers answered and there is no record. Definitive: the name does not belong to
907
+ // this signer, so cache false. An all-resolvers-errored outcome no longer arrives here, it
908
+ // throws ERR_ALL_NAME_RESOLVERS_FAILED and is left undefined for retry below. Issue #353.
909
+ setVerdict(entry.cacheKey, false);
910
+ return true; // newly set
849
911
  }
850
912
  const signerAddress = await getPKCAddressFromPublicKey(entry.signaturePublicKey);
851
- verificationCache.set(entry.cacheKey, resolved === signerAddress);
913
+ setVerdict(entry.cacheKey, resolved === signerAddress);
852
914
  return true; // newly set
853
915
  }
854
916
  catch (e) {
855
917
  if (isAbortError(e))
856
918
  return false;
857
- if (e instanceof PKCError && e.code === "ERR_NO_RESOLVER_FOR_NAME") {
858
- // Definitive: no resolver in this PKC instance handles this TLD. Cache as false.
859
- verificationCache.set(entry.cacheKey, false);
919
+ if (e instanceof PKCError && e.code === "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS") {
920
+ // The resolvers answered: the record exists and is not a key. Definitive non-match.
921
+ setVerdict(entry.cacheKey, false);
860
922
  return true; // newly set
861
923
  }
862
924
  log.error("Failed to resolve author name in background", entry.authorName, e);
863
- // Transient failure — leave undefined for retry on next update
925
+ // We never got an answer (every resolver errored, or the resolve timed out). "We could not find
926
+ // out" is undefined, never false — a brief outage must not brand an author as an impostor.
927
+ // Recorded so the next caller does not ask again immediately: nothing was learned, so there is
928
+ // no verdict to pace the retry, and undefined is what invites one. An abort is deliberately
929
+ // not recorded here, since the caller going away is not the resolvers failing. Issue #353.
930
+ failedRecently.set(entry.cacheKey, true, { ttl: this._pkc._nameResolveFailedRetryFloorMs });
864
931
  return false;
865
932
  }
933
+ finally {
934
+ inFlight.delete(entry.cacheKey);
935
+ }
866
936
  };
867
937
  Promise.allSettled(toResolve.map((entry) => limit(() => resolveOne(entry))))
868
938
  .then((results) => {
@@ -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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"}
@@ -73,6 +73,9 @@ export declare class CommunityClientsManager extends PKCClientsManager {
73
73
  private _resolveCommunityNameWithoutUpdatingState;
74
74
  private _nonAnchorHopsOfLoadedChain;
75
75
  private _applyKeyMigration;
76
+ private _nameResolvedFalseAtMs?;
77
+ private _nameResolveInFlight;
78
+ private _nameResolveFailedAtMs?;
76
79
  private _resolveNameInBackground;
77
80
  _resolvePageAuthorNamesInBackground(): void;
78
81
  private _pinnedIpnsName;
@@ -6,7 +6,7 @@ import { keys, mapValues } from "remeda";
6
6
  import { getCommunityNameFromWire } from "./community-wire.js";
7
7
  import { getPKCAddressFromPublicKeySync } from "../signer/util.js";
8
8
  import Logger from "../logger.js";
9
- import { areEquivalentCommunityAddresses, fetchAndValidateIpnsRecordFromGateway, hideClassPrivateProps, ipnsNameToIpnsOverPubsubTopic, isIpfsPath, isIpnsPath, isStringDomain, pubsubTopicToDhtKey, sleepUntilTimeoutOrAbort, interruptibleSleep, throwIfAbortSignalAborted, timestamp } from "../util.js";
9
+ import { areEquivalentCommunityAddresses, fetchAndValidateIpnsRecordFromGateway, hideClassPrivateProps, ipnsNameToIpnsOverPubsubTopic, isAbortError, isIpfsPath, isIpnsPath, isStringDomain, pubsubTopicToDhtKey, sleepUntilTimeoutOrAbort, interruptibleSleep, throwIfAbortSignalAborted, timestamp } from "../util.js";
10
10
  import pLimit from "p-limit";
11
11
  import { parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, parseJsonWithPKCErrorIfFails } from "../schema/schema-util.js";
12
12
  import { verifyCommunity } from "../signer/index.js";
@@ -69,6 +69,11 @@ export class CommunityClientsManager extends PKCClientsManager {
69
69
  // first updateOnce resolves against the network anyway — no subscription exists yet, so the
70
70
  // cache gate is off). Feeds the FORCED_IPNS_NETWORK_REVALIDATION_MIN_INTERVAL_MS floor.
71
71
  this._lastForcedIpnsNetworkRevalidationAtMs = 0;
72
+ // Set while a background resolve is outstanding. A resolve has no timeout of its own, only the community's
73
+ // stop signal, so without this a reachable-but-slow resolver would collect one attempt per fetch cycle:
74
+ // the floor below is measured from when a verdict was recorded, and an attempt that has not answered yet
75
+ // has recorded nothing. Issue #353.
76
+ this._nameResolveInFlight = false;
72
77
  this._community = community;
73
78
  this._initPKCRpcClients();
74
79
  hideClassPrivateProps(this);
@@ -135,6 +140,15 @@ export class CommunityClientsManager extends PKCClientsManager {
135
140
  }
136
141
  postResolveNameResolverSuccess(opts) {
137
142
  super.postResolveNameResolverSuccess(opts);
143
+ // Only a COMMUNITY name with no record is an error here, the same way preResolveNameResolver above
144
+ // only narrates a community name. Author names are resolved on this manager too, by the page sweep,
145
+ // and for an author "the resolvers answered and there is no record" is an answer rather than a
146
+ // failure: it is what makes author.nameResolved false instead of undefined. Left ungated, that
147
+ // verdict arrived as a throw and was read as "we never found out", so a page author could never be
148
+ // classified at all while every other path classified them. See docs/protocol/names-and-addresses.md
149
+ // and issue #353.
150
+ if (opts.resolveType !== "community")
151
+ return;
138
152
  if (!opts.resolvedValue && this._community.state === "updating") {
139
153
  throw new PKCError("ERR_DOMAIN_TXT_RECORD_NOT_FOUND", {
140
154
  name: opts.address
@@ -245,18 +259,24 @@ export class CommunityClientsManager extends PKCClientsManager {
245
259
  // addressing the minter, claim recovers the anchor) invalidates any nameResolved verdict
246
260
  // computed against the previous identity — the triggers below re-classify against the
247
261
  // claimed one.
248
- if (publicKeyBeforeApply && this._community.publicKey !== publicKeyBeforeApply)
262
+ if (publicKeyBeforeApply && this._community.publicKey !== publicKeyBeforeApply) {
249
263
  this._community.nameResolved = undefined;
250
- // If we just discovered a name, trigger background resolution now (don't wait for next loop)
264
+ // The retry floors were earned against the previous identity and must not pace the first
265
+ // classification of the new one.
266
+ this._nameResolvedFalseAtMs = undefined;
267
+ this._nameResolveFailedAtMs = undefined;
268
+ }
269
+ // If we just discovered a name, trigger background resolution now (don't wait for next loop).
270
+ // `!== true` rather than "not yet a boolean": a `false` verdict is provisional and must be
271
+ // re-earned, since the states that produce one are what a domain looks like while its owner is
272
+ // still configuring it. The retry rate is bounded inside _resolveNameInBackground. Issue #353.
251
273
  if (!isStringDomain(this._community.address) &&
252
274
  this._community.name &&
253
275
  this._community.publicKey &&
254
- typeof this._community.nameResolved !== "boolean") {
276
+ this._community.nameResolved !== true) {
255
277
  this._resolveNameInBackground(this._community.name);
256
278
  }
257
- else if (isStringDomain(this._community.address) &&
258
- this._community.publicKey &&
259
- typeof this._community.nameResolved !== "boolean") {
279
+ else if (isStringDomain(this._community.address) && this._community.publicKey && this._community.nameResolved !== true) {
260
280
  // A domain-addressed community classifies its name right after the record lands: a
261
281
  // pre-load domain-vs-publicKey mismatch is deferred inside _resolveNameInBackground,
262
282
  // because only the loaded chain can tell a key migration from a delegated community
@@ -611,7 +631,38 @@ export class CommunityClientsManager extends PKCClientsManager {
611
631
  }
612
632
  _resolveNameInBackground(name) {
613
633
  const log = Logger("pkc-js:community-client-manager:_resolveNameInBackground");
634
+ // Everything that bounds the retry lives here rather than at the gates, because every caller funnels
635
+ // through here and the domain-addressed pinned-name path below calls this on every fetch cycle with no
636
+ // gate of its own. That cycle is one second on the kubo-RPC path, and a negative resolve persists
637
+ // nothing, so an unbounded retry reaches the network once per cycle forever. Issue #353.
638
+ //
639
+ // One attempt at a time. A resolve has no timeout of its own, only the community's stop signal, and
640
+ // the floor below cannot help while an attempt is outstanding: it measures from when a verdict was
641
+ // recorded, and an attempt that has not answered yet has recorded nothing.
642
+ if (this._nameResolveInFlight)
643
+ return;
644
+ // No resolver here can handle this TLD, so we can never find out. Skipped rather than attempted: the
645
+ // attempt throws ERR_NO_RESOLVER_FOR_NAME before reaching any resolver and records nothing, leaving
646
+ // the verdict at the undefined it already holds, which is also the marker that lets a later pass
647
+ // retry. So it would re-run, and re-log, every cycle without ever being able to learn anything.
648
+ if (!this.canResolveName(name))
649
+ return;
650
+ // An attempt that learned nothing paces the next one. Shorter than the `false` window below, since
651
+ // nothing was learned and the outage may already be over, but not once per cycle.
652
+ if (typeof this._nameResolveFailedAtMs === "number" &&
653
+ Date.now() - this._nameResolveFailedAtMs < this._pkc._nameResolveFailedRetryFloorMs)
654
+ return;
655
+ // A `false` is provisional and re-earned, but not faster than once per window.
656
+ if (this._community.nameResolved === false &&
657
+ typeof this._nameResolvedFalseAtMs === "number" &&
658
+ Date.now() - this._nameResolvedFalseAtMs < this._pkc._nameResolvedFalseTtlMs)
659
+ return;
614
660
  const setNameResolvedAndEmitUpdate = (newNameResolved) => {
661
+ // Stamped even when the verdict is unchanged, so a repeated `false` still restarts the floor
662
+ // instead of re-resolving every cycle once the first stamp goes stale.
663
+ this._nameResolvedFalseAtMs = newNameResolved === false ? Date.now() : undefined;
664
+ // An answer was obtained, so whatever outage the floor above was pacing is over.
665
+ this._nameResolveFailedAtMs = undefined;
615
666
  if (this._community.nameResolved === newNameResolved)
616
667
  return;
617
668
  this._community.nameResolved = newNameResolved;
@@ -621,6 +672,7 @@ export class CommunityClientsManager extends PKCClientsManager {
621
672
  this._community.emit("update", this._community);
622
673
  }
623
674
  };
675
+ this._nameResolveInFlight = true;
624
676
  this._resolveCommunityNameWithoutUpdatingState({
625
677
  communityName: name,
626
678
  abortSignal: this._community._getStopAbortSignal(),
@@ -654,14 +706,29 @@ export class CommunityClientsManager extends PKCClientsManager {
654
706
  }
655
707
  })
656
708
  .catch((e) => {
657
- if (e instanceof PKCError && (e.code === "ERR_NO_RESOLVER_FOR_NAME" || e.code === "ERR_DOMAIN_TXT_RECORD_NOT_FOUND")) {
658
- // Definitive: either no resolver can handle this TLD, or the domain has no community TXT record.
709
+ if (e instanceof PKCError &&
710
+ (e.code === "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" || e.code === "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS")) {
711
+ // The resolvers answered and the answer contradicts the claim: the domain has no
712
+ // community TXT record, or it has one that is not a key. Definitive. Issue #353.
659
713
  setNameResolvedAndEmitUpdate(false);
660
714
  }
715
+ else if (isAbortError(e)) {
716
+ // The community's stop signal ended the attempt. That says nothing about the resolvers,
717
+ // so it is not recorded: this manager outlives stop() on the caller's instance, and a stamp
718
+ // here would pace the next update()'s classification for an attempt that never asked.
719
+ // The author side refuses to record an abort for the same reason. Issue #353.
720
+ return;
721
+ }
661
722
  else {
662
723
  log.trace("Background name resolution failed for", name, e);
663
- // Transient failure -- leave nameResolved as undefined
724
+ // We never got an answer (every resolver errored, or the resolve timed out). nameResolved
725
+ // stays undefined: "we could not find out" is not "false". Stamped so the next fetch
726
+ // cycle does not immediately ask again, since undefined is also the retry marker (#353).
727
+ this._nameResolveFailedAtMs = Date.now();
664
728
  }
729
+ })
730
+ .finally(() => {
731
+ this._nameResolveInFlight = false;
665
732
  });
666
733
  }
667
734
  _resolvePageAuthorNamesInBackground() {
@@ -676,9 +743,12 @@ export class CommunityClientsManager extends PKCClientsManager {
676
743
  continue;
677
744
  for (const comment of page.comments) {
678
745
  const domain = getAuthorNameFromRuntime(comment.author);
679
- if (domain && typeof comment.author.nameResolved !== "boolean") {
746
+ // Not gated on the comment's own field: both verdicts lapse out of nameResolvedCache, and a
747
+ // page object that was never requeued would keep displaying the lapsed one for as long as it
748
+ // lives. The cache decides, and resolveAuthorNamesInBackground skips every entry it still
749
+ // holds, so this costs nothing while a verdict stands. Issue #353.
750
+ if (domain)
680
751
  authors.push({ authorName: domain, signaturePublicKey: comment.signature.publicKey });
681
- }
682
752
  }
683
753
  }
684
754
  if (authors.length === 0)
@@ -732,8 +802,11 @@ export class CommunityClientsManager extends PKCClientsManager {
732
802
  cache: { maxAge: 3600 }
733
803
  });
734
804
  }
735
- // When loaded by raw IPNS key, verify the record's name claim in background (once)
736
- if (!isDomain && this._community.name && this._community.publicKey && typeof this._community.nameResolved !== "boolean") {
805
+ // When loaded by raw IPNS key, verify the record's name claim in background. `!== true` and not
806
+ // "not yet a boolean": a `false` is provisional and re-earned. Everything that bounds the retry
807
+ // (the floor, the in-flight guard, the unsupported-TLD skip) lives in the callee, because the
808
+ // pinned-name branch above calls it with no gate of its own (#353).
809
+ if (!isDomain && this._community.name && this._community.publicKey && this._community.nameResolved !== true) {
737
810
  this._resolveNameInBackground(this._community.name);
738
811
  }
739
812
  if (!ipnsName)