@pkcprotocol/pkc-js 0.0.125 → 0.0.126

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 (99) hide show
  1. package/dist/browser/community/community-client-manager.js +30 -9
  2. package/dist/browser/community/community-client-manager.js.map +1 -1
  3. package/dist/browser/community/community-wire.d.ts +6 -0
  4. package/dist/browser/community/community-wire.js +22 -1
  5. package/dist/browser/community/community-wire.js.map +1 -1
  6. package/dist/browser/community/remote-community.d.ts +7 -1
  7. package/dist/browser/community/remote-community.js +87 -11
  8. package/dist/browser/community/remote-community.js.map +1 -1
  9. package/dist/browser/community/rpc-remote-community.d.ts +1 -0
  10. package/dist/browser/community/rpc-remote-community.js +41 -6
  11. package/dist/browser/community/rpc-remote-community.js.map +1 -1
  12. package/dist/browser/community/schema.js +7 -1
  13. package/dist/browser/community/schema.js.map +1 -1
  14. package/dist/browser/errors.d.ts +1 -0
  15. package/dist/browser/errors.js +1 -0
  16. package/dist/browser/errors.js.map +1 -1
  17. package/dist/browser/generated-version.d.ts +1 -1
  18. package/dist/browser/generated-version.js +1 -1
  19. package/dist/browser/pkc/tracked-instance-registry-util.d.ts +1 -0
  20. package/dist/browser/pkc/tracked-instance-registry-util.js +34 -2
  21. package/dist/browser/pkc/tracked-instance-registry-util.js.map +1 -1
  22. package/dist/browser/pkc/tracked-instance-registry.d.ts +1 -0
  23. package/dist/browser/pkc/tracked-instance-registry.js +15 -0
  24. package/dist/browser/pkc/tracked-instance-registry.js.map +1 -1
  25. package/dist/browser/pkc-error.d.ts +1 -1
  26. package/dist/browser/publications/comment/comment-client-manager.d.ts +1 -0
  27. package/dist/browser/publications/comment/comment-client-manager.js +24 -4
  28. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
  29. package/dist/browser/publications/comment/comment.js +6 -2
  30. package/dist/browser/publications/comment/comment.js.map +1 -1
  31. package/dist/browser/publications/publication-client-manager.d.ts +4 -1
  32. package/dist/browser/publications/publication-client-manager.js +51 -7
  33. package/dist/browser/publications/publication-client-manager.js.map +1 -1
  34. package/dist/browser/publications/publication.js +15 -1
  35. package/dist/browser/publications/publication.js.map +1 -1
  36. package/dist/browser/runtime/node/community/local-community/comment-updates.js +2 -1
  37. package/dist/browser/runtime/node/community/local-community/comment-updates.js.map +1 -1
  38. package/dist/browser/test/test-util.d.ts +1 -0
  39. package/dist/browser/test/test-util.js +6 -2
  40. package/dist/browser/test/test-util.js.map +1 -1
  41. package/dist/browser/util.js +6 -1
  42. package/dist/browser/util.js.map +1 -1
  43. package/dist/bundled/bundle-manifest.json +42 -42
  44. package/dist/bundled/challenges.js +1 -1
  45. package/dist/bundled/chunks/{helia-for-pkc-DXygdFt-.js → helia-for-pkc-vQZvQcs_.js} +2 -2
  46. package/dist/bundled/chunks/{local-community-D4I0gLqX.js → local-community-51NzNBUS.js} +4 -4
  47. package/dist/bundled/chunks/{local-community-Bbqx5IaD.js → local-community-dcM1R3k5.js} +1 -1
  48. package/dist/bundled/chunks/{node-oqffR7Bn.js → node-agDtcKUp.js} +69 -16
  49. package/dist/bundled/chunks/{page-sort-scoring-CK4vshII.js → page-sort-scoring-BSBLegpC.js} +1 -1
  50. package/dist/bundled/chunks/{rpc-local-community-UpO9cs7k.js → rpc-local-community-DOcUqswi.js} +332 -239
  51. package/dist/bundled/chunks/{util-D3vx4Na0.js → util-DNYbha6W.js} +1 -1
  52. package/dist/bundled/chunks/{util-nmnnrzbz.js → util-PGPkG-gU.js} +33 -6
  53. package/dist/bundled/chunks/{validate-package-factories-DkJmLpRe.js → validate-package-factories-2U8SCIxZ.js} +2 -2
  54. package/dist/bundled/index.js +1 -1
  55. package/dist/bundled/page-sorts.js +1 -1
  56. package/dist/bundled/rpc/src/index.js +4 -4
  57. package/dist/node/community/community-client-manager.js +30 -9
  58. package/dist/node/community/community-client-manager.js.map +1 -1
  59. package/dist/node/community/community-wire.d.ts +6 -0
  60. package/dist/node/community/community-wire.js +22 -1
  61. package/dist/node/community/community-wire.js.map +1 -1
  62. package/dist/node/community/remote-community.d.ts +7 -1
  63. package/dist/node/community/remote-community.js +87 -11
  64. package/dist/node/community/remote-community.js.map +1 -1
  65. package/dist/node/community/rpc-remote-community.d.ts +1 -0
  66. package/dist/node/community/rpc-remote-community.js +41 -6
  67. package/dist/node/community/rpc-remote-community.js.map +1 -1
  68. package/dist/node/community/schema.js +7 -1
  69. package/dist/node/community/schema.js.map +1 -1
  70. package/dist/node/errors.d.ts +1 -0
  71. package/dist/node/errors.js +1 -0
  72. package/dist/node/errors.js.map +1 -1
  73. package/dist/node/generated-version.d.ts +1 -1
  74. package/dist/node/generated-version.js +1 -1
  75. package/dist/node/pkc/tracked-instance-registry-util.d.ts +1 -0
  76. package/dist/node/pkc/tracked-instance-registry-util.js +34 -2
  77. package/dist/node/pkc/tracked-instance-registry-util.js.map +1 -1
  78. package/dist/node/pkc/tracked-instance-registry.d.ts +1 -0
  79. package/dist/node/pkc/tracked-instance-registry.js +15 -0
  80. package/dist/node/pkc/tracked-instance-registry.js.map +1 -1
  81. package/dist/node/pkc-error.d.ts +1 -1
  82. package/dist/node/publications/comment/comment-client-manager.d.ts +1 -0
  83. package/dist/node/publications/comment/comment-client-manager.js +24 -4
  84. package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
  85. package/dist/node/publications/comment/comment.js +6 -2
  86. package/dist/node/publications/comment/comment.js.map +1 -1
  87. package/dist/node/publications/publication-client-manager.d.ts +4 -1
  88. package/dist/node/publications/publication-client-manager.js +51 -7
  89. package/dist/node/publications/publication-client-manager.js.map +1 -1
  90. package/dist/node/publications/publication.js +15 -1
  91. package/dist/node/publications/publication.js.map +1 -1
  92. package/dist/node/runtime/node/community/local-community/comment-updates.js +2 -1
  93. package/dist/node/runtime/node/community/local-community/comment-updates.js.map +1 -1
  94. package/dist/node/test/test-util.d.ts +1 -0
  95. package/dist/node/test/test-util.js +6 -2
  96. package/dist/node/test/test-util.js.map +1 -1
  97. package/dist/node/util.js +6 -1
  98. package/dist/node/util.js.map +1 -1
  99. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { B as pubsubTopicToDhtKeyCid, Ir as PKCError } from "./util-nmnnrzbz.js";
1
+ import { B as pubsubTopicToDhtKeyCid, Lr as PKCError } from "./util-PGPkG-gU.js";
2
2
  import { ipnsSelector } from "ipns/selector";
3
3
  import { ipnsValidator } from "ipns/validator";
4
4
  import { unmarshalIPNSRecord } from "ipns";
@@ -7042,6 +7042,7 @@ var messages;
7042
7042
  messages["ERR_SIGNATURE_HAS_NO_PUBLIC_KEY"] = "Signature of publication has no public key";
7043
7043
  messages["ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID"] = "The author edit of comment (commentUpdate.edit) has an invalid signature";
7044
7044
  messages["ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED"] = "The community record address does not correspond to the requested community. requestedCommunity.address !== providedCommunity.address";
7045
+ messages["ERR_COMMUNITY_RECORD_NAME_DOES_NOT_MATCH_REQUESTED_NAME"] = "The community record does not claim the name it was loaded by: it has no name, or a different one. The record was refused and the last record that claimed the name is kept. Retriable: a later record that claims the name again is accepted";
7045
7046
  messages["ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY"] = "The community name resolves to a different public key than the one provided. The community may have migrated to a new key.";
7046
7047
  messages["ERR_AUTHOR_NOT_MATCHING_SIGNATURE"] = "comment.author.address doesn't match comment.signature.publicKey";
7047
7048
  messages["ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN"] = "author.name must be a domain name (e.g. 'example.bso')";
@@ -16442,7 +16443,9 @@ const CommunityIpfsReservedFields = r$2([
16442
16443
  "started",
16443
16444
  "exports",
16444
16445
  "abortSignal",
16445
- "_pendingWarmStartKeyMigration"
16446
+ "_pendingWarmStartKeyMigration",
16447
+ "_lastRefusedRecordUpdatedAt",
16448
+ "_nameToResolveBeforeFirstRecord"
16446
16449
  ], t$3(CommunityIpfsSchema.shape));
16447
16450
  //#endregion
16448
16451
  //#region dist/node/publications/comment-moderation/schema.js
@@ -16522,7 +16525,7 @@ const CommunityEditPublicationPubsubReservedFields = r$2([
16522
16525
  ], t$3(CommunityEditPubsubMessagePublicationSchema.shape));
16523
16526
  //#endregion
16524
16527
  //#region dist/node/generated-version.js
16525
- const version = "0.0.125";
16528
+ const version = "0.0.126";
16526
16529
  //#endregion
16527
16530
  //#region dist/node/version.js
16528
16531
  const protocolVersion = ProtocolVersionSchema.parse("1.0.0");
@@ -17305,8 +17308,23 @@ function findCommentInRegistry(registry, lookup) {
17305
17308
  function listRegistryValues(registry) {
17306
17309
  return registry.values();
17307
17310
  }
17311
+ function withOnlyProvenUpdatingName(community) {
17312
+ const loadedByDomain = isStringDomain(community.address) ? community.address : void 0;
17313
+ if (!loadedByDomain || !community.name || areEquivalentNames(community.name, loadedByDomain)) return community;
17314
+ return {
17315
+ name: void 0,
17316
+ publicKey: community.publicKey,
17317
+ signer: community.signer
17318
+ };
17319
+ }
17320
+ function syncUpdatingCommunityRegistryEntry(pkc, community) {
17321
+ return pkc._updatingCommunities.track({
17322
+ value: community,
17323
+ aliases: persistAliases(community, pkc._updatingCommunities, getCommunityRegistryAliases(withOnlyProvenUpdatingName(community)))
17324
+ });
17325
+ }
17308
17326
  function trackUpdatingCommunity(pkc, community) {
17309
- return syncCommunityRegistryEntry(pkc._updatingCommunities, community);
17327
+ return syncUpdatingCommunityRegistryEntry(pkc, community);
17310
17328
  }
17311
17329
  function trackStartedCommunity(pkc, community) {
17312
17330
  return syncCommunityRegistryEntry(pkc._startedCommunities, community);
@@ -17324,9 +17342,18 @@ function untrackUpdatingComment(pkc, comment) {
17324
17342
  pkc._updatingComments.untrack(comment);
17325
17343
  }
17326
17344
  function refreshTrackedCommunityAliases(pkc, community) {
17327
- if (pkc._updatingCommunities.has(community)) syncCommunityRegistryEntry(pkc._updatingCommunities, community);
17345
+ if (pkc._updatingCommunities.has(community)) syncUpdatingCommunityRegistryEntry(pkc, community);
17328
17346
  if (pkc._startedCommunities.has(community)) syncCommunityRegistryEntry(pkc._startedCommunities, community);
17329
17347
  }
17348
+ function forgetTrackedUpdatingCommunityName(pkc, community, name) {
17349
+ if (!pkc._updatingCommunities.has(community)) return;
17350
+ const staleAliases = isEthAliasDomain(name) ? getEquivalentCommunityAliases(name) : [name];
17351
+ const currentAliases = new Set(getCommunityRegistryAliases(withOnlyProvenUpdatingName(community)));
17352
+ const aliasesToForget = staleAliases.filter((alias) => !currentAliases.has(alias));
17353
+ const aliasHistory = getTrackedAliasHistory(community, pkc._updatingCommunities);
17354
+ aliasesToForget.forEach((alias) => aliasHistory.delete(alias));
17355
+ pkc._updatingCommunities.removeAliases(community, aliasesToForget);
17356
+ }
17330
17357
  function refreshTrackedCommentAliases(pkc, comment) {
17331
17358
  if (pkc._updatingComments.has(comment)) syncCommentRegistryEntry(pkc._updatingComments, comment);
17332
17359
  }
@@ -17763,7 +17790,7 @@ async function waitForUpdateInCommunityInstanceWithErrorAndTimeout(opts) {
17763
17790
  const errorListener = (err) => {
17764
17791
  errors.push(err);
17765
17792
  const isRetriable = "details" in err && err.details?.retriableError === true;
17766
- const failsFast = "code" in err && err.code === "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT";
17793
+ const failsFast = "code" in err && (err.code === "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT" || err.code === "ERR_COMMUNITY_RECORD_NAME_DOES_NOT_MATCH_REQUESTED_NAME");
17767
17794
  if (!isRetriable || failsFast) {
17768
17795
  criticalError = err;
17769
17796
  nonRetriableErrorResolve?.();
@@ -18310,4 +18337,4 @@ function hasTransientNetworkErrorCode(details) {
18310
18337
  return details.causes?.some(hasTransientNetworkErrorCode) ?? false;
18311
18338
  }
18312
18339
  //#endregion
18313
- export { retryKuboIpfsAddAndProvide as $, CommentEditSignedPropertyNames as $n, union as $r, CommentModerationChallengeRequestToEncryptSchema as $t, isIpnsPath as A, CommentChallengeRequestToEncryptSchema as An, require_retry as Ar, ChallengeAnswerMessageSignedPropertyNames as At, pubsubTopicToDhtKeyCid as B, CommentUpdateSchema as Bn, require_ms as Br, DecryptedChallengeSchema as Bt, hideClassPrivateProps as C, isStringDomain as Cn, r$2 as Cr, untrackStartedCommunity as Ct, isIpfsCid as D, VotePubsubReservedFields as Dn, t$7 as Dr, TimeoutError as Dt, isAbortError as E, VotePubsubMessagePublicationSchema as En, r$4 as Er, require_sha256 as Et, isLinkOfVideo as F, CommentSignedPropertyNames as Fn, FailedToFetchPageIpfsFromGatewaysError as Fr, ChallengeVerificationMessageSchema as Ft, removeMfsFilesSafely as G, GetPageParamSchema as Gn, custom as Gr, PKCUserOptionBaseSchema as Gt, rejectWhenAbortSignalFires as H, CommentUpdateTableRowSchema as Hn, _enum as Hr, NameResolveCacheOptionsSchema as Ht, isLinkValid as I, CommentUpdateChallengeReservedFieldNames as In, PKCError as Ir, ChallengeVerificationMessageSignedPropertyNames as It, removeUndefinedValuesRecursively as J, isReservedObjectKey as Jn, number as Jr, CommunityEditPublicationChallengeRequestToEncryptSchema as Jt, removeNullUndefinedEmptyObjectsValuesRecursively as K, ModQueuePageIpfsSchema as Kn, literal as Kr, PKCUserOptionsSchema as Kt, isRequestPubsubPublicationOfPost as L, CommentUpdateForChallengeVerificationSchema as Ln, messages as Lr, DecryptedChallengeAnswerSchema as Lt, isLinkOfAudio as M, CommentIpfsSchema as Mn, FailedToFetchCommentUpdateFromGatewaysError as Mr, ChallengeMessageSignedPropertyNames as Mt, isLinkOfImage as N, CommentPubsubMessageReservedFields as Nn, FailedToFetchCommunityFromGatewaysError as Nr, ChallengeRequestMessageSchema as Nt, isIpfsPath as O, VoteSignedPropertyNames as On, t$8 as Or, pTimeout as Ot, isLinkOfMedia as P, CommentPubsubMessageWithFlexibleAuthorRefinementSchema as Pn, FailedToFetchGenericIpfsFromGatewaysError as Pr, ChallengeRequestMessageSignedPropertyNames as Pt, retryKuboIpfsAdd as Q, CommentEditReservedFields as Qn, string as Qr, CreateCommunityEditPublicationOptionsWithRefinementSchema as Qt, isRequestPubsubPublicationOfReply as R, CommentUpdateForChallengeVerificationSignedPropertyNames as Rn, logger_default as Rr, DecryptedChallengeRequestPublicationSchema as Rt, hasTransientNetworkErrorCode as S, areEquivalentNames as Sn, t$4 as Sr, trackUpdatingCommunity as St, ipnsNameToIpnsOverPubsubTopic as T, VoteChallengeRequestToEncryptSchema as Tn, n$7 as Tr, untrackUpdatingCommunity as Tt, rejectWhenCommunityStopsOrAborts as U, CommentsTableRowSchema as Un, array as Ur, NameResolverSerializedSchema as Ut, raceAgainstAbort as V, CommentUpdateSignedPropertyNames as Vn, setErrorMap as Vr, DecryptedChallengeVerificationSchema as Vt, removeBlocksFromKuboNode as W, CreateCommentOptionsWithRefinementSchema as Wn, boolean as Wr, PKCParsedOptionsSchema as Wt, resolveWhenPredicateIsTrue as X, CommentEditPubsubMessagePublicationSchema as Xn, preprocess as Xr, CommunityEditPublicationSignedPropertyNames as Xt, replaceXWithY as Y, CommentEditChallengeRequestToEncryptSchema as Yn, object as Yr, CommunityEditPublicationPubsubReservedFields as Yt, retryKuboBlockPutPinAndProvidePubsubTopic as Z, CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema as Zn, record as Zr, CommunityEditPubsubMessagePublicationSchema as Zt, genToArray as _, ExportCommunityModLogsOptionsSchema as _n, n$3 as _r, refreshTrackedCommentAliases as _t, calculateStringSizeSameAsIpfsAddCidV0Sync as a, ChallengeFileFactorySchema as an, AuthorReservedFields as ar, timestamp as at, getIpnsRecordInLocalKuboNode as b, PubsubTopicSchema as bn, e as br, trackStartedCommunity as bt, contentContainsMarkdownImages as c, CommunityChallengeSettingSchema as cn, CidStringSchema as cr, withSortedKeysDeep as ct, deepMergeRuntimeFields as d, CommunityIpfsReservedFields as dn, CreateSignerSchema as dr, findStartedCommunity as dt, ZodError as ei, CommentModerationPubsubMessagePublicationSchema as en, CommentEditsTableRowSchema as er, shortifyAddress as et, derivePublicationFromChallengeRequest as f, CommunityIpfsSchema as fn, JsonSignatureSchema as fr, findUpdatingComment as ft, findMalformedUnicodeString as g, CreateRpcCommunityFunctionArgumentSchema as gn, t$1 as gr, listUpdatingCommunities as gt, fetchAndValidateIpnsRecordFromGateway as h, CreateRemoteCommunityFunctionArgumentSchema as hn, n as hr, listUpdatingComments as ht, calculateStringSizeSameAsIpfsAddCidV0 as i, CreateCommentModerationOptionsWithRefinementSchema as in, AuthorPubsubSchema as ir, throwIfAbortSignalAborted as it, isLinkOfAnimatedImage as j, CommentIpfsReservedFields as jn, FailedToFetchCommentIpfsFromGatewaysError as jr, ChallengeMessageSchema as jt, isIpns as k, VoteTablesRowSchema as kn, e$4 as kr, ChallengeAnswerMessageSchema as kt, contentContainsMarkdownVideos as l, CommunityEditOptionsSchema as ln, CommunityAddressSchema as lr, writeKuboFilesWithTimeout as lt, extractNetworkErrorDetails as m, CreateNewLocalCommunityUserOptionsSchema as mn, ProtocolVersionSchema as mr, listStartedCommunities as mt, binaryKeyToPubsubTopic as n, CommentModerationSignedPropertyNames as nn, AuthorAddressSchema as nr, sleepUntilTimeoutOrAbort as nt, calculateUnixFsDagSizeCidV0 as o, ChallengeFileSchema as on, ChallengeAnswersSchema as or, waitForUpdateInCommunityInstanceWithErrorAndTimeout as ot, doesDomainAddressHaveCapitalLetter as p, CommunitySignedPropertyNames as pn, PKCTimestampSchema as pr, findUpdatingCommunity as pt, removeNullUndefinedValues as q, PageIpfsSchema as qn, looseObject as qr, version_default as qt, calculateIpfsCidV0 as r, CommentModerationsTableRowSchema as rn, AuthorCommentIpfsReservedFields as rr, statMfsPathSafely as rt, contentContainsMarkdownAudio as s, CommunityAnchorSchema as sn, CidPathSchema as sr, withSortedKeys as st, areEquivalentCommunityAddresses as t, en_default as ti, CommentModerationReservedFields as tn, CreateCommentEditOptionsWithRefinementSchema as tr, shortifyCid as tt, createAbortError as u, CommunityExportRecordsSchema as un, CommunityAuthorChallengeReservedFieldNames as ur, findCommunityInRegistry as ut, getEquivalentCommunityAddresses as v, PageSortFileFactorySchema as vn, t$2 as vr, refreshTrackedCommunityAliases as vt, interruptibleSleep as w, CreateVoteUserOptionsWithRefinementSchema as wn, t$5 as wr, untrackUpdatingComment as wt, getPostUpdateTimestampRange as x, RpcRemoteCommunityUpdateEventResultSchema as xn, e$2 as xr, trackUpdatingComment as xt, getErrorCodeFromMessage as y, PageSortFileSchema as yn, t$3 as yr, syncCommunityRegistryEntry as yt, pubsubTopicToDhtKey as z, CommentUpdateReservedFields as zn, require_supports_color as zr, DecryptedChallengeRequestSchema as zt };
18340
+ export { retryKuboIpfsAddAndProvide as $, CommentEditReservedFields as $n, string as $r, CreateCommunityEditPublicationOptionsWithRefinementSchema as $t, isIpnsPath as A, VoteTablesRowSchema as An, e$4 as Ar, ChallengeAnswerMessageSchema as At, pubsubTopicToDhtKeyCid as B, CommentUpdateReservedFields as Bn, require_supports_color as Br, DecryptedChallengeRequestSchema as Bt, hideClassPrivateProps as C, areEquivalentNames as Cn, t$4 as Cr, trackUpdatingCommunity as Ct, isIpfsCid as D, VotePubsubMessagePublicationSchema as Dn, r$4 as Dr, require_sha256 as Dt, isAbortError as E, VoteChallengeRequestToEncryptSchema as En, n$7 as Er, untrackUpdatingCommunity as Et, isLinkOfVideo as F, CommentPubsubMessageWithFlexibleAuthorRefinementSchema as Fn, FailedToFetchGenericIpfsFromGatewaysError as Fr, ChallengeRequestMessageSignedPropertyNames as Ft, removeMfsFilesSafely as G, CreateCommentOptionsWithRefinementSchema as Gn, boolean as Gr, PKCParsedOptionsSchema as Gt, rejectWhenAbortSignalFires as H, CommentUpdateSignedPropertyNames as Hn, setErrorMap as Hr, DecryptedChallengeVerificationSchema as Ht, isLinkValid as I, CommentSignedPropertyNames as In, FailedToFetchPageIpfsFromGatewaysError as Ir, ChallengeVerificationMessageSchema as It, removeUndefinedValuesRecursively as J, PageIpfsSchema as Jn, looseObject as Jr, version_default as Jt, removeNullUndefinedEmptyObjectsValuesRecursively as K, GetPageParamSchema as Kn, custom as Kr, PKCUserOptionBaseSchema as Kt, isRequestPubsubPublicationOfPost as L, CommentUpdateChallengeReservedFieldNames as Ln, PKCError as Lr, ChallengeVerificationMessageSignedPropertyNames as Lt, isLinkOfAudio as M, CommentIpfsReservedFields as Mn, FailedToFetchCommentIpfsFromGatewaysError as Mr, ChallengeMessageSchema as Mt, isLinkOfImage as N, CommentIpfsSchema as Nn, FailedToFetchCommentUpdateFromGatewaysError as Nr, ChallengeMessageSignedPropertyNames as Nt, isIpfsPath as O, VotePubsubReservedFields as On, t$7 as Or, TimeoutError as Ot, isLinkOfMedia as P, CommentPubsubMessageReservedFields as Pn, FailedToFetchCommunityFromGatewaysError as Pr, ChallengeRequestMessageSchema as Pt, retryKuboIpfsAdd as Q, CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema as Qn, record as Qr, CommunityEditPubsubMessagePublicationSchema as Qt, isRequestPubsubPublicationOfReply as R, CommentUpdateForChallengeVerificationSchema as Rn, messages as Rr, DecryptedChallengeAnswerSchema as Rt, hasTransientNetworkErrorCode as S, RpcRemoteCommunityUpdateEventResultSchema as Sn, e$2 as Sr, trackUpdatingComment as St, ipnsNameToIpnsOverPubsubTopic as T, CreateVoteUserOptionsWithRefinementSchema as Tn, t$5 as Tr, untrackUpdatingComment as Tt, rejectWhenCommunityStopsOrAborts as U, CommentUpdateTableRowSchema as Un, _enum as Ur, NameResolveCacheOptionsSchema as Ut, raceAgainstAbort as V, CommentUpdateSchema as Vn, require_ms as Vr, DecryptedChallengeSchema as Vt, removeBlocksFromKuboNode as W, CommentsTableRowSchema as Wn, array as Wr, NameResolverSerializedSchema as Wt, resolveWhenPredicateIsTrue as X, CommentEditChallengeRequestToEncryptSchema as Xn, object as Xr, CommunityEditPublicationPubsubReservedFields as Xt, replaceXWithY as Y, isReservedObjectKey as Yn, number as Yr, CommunityEditPublicationChallengeRequestToEncryptSchema as Yt, retryKuboBlockPutPinAndProvidePubsubTopic as Z, CommentEditPubsubMessagePublicationSchema as Zn, preprocess as Zr, CommunityEditPublicationSignedPropertyNames as Zt, genToArray as _, CreateRpcCommunityFunctionArgumentSchema as _n, t$1 as _r, listUpdatingCommunities as _t, calculateStringSizeSameAsIpfsAddCidV0Sync as a, CreateCommentModerationOptionsWithRefinementSchema as an, AuthorPubsubSchema as ar, timestamp as at, getIpnsRecordInLocalKuboNode as b, PageSortFileSchema as bn, t$3 as br, syncCommunityRegistryEntry as bt, contentContainsMarkdownImages as c, CommunityAnchorSchema as cn, CidPathSchema as cr, withSortedKeysDeep as ct, deepMergeRuntimeFields as d, CommunityExportRecordsSchema as dn, CommunityAuthorChallengeReservedFieldNames as dr, findStartedCommunity as dt, union as ei, CommentModerationChallengeRequestToEncryptSchema as en, CommentEditSignedPropertyNames as er, shortifyAddress as et, derivePublicationFromChallengeRequest as f, CommunityIpfsReservedFields as fn, CreateSignerSchema as fr, findUpdatingComment as ft, findMalformedUnicodeString as g, CreateRemoteCommunityFunctionArgumentSchema as gn, n as gr, listUpdatingComments as gt, fetchAndValidateIpnsRecordFromGateway as h, CreateNewLocalCommunityUserOptionsSchema as hn, ProtocolVersionSchema as hr, listStartedCommunities as ht, calculateStringSizeSameAsIpfsAddCidV0 as i, CommentModerationsTableRowSchema as in, AuthorCommentIpfsReservedFields as ir, throwIfAbortSignalAborted as it, isLinkOfAnimatedImage as j, CommentChallengeRequestToEncryptSchema as jn, require_retry as jr, ChallengeAnswerMessageSignedPropertyNames as jt, isIpns as k, VoteSignedPropertyNames as kn, t$8 as kr, pTimeout as kt, contentContainsMarkdownVideos as l, CommunityChallengeSettingSchema as ln, CidStringSchema as lr, writeKuboFilesWithTimeout as lt, extractNetworkErrorDetails as m, CommunitySignedPropertyNames as mn, PKCTimestampSchema as mr, forgetTrackedUpdatingCommunityName as mt, binaryKeyToPubsubTopic as n, en_default as ni, CommentModerationReservedFields as nn, CreateCommentEditOptionsWithRefinementSchema as nr, sleepUntilTimeoutOrAbort as nt, calculateUnixFsDagSizeCidV0 as o, ChallengeFileFactorySchema as on, AuthorReservedFields as or, waitForUpdateInCommunityInstanceWithErrorAndTimeout as ot, doesDomainAddressHaveCapitalLetter as p, CommunityIpfsSchema as pn, JsonSignatureSchema as pr, findUpdatingCommunity as pt, removeNullUndefinedValues as q, ModQueuePageIpfsSchema as qn, literal as qr, PKCUserOptionsSchema as qt, calculateIpfsCidV0 as r, CommentModerationSignedPropertyNames as rn, AuthorAddressSchema as rr, statMfsPathSafely as rt, contentContainsMarkdownAudio as s, ChallengeFileSchema as sn, ChallengeAnswersSchema as sr, withSortedKeys as st, areEquivalentCommunityAddresses as t, ZodError as ti, CommentModerationPubsubMessagePublicationSchema as tn, CommentEditsTableRowSchema as tr, shortifyCid as tt, createAbortError as u, CommunityEditOptionsSchema as un, CommunityAddressSchema as ur, findCommunityInRegistry as ut, getEquivalentCommunityAddresses as v, ExportCommunityModLogsOptionsSchema as vn, n$3 as vr, refreshTrackedCommentAliases as vt, interruptibleSleep as w, isStringDomain as wn, r$2 as wr, untrackStartedCommunity as wt, getPostUpdateTimestampRange as x, PubsubTopicSchema as xn, e as xr, trackStartedCommunity as xt, getErrorCodeFromMessage as y, PageSortFileFactorySchema as yn, t$2 as yr, refreshTrackedCommunityAliases as yt, pubsubTopicToDhtKey as z, CommentUpdateForChallengeVerificationSignedPropertyNames as zn, logger_default as zr, DecryptedChallengeRequestPublicationSchema as zt };
@@ -1,5 +1,5 @@
1
- import { Ir as PKCError, an as ChallengeFileFactorySchema, on as ChallengeFileSchema, vn as PageSortFileFactorySchema } from "./util-nmnnrzbz.js";
2
- import { s as validatePageSortFile } from "./page-sort-scoring-CK4vshII.js";
1
+ import { Lr as PKCError, on as ChallengeFileFactorySchema, sn as ChallengeFileSchema, yn as PageSortFileFactorySchema } from "./util-PGPkG-gU.js";
2
+ import { s as validatePageSortFile } from "./page-sort-scoring-BSBLegpC.js";
3
3
  //#region dist/node/validate-package-factories.js
4
4
  function validateChallengeFileFactory(factory, { name }) {
5
5
  try {
@@ -1,2 +1,2 @@
1
- import { a as getShortCid, c as setNativeFunctions, i as getShortAddress, n as challenges, o as nativeFunctions, r as createAnchorIpnsRecord, s as pageSorts, t as PKC } from "./chunks/node-oqffR7Bn.js";
1
+ import { a as getShortCid, c as setNativeFunctions, i as getShortAddress, n as challenges, o as nativeFunctions, r as createAnchorIpnsRecord, s as pageSorts, t as PKC } from "./chunks/node-agDtcKUp.js";
2
2
  export { challenges, createAnchorIpnsRecord, PKC as default, getShortAddress, getShortCid, nativeFunctions, pageSorts, setNativeFunctions };
@@ -1,2 +1,2 @@
1
- import { n as validatePageSortFileFactory } from "./chunks/validate-package-factories-DkJmLpRe.js";
1
+ import { n as validatePageSortFileFactory } from "./chunks/validate-package-factories-2U8SCIxZ.js";
2
2
  export { validatePageSortFileFactory };
@@ -1,7 +1,7 @@
1
- import { $ as retryKuboIpfsAddAndProvide, C as hideClassPrivateProps, Ir as PKCError, Ot as pTimeout, Rr as logger_default, Y as replaceXWithY, _r as n, dt as findStartedCommunity, i as calculateStringSizeSameAsIpfsAddCidV0, yr as t } from "../../chunks/util-nmnnrzbz.js";
2
- import { S as parseRpcUnsubscribeParam, _ as parseRpcExportCommunityParam, b as parseRpcPublishChallengeAnswersParam, d as parseRpcCidParam, f as parseRpcCommentRepliesPageParam, g as parseRpcExportCommunityModLogsParam, h as parseRpcEditCommunityParam, l as parseRpcAuthorNameParam, m as parseRpcCommunityPageParam, p as parseRpcCommunityIdentifierParam, t as PKC, u as parseRpcCancelExportParam, v as parseRpcFetchCommunityListParam, x as parseRpcPublishCommunityListParam, y as parseRpcPublishAnchorRecordParam } from "../../chunks/node-oqffR7Bn.js";
3
- import { At as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Ct as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, E as buildPagesRuntimeFields, Et as parseJsonWithPKCErrorIfFails, H as pRetry, I as extractCrosspostRuntimeFields, Ir as stringify, Rn as verifyCommunityList, T as buildPageRuntimeFields, U as pLimit, et as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, in as require_lib, it as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, jt as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, kr as t$1, lt as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, pt as parseCommunityListSchemaWithPKCErrorIfItFails, qn as MAX_COMMUNITY_LIST_SIZE_BYTES, tt as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, ut as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, vt as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, yt as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-UpO9cs7k.js";
4
- import { t as LocalCommunity } from "../../chunks/local-community-D4I0gLqX.js";
1
+ import { $ as retryKuboIpfsAddAndProvide, C as hideClassPrivateProps, Lr as PKCError, Y as replaceXWithY, br as t, dt as findStartedCommunity, i as calculateStringSizeSameAsIpfsAddCidV0, kt as pTimeout, vr as n, zr as logger_default } from "../../chunks/util-PGPkG-gU.js";
2
+ import { S as parseRpcUnsubscribeParam, _ as parseRpcExportCommunityParam, b as parseRpcPublishChallengeAnswersParam, d as parseRpcCidParam, f as parseRpcCommentRepliesPageParam, g as parseRpcExportCommunityModLogsParam, h as parseRpcEditCommunityParam, l as parseRpcAuthorNameParam, m as parseRpcCommunityPageParam, p as parseRpcCommunityIdentifierParam, t as PKC, u as parseRpcCancelExportParam, v as parseRpcFetchCommunityListParam, x as parseRpcPublishCommunityListParam, y as parseRpcPublishAnchorRecordParam } from "../../chunks/node-agDtcKUp.js";
3
+ import { Ar as t$1, At as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Ct as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, E as buildPagesRuntimeFields, Et as parseJsonWithPKCErrorIfFails, H as pRetry, I as extractCrosspostRuntimeFields, Jn as MAX_COMMUNITY_LIST_SIZE_BYTES, Lr as stringify, T as buildPageRuntimeFields, U as pLimit, an as require_lib, et as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, it as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, jt as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, lt as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, pt as parseCommunityListSchemaWithPKCErrorIfItFails, tt as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, ut as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, vt as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, yt as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails, zn as verifyCommunityList } from "../../chunks/rpc-local-community-DOcUqswi.js";
4
+ import { t as LocalCommunity } from "../../chunks/local-community-51NzNBUS.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import path from "path";
7
7
  import assert from "assert";
@@ -672,6 +672,14 @@ export class CommunityClientsManager extends PKCClientsManager {
672
672
  this._community.emit("update", this._community);
673
673
  }
674
674
  };
675
+ // The answer describes `name`, so it applies only while `name` still identifies this community: the address when
676
+ // that is a domain, otherwise the name the loaded record claims. The record can drop or change the name while
677
+ // the resolve is out, and a name resolved before the first record (_nameToResolveBeforeFirstRecord) is claimed
678
+ // by nothing yet. A dropped name may now point at another community, which is not a key migration of this one.
679
+ const nameStillIdentifiesCommunity = () => {
680
+ const identifyingName = isStringDomain(this._community.address) ? this._community.address : this._community.name;
681
+ return Boolean(identifyingName && areEquivalentCommunityAddresses(identifyingName, name));
682
+ };
675
683
  this._nameResolveInFlight = true;
676
684
  this._resolveCommunityNameWithoutUpdatingState({
677
685
  communityName: name,
@@ -680,6 +688,10 @@ export class CommunityClientsManager extends PKCClientsManager {
680
688
  cache: { maxAge: 3600 }
681
689
  })
682
690
  .then((resolved) => {
691
+ if (!nameStillIdentifiesCommunity()) {
692
+ log.trace(`Ignoring the resolve of ${name}: it no longer identifies community ${this._community.address}`);
693
+ return;
694
+ }
683
695
  if (resolved && resolved !== this._community.publicKey) {
684
696
  const nonAnchorHops = this._nonAnchorHopsOfLoadedChain();
685
697
  if (nonAnchorHops?.includes(resolved)) {
@@ -710,7 +722,8 @@ export class CommunityClientsManager extends PKCClientsManager {
710
722
  (e.code === "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" || e.code === "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS")) {
711
723
  // The resolvers answered and the answer contradicts the claim: the domain has no
712
724
  // community TXT record, or it has one that is not a key. Definitive. Issue #353.
713
- setNameResolvedAndEmitUpdate(false);
725
+ if (nameStillIdentifiesCommunity())
726
+ setNameResolvedAndEmitUpdate(false);
714
727
  }
715
728
  else if (isAbortError(e)) {
716
729
  // The community's stop signal ended the attempt. That says nothing about the resolvers,
@@ -806,8 +819,11 @@ export class CommunityClientsManager extends PKCClientsManager {
806
819
  // "not yet a boolean": a `false` is provisional and re-earned. Everything that bounds the retry
807
820
  // (the floor, the in-flight guard, the unsupported-TLD skip) lives in the callee, because the
808
821
  // 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) {
810
- this._resolveNameInBackground(this._community.name);
822
+ // Before the first record, a name handed in by the loader (see _nameToResolveBeforeFirstRecord) is resolved
823
+ // alongside the fetch instead of after it.
824
+ const nameToVerify = this._community.name ?? (this._community.raw.communityIpfs ? undefined : this._community._nameToResolveBeforeFirstRecord);
825
+ if (!isDomain && nameToVerify && this._community.publicKey && this._community.nameResolved !== true) {
826
+ this._resolveNameInBackground(nameToVerify);
811
827
  }
812
828
  if (!ipnsName)
813
829
  throw Error("Failed to resolve community address to an IPNS name");
@@ -884,6 +900,12 @@ export class CommunityClientsManager extends PKCClientsManager {
884
900
  // Under the name and under the key: a publication created with only the key reads the community's
885
901
  // current name here to re-sign with it (issue #401), so the key's entry must not keep a record from
886
902
  // before the community got its name
903
+ const previousForKey = this._pkc._memCaches.communityForPublishing.get(identityPublicKey, { allowStale: true });
904
+ // A record that dropped or changed the name the key was cached under: the entry under the old name
905
+ // must not answer a publication addressed to it, which has to fetch and be refused instead
906
+ if (previousForKey?.name &&
907
+ (!communityForPublishing.name || !areEquivalentCommunityAddresses(previousForKey.name, communityForPublishing.name)))
908
+ this._pkc._memCaches.communityForPublishing.delete(previousForKey.name);
887
909
  this._pkc._memCaches.communityForPublishing.set(anchorIdentityAddress, communityForPublishing);
888
910
  if (anchorIdentityAddress !== identityPublicKey)
889
911
  this._pkc._memCaches.communityForPublishing.set(identityPublicKey, communityForPublishing);
@@ -1462,12 +1484,11 @@ export class CommunityClientsManager extends PKCClientsManager {
1462
1484
  // terminal (minter) key, and the anchor -> terminal binding is guaranteed by the
1463
1485
  // cryptographically-verified IPNS record chain (see docs/protocol/delegated-ipns.md).
1464
1486
  // Handles: {address: "12D3Koo..."} loads record with name: "plebbit.bso".
1465
- // NOT applied for domain addresses (Scenario C stays rejected — a domain load must match
1466
- // the record's name field, not merely its signature key).
1467
- const instanceAddressIsDomain = isStringDomain(communityInstanceAddress);
1468
- const signatureKeyMatchesTerminal = !instanceAddressIsDomain
1469
- ? this._areEquivalentCommunityAddresses(getPKCAddressFromPublicKeySync(communityJson.signature.publicKey), terminalIpnsName)
1470
- : false;
1487
+ // Also applied to domain addresses: whether the record still claims the name it was loaded
1488
+ // by is checked by each loader against the name IT asked for (findCommunityRecordNameMismatch),
1489
+ // because loaders by name and by key share this updating instance and a record that dropped
1490
+ // or changed its name is valid for a loader by key. This check is only about the key.
1491
+ const signatureKeyMatchesTerminal = this._areEquivalentCommunityAddresses(getPKCAddressFromPublicKeySync(communityJson.signature.publicKey), terminalIpnsName);
1471
1492
  if (!addressMatchesInstance && !addressMatchesPublicKey && !signatureKeyMatchesTerminal) {
1472
1493
  // Did the gateway supply us with a different community's ipns
1473
1494
  const error = new PKCError("ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED", {
@@ -1 +1 @@
1
- {"version":3,"file":"community-client-manager.js","sourceRoot":"","sources":["../../../src/community/community-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"community-client-manager.js","sourceRoot":"","sources":["../../../src/community/community-client-manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { CommunityIpfsType } from "./types.js";
2
+ import { PKCError } from "../pkc-error.js";
2
3
  type LooseCommunityIpfs = Partial<CommunityIpfsType> & {
3
4
  address?: string;
4
5
  publicKey?: string;
@@ -8,6 +9,11 @@ type LooseCommunityIpfs = Partial<CommunityIpfsType> & {
8
9
  export declare function omitRuntimeCommunityFields<Community extends LooseCommunityIpfs | undefined>(community: Community): Partial<CommunityIpfsType> & Record<string, unknown>;
9
10
  export declare function cleanWireCommunity(community?: LooseCommunityIpfs): Partial<CommunityIpfsType> | undefined;
10
11
  export declare function getCommunityNameFromWire(community?: LooseCommunityIpfs): string | undefined;
12
+ export declare function findCommunityRecordNameMismatch(opts: {
13
+ requestedName: string | undefined;
14
+ record: CommunityIpfsType;
15
+ communityPublicKey: string | undefined;
16
+ }): PKCError | undefined;
11
17
  export declare function getCommunityDomainFromWire(community?: LooseCommunityIpfs): string | undefined;
12
18
  export declare function buildRuntimeCommunity({ communityRecord, signaturePublicKey }: {
13
19
  communityRecord?: LooseCommunityIpfs;
@@ -1,6 +1,7 @@
1
1
  import { isEmpty, omit } from "remeda";
2
2
  import { getPKCAddressFromPublicKeySync } from "../signer/util.js";
3
- import { isStringDomain } from "../util.js";
3
+ import { areEquivalentCommunityAddresses, isStringDomain } from "../util.js";
4
+ import { PKCError } from "../pkc-error.js";
4
5
  const runtimeOnlyCommunityFields = ["address", "publicKey", "shortAddress", "nameResolved"];
5
6
  export function omitRuntimeCommunityFields(community) {
6
7
  if (!community)
@@ -22,6 +23,26 @@ export function getCommunityNameFromWire(community) {
22
23
  return community.address;
23
24
  return undefined;
24
25
  }
26
+ // A loader that asked for a community by name accepts only records that claim that name. The signature
27
+ // proves which key published a record, not which name the record claims, so a record without the name or
28
+ // with a different one is genuine but not the community the caller asked for: the owner dropped or
29
+ // renamed the name, or the name was re-pointed. Returns the error to emit, or undefined when the record
30
+ // claims the name or nothing was requested by name. Retriable, because a later record can claim the name
31
+ // again. See docs/protocol/names-and-addresses.md.
32
+ export function findCommunityRecordNameMismatch(opts) {
33
+ if (!opts.requestedName)
34
+ return undefined;
35
+ const recordName = getCommunityNameFromWire(opts.record);
36
+ if (recordName && areEquivalentCommunityAddresses(recordName, opts.requestedName))
37
+ return undefined;
38
+ return new PKCError("ERR_COMMUNITY_RECORD_NAME_DOES_NOT_MATCH_REQUESTED_NAME", {
39
+ requestedName: opts.requestedName,
40
+ recordName,
41
+ communityPublicKey: opts.communityPublicKey,
42
+ recordUpdatedAt: opts.record.updatedAt,
43
+ retriableError: true
44
+ });
45
+ }
25
46
  export function getCommunityDomainFromWire(community) {
26
47
  const name = getCommunityNameFromWire(community);
27
48
  return typeof name === "string" && isStringDomain(name) ? name : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"community-wire.js","sourceRoot":"","sources":["../../../src/community/community-wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AASrG,MAAM,UAAU,0BAA0B,CACtC,SAAoB;IAEpB,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAyD,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA8B;IAC7D,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,aAA2C,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA8B;IACnE,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACtE,6DAA6D;IAC7D,IAAI,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC;IAC1G,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAA8B;IACrE,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAClC,eAAe,EACf,kBAAkB,EAIrB;IACG,MAAM,SAAS,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACvD,OAAO;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChC,OAAO,EAAE,IAAI,IAAI,SAAS;QAC1B,SAAS;KACZ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"community-wire.js","sourceRoot":"","sources":["../../../src/community/community-wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,+BAA+B,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AASrG,MAAM,UAAU,0BAA0B,CACtC,SAAoB;IAEpB,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAyD,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA8B;IAC7D,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,aAA2C,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA8B;IACnE,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACtE,6DAA6D;IAC7D,IAAI,OAAO,SAAS,EAAE,OAAO,KAAK,QAAQ,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC;IAC1G,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,uGAAuG;AACvG,yGAAyG;AACzG,mGAAmG;AACnG,wGAAwG;AACxG,yGAAyG;AACzG,mDAAmD;AACnD,MAAM,UAAU,+BAA+B,CAAC,IAI/C;IACG,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAA4B,CAAC,CAAC;IAC/E,IAAI,UAAU,IAAI,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IACpG,OAAO,IAAI,QAAQ,CAAC,yDAAyD,EAAE;QAC3E,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU;QACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QACtC,cAAc,EAAE,IAAI;KACvB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAA8B;IACrE,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAClC,eAAe,EACf,kBAAkB,EAIrB;IACG,MAAM,SAAS,GAAG,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACvD,OAAO;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChC,OAAO,EAAE,IAAI,IAAI,SAAS;QAC1B,SAAS;KACZ,CAAC;AACN,CAAC"}
@@ -66,6 +66,8 @@ export declare class RemoteCommunity extends TypedEmitter<CommunityEvents> imple
66
66
  previousPublicKey: string;
67
67
  newPublicKey: string;
68
68
  };
69
+ protected _lastRefusedRecordUpdatedAt?: number;
70
+ _nameToResolveBeforeFirstRecord?: string;
69
71
  protected _updatingState: CommunityUpdatingState;
70
72
  constructor(pkc: PKC);
71
73
  _createStopAbortController(): AbortController;
@@ -110,11 +112,15 @@ export declare class RemoteCommunity extends TypedEmitter<CommunityEvents> imple
110
112
  protected _setStartedStateNoEmission(newState: CommunityStartedState): void;
111
113
  _setStartedStateWithEmission(newState: CommunityStartedState): void;
112
114
  _isRetriableErrorWhenLoading(err: PKCError | Error): boolean;
115
+ protected _requestedName(): string | undefined;
116
+ protected _findRecordNameMismatch(record: CommunityIpfsType): PKCError | undefined;
117
+ protected _refuseRecordWithMismatchedName(error: PKCError, record: CommunityIpfsType): void;
113
118
  _setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible(): void;
114
119
  protected _adoptMirroredNameResolved(source: {
115
120
  name?: string;
121
+ address?: string;
116
122
  nameResolved?: boolean;
117
- }, nameResolvedBeforeMirror: boolean | undefined): void;
123
+ }, nameResolvedBeforeMirror: boolean | undefined, nameBeforeMirror: string | undefined): void;
118
124
  private _initCommunityInstanceWithListeners;
119
125
  private fetchLatestCommunityOrSubscribeToEvent;
120
126
  private _announcePendingWarmStartKeyMigrationIfAny;