@pkcprotocol/pkc-js 0.0.118 → 0.0.120
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.
- package/README.md +3 -2
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +1 -0
- package/dist/browser/clients/rpc-client/schema.d.ts +1 -0
- package/dist/browser/community/community-client-manager.js +8 -2
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/community/schema.d.ts +15 -0
- package/dist/browser/community/schema.js +2 -1
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/errors.d.ts +2 -0
- package/dist/browser/errors.js +2 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/pages/page-sort-options.d.ts +1 -0
- package/dist/browser/pages/page-sort-options.js +7 -6
- package/dist/browser/pages/page-sort-options.js.map +1 -1
- package/dist/browser/pages/page-sort-scoring.d.ts +5 -1
- package/dist/browser/pages/page-sort-scoring.js +23 -13
- package/dist/browser/pages/page-sort-scoring.js.map +1 -1
- package/dist/browser/pages/types.d.ts +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/publications/community-edit/schema.d.ts +4 -0
- package/dist/browser/publications/publication.d.ts +2 -0
- package/dist/browser/publications/publication.js +24 -1
- package/dist/browser/publications/publication.js.map +1 -1
- package/dist/browser/pubsub-messages/schema.d.ts +2 -0
- package/dist/browser/rpc/src/index.d.ts +4 -0
- package/dist/browser/rpc/src/index.js +74 -19
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/runtime/node/community/db-handler.d.ts +2 -2
- package/dist/browser/runtime/node/community/db-handler.js +42 -58
- package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/editing.d.ts +1 -0
- package/dist/browser/runtime/node/community/local-community/editing.js +25 -4
- package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +7 -4
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/lifecycle.js +17 -4
- package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-validation.js +4 -0
- package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.d.ts +4 -1
- package/dist/browser/runtime/node/community/local-community.js +12 -1
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/runtime/node/community/page-generator.d.ts +0 -1
- package/dist/browser/runtime/node/community/page-generator.js.map +1 -1
- package/dist/browser/runtime/node/community/page-sorts/index.js +22 -4
- package/dist/browser/runtime/node/community/page-sorts/index.js.map +1 -1
- package/dist/browser/runtime/node/util.d.ts +4 -1
- package/dist/browser/runtime/node/util.js +41 -24
- package/dist/browser/runtime/node/util.js.map +1 -1
- package/dist/browser/schema/schema-util.d.ts +9 -0
- package/dist/browser/test/test-util.d.ts +4 -0
- package/dist/bundled/bundle-manifest.json +46 -46
- package/dist/bundled/challenges.js +1 -1
- package/dist/bundled/chunks/{helia-for-pkc-DMzV8Gsa.js → helia-for-pkc-Dk9JTeUn.js} +33 -33
- package/dist/bundled/chunks/{local-community-DvEh9Nte.js → local-community-BbJyIuOc.js} +118 -101
- package/dist/bundled/chunks/{local-community-YoJAmva8.js → local-community-BkZDlh4z.js} +1 -1
- package/dist/bundled/chunks/{node-CH9-YjYa.js → node-CsHuIZmP.js} +21 -5
- package/dist/bundled/chunks/{page-sort-scoring-C1XYRQ1w.js → page-sort-scoring-B2iu-tyC.js} +11 -7
- package/dist/bundled/chunks/{rpc-local-community-DqKbZLIy.js → rpc-local-community-DMDs0XGh.js} +60 -27
- package/dist/bundled/chunks/{util-DEmcezee.js → util-CXxGmK2P.js} +5 -2
- package/dist/bundled/chunks/{util-CpoO437x.js → util-_DJ6MgmW.js} +1 -1
- package/dist/bundled/chunks/{validate-package-factories-C9A4AtCN.js → validate-package-factories-BpJjVrRb.js} +2 -2
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/page-sorts.js +1 -1
- package/dist/bundled/rpc/src/index.js +56 -19
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +1 -0
- package/dist/node/clients/rpc-client/schema.d.ts +1 -0
- package/dist/node/community/community-client-manager.js +8 -2
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/community/schema.d.ts +15 -0
- package/dist/node/community/schema.js +2 -1
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/errors.d.ts +2 -0
- package/dist/node/errors.js +2 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/pages/page-sort-options.d.ts +1 -0
- package/dist/node/pages/page-sort-options.js +7 -6
- package/dist/node/pages/page-sort-options.js.map +1 -1
- package/dist/node/pages/page-sort-scoring.d.ts +5 -1
- package/dist/node/pages/page-sort-scoring.js +23 -13
- package/dist/node/pages/page-sort-scoring.js.map +1 -1
- package/dist/node/pages/types.d.ts +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/publications/community-edit/schema.d.ts +4 -0
- package/dist/node/publications/publication.d.ts +2 -0
- package/dist/node/publications/publication.js +24 -1
- package/dist/node/publications/publication.js.map +1 -1
- package/dist/node/pubsub-messages/schema.d.ts +2 -0
- package/dist/node/rpc/src/index.d.ts +4 -0
- package/dist/node/rpc/src/index.js +74 -19
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/runtime/node/community/db-handler.d.ts +2 -2
- package/dist/node/runtime/node/community/db-handler.js +42 -58
- package/dist/node/runtime/node/community/db-handler.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/editing.d.ts +1 -0
- package/dist/node/runtime/node/community/local-community/editing.js +25 -4
- package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js +7 -4
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/lifecycle.js +17 -4
- package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-validation.js +4 -0
- package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.d.ts +4 -1
- package/dist/node/runtime/node/community/local-community.js +12 -1
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/runtime/node/community/page-generator.d.ts +0 -1
- package/dist/node/runtime/node/community/page-generator.js.map +1 -1
- package/dist/node/runtime/node/community/page-sorts/index.js +22 -4
- package/dist/node/runtime/node/community/page-sorts/index.js.map +1 -1
- package/dist/node/runtime/node/util.d.ts +4 -1
- package/dist/node/runtime/node/util.js +41 -24
- package/dist/node/runtime/node/util.js.map +1 -1
- package/dist/node/schema/schema-util.d.ts +9 -0
- package/dist/node/test/test-util.d.ts +4 -0
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import type { PageSortScope } from "../community/types.js";
|
|
|
3
3
|
export declare const MAX_AGE_UNIT_SECONDS: Record<string, number>;
|
|
4
4
|
export declare function parseMaxAgeToSeconds(raw: string): number | undefined;
|
|
5
5
|
export declare const PAGE_SORT_EXCLUSION_OPTION_NAMES: readonly PageSortExclusionOptionName[];
|
|
6
|
+
export declare const REMOVED_PAGE_SORT_OPTION_NAMES: readonly string[];
|
|
6
7
|
export declare const RESERVED_PAGE_SORT_OPTION_NAMES: readonly string[];
|
|
7
8
|
export declare const DEFAULT_RESERVED_OPTIONS: Record<PageSortScope, Record<PageSortExclusionOptionName | "pinnedFirst", "true" | "false">>;
|
|
8
9
|
export declare function parseBooleanOption(raw: string | undefined): boolean | undefined;
|
|
@@ -27,9 +27,12 @@ export const PAGE_SORT_EXCLUSION_OPTION_NAMES = Object.freeze([
|
|
|
27
27
|
"excludeRemovedComments",
|
|
28
28
|
"excludeDeletedComments",
|
|
29
29
|
"excludeCommentPendingApproval",
|
|
30
|
-
"excludeCommentWithApprovedFalse"
|
|
31
|
-
"excludeCommentsWithDifferentCommunityAddress"
|
|
30
|
+
"excludeCommentWithApprovedFalse"
|
|
32
31
|
]);
|
|
32
|
+
// Reserved options pkc-js no longer reads. A value still stored in settings.pages is dropped when the sort resolves, so it
|
|
33
|
+
// never reaches the sort file or the published publicOptions. excludeCommentsWithDifferentCommunityAddress became the
|
|
34
|
+
// always-on community identity rule (issue #401).
|
|
35
|
+
export const REMOVED_PAGE_SORT_OPTION_NAMES = Object.freeze(["excludeCommentsWithDifferentCommunityAddress"]);
|
|
33
36
|
export const RESERVED_PAGE_SORT_OPTION_NAMES = Object.freeze([
|
|
34
37
|
"maxAge",
|
|
35
38
|
"pinnedFirst",
|
|
@@ -45,16 +48,14 @@ export const DEFAULT_RESERVED_OPTIONS = Object.freeze({
|
|
|
45
48
|
excludeRemovedComments: "true",
|
|
46
49
|
excludeDeletedComments: "true",
|
|
47
50
|
excludeCommentPendingApproval: "true",
|
|
48
|
-
excludeCommentWithApprovedFalse: "true"
|
|
49
|
-
excludeCommentsWithDifferentCommunityAddress: "true"
|
|
51
|
+
excludeCommentWithApprovedFalse: "true"
|
|
50
52
|
},
|
|
51
53
|
replies: {
|
|
52
54
|
pinnedFirst: "true",
|
|
53
55
|
excludeRemovedComments: "false",
|
|
54
56
|
excludeDeletedComments: "false",
|
|
55
57
|
excludeCommentPendingApproval: "true",
|
|
56
|
-
excludeCommentWithApprovedFalse: "false"
|
|
57
|
-
excludeCommentsWithDifferentCommunityAddress: "true"
|
|
58
|
+
excludeCommentWithApprovedFalse: "false"
|
|
58
59
|
}
|
|
59
60
|
});
|
|
60
61
|
export function parseBooleanOption(raw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-sort-options.js","sourceRoot":"","sources":["../../../src/pages/page-sort-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,iHAAiH;AACjH,4GAA4G;AAC5G,gHAAgH;AAChH,oHAAoH;AACpH,2GAA2G;AAE3G,kHAAkH;AAClH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAAC;IACtE,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO,EAAE,wDAAwD;IACpE,CAAC,EAAE,QAAQ,CAAC,iEAAiE;CAChF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAA2C,MAAM,CAAC,MAAM,CAAC;IAClG,wBAAwB;IACxB,wBAAwB;IACxB,+BAA+B;IAC/B,iCAAiC;
|
|
1
|
+
{"version":3,"file":"page-sort-options.js","sourceRoot":"","sources":["../../../src/pages/page-sort-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,14 @@ import type { PageSortFile } from "../community/types.js";
|
|
|
3
3
|
import type { PageIpfs, PageSortExclusionOptionName, PageSortReplyEntry } from "./types.js";
|
|
4
4
|
type PageComment = PageIpfs["comments"][number];
|
|
5
5
|
export declare function validatePageSortFile(rawFile: unknown): PageSortFile;
|
|
6
|
+
export declare function createCommunityIdentityRowFilter(communityAddress: string): (comment: {
|
|
7
|
+
communityPublicKey?: string;
|
|
8
|
+
communityName?: string;
|
|
9
|
+
}) => boolean;
|
|
6
10
|
export declare function applyPageSortExclusions<T extends PageSortReplyEntry>({ comments, exclusions, communityAddress }: {
|
|
7
11
|
comments: T[];
|
|
8
12
|
exclusions: Record<PageSortExclusionOptionName, boolean>;
|
|
9
|
-
communityAddress
|
|
13
|
+
communityAddress: string;
|
|
10
14
|
}): T[];
|
|
11
15
|
export declare function filterRepliesForPageSort<T extends PageSortReplyEntry>({ replies, communityAddress }: {
|
|
12
16
|
replies: T[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PageSortFileSchema } from "../community/schema.js";
|
|
2
2
|
import { getEquivalentCommunityAddresses } from "../util.js";
|
|
3
|
+
import { isStringDomain } from "../domain-util.js";
|
|
3
4
|
// Validate what a factory returned, once, and hand back the file with its own functions rather than the schema's
|
|
4
5
|
// per-call wrappers: `score` runs once per comment per sort, and the wrapper re-validated its argument object (the
|
|
5
6
|
// whole `replies` list included, for a requireReplies file) on every call (issue #351). The generator checks the
|
|
@@ -13,11 +14,27 @@ export function validatePageSortFile(rawFile) {
|
|
|
13
14
|
...(raw.validatePageSortSettings ? { validatePageSortSettings: raw.validatePageSortSettings } : {})
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
|
-
// The
|
|
17
|
-
//
|
|
17
|
+
// The community identity rule (issue #401): which rows belong in this community's pages and counts, by the community
|
|
18
|
+
// fields the comment's author signed. It is the rule client page verification applies (verifyPageComment), so the
|
|
19
|
+
// community never hides a row a client would accept: a community with a name admits rows whose communityName is absent
|
|
20
|
+
// or is that name or its .eth/.bso alias; a community without a name admits rows whose communityPublicKey is absent or
|
|
21
|
+
// is its key. The JS twin of DbHandler's community identity clause. Always on, it is not a page sort option.
|
|
22
|
+
export function createCommunityIdentityRowFilter(communityAddress) {
|
|
23
|
+
if (isStringDomain(communityAddress)) {
|
|
24
|
+
const equivalentNames = new Set(getEquivalentCommunityAddresses(communityAddress));
|
|
25
|
+
return (comment) => !comment.communityName || equivalentNames.has(comment.communityName);
|
|
26
|
+
}
|
|
27
|
+
return (comment) => !comment.communityPublicKey || comment.communityPublicKey === communityAddress;
|
|
28
|
+
}
|
|
29
|
+
// The reserved exclusions applied to page entries in JS, plus the always-on community identity rule. Mirrors the SQL
|
|
30
|
+
// clauses in DbHandler (exclusionClauses): a comment is removed when commentUpdate.removed is true, deleted when its
|
|
31
|
+
// author's edit says so, disapproved when commentUpdate.approved is false, pending when commentUpdate.pendingApproval
|
|
32
|
+
// is true.
|
|
18
33
|
export function applyPageSortExclusions({ comments, exclusions, communityAddress }) {
|
|
19
|
-
const
|
|
34
|
+
const belongsToCommunity = createCommunityIdentityRowFilter(communityAddress);
|
|
20
35
|
return comments.filter(({ comment, commentUpdate }) => {
|
|
36
|
+
if (!belongsToCommunity(comment))
|
|
37
|
+
return false;
|
|
21
38
|
if (exclusions.excludeRemovedComments && commentUpdate.removed === true)
|
|
22
39
|
return false;
|
|
23
40
|
if (exclusions.excludeDeletedComments && commentUpdate.edit?.deleted === true)
|
|
@@ -26,17 +43,11 @@ export function applyPageSortExclusions({ comments, exclusions, communityAddress
|
|
|
26
43
|
return false;
|
|
27
44
|
if (exclusions.excludeCommentPendingApproval && commentUpdate.pendingApproval === true)
|
|
28
45
|
return false;
|
|
29
|
-
if (exclusions.excludeCommentsWithDifferentCommunityAddress && equivalentAddresses) {
|
|
30
|
-
const belongs = (comment.communityPublicKey ? equivalentAddresses.has(comment.communityPublicKey) : false) ||
|
|
31
|
-
(comment.communityName ? equivalentAddresses.has(comment.communityName) : false);
|
|
32
|
-
if (!belongs)
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
46
|
return true;
|
|
36
47
|
});
|
|
37
48
|
}
|
|
38
|
-
// The `replies` a requireReplies file receives: every reply in the scope
|
|
39
|
-
// (
|
|
49
|
+
// The `replies` a requireReplies file receives: every reply in the scope that passes the community identity rule
|
|
50
|
+
// (issues #401, #407). The sort's exclude* options are not applied, they reach the file in `options`: a removed or deleted
|
|
40
51
|
// reply is a tombstone whose present replies still count (docs/protocol/comment-lifecycle.md, "Which replies count"),
|
|
41
52
|
// so dropping it would cut its subtree, and the file decides what counts. Replies with no CommentUpdate never get
|
|
42
53
|
// here (the DB query joins on commentUpdates). Reply pages keep tombstones too, so a client walking them gets this set.
|
|
@@ -47,8 +58,7 @@ export function filterRepliesForPageSort({ replies, communityAddress }) {
|
|
|
47
58
|
excludeRemovedComments: false,
|
|
48
59
|
excludeDeletedComments: false,
|
|
49
60
|
excludeCommentWithApprovedFalse: false,
|
|
50
|
-
excludeCommentPendingApproval: false
|
|
51
|
-
excludeCommentsWithDifferentCommunityAddress: true
|
|
61
|
+
excludeCommentPendingApproval: false
|
|
52
62
|
},
|
|
53
63
|
communityAddress
|
|
54
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-sort-scoring.js","sourceRoot":"","sources":["../../../src/pages/page-sort-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"page-sort-scoring.js","sourceRoot":"","sources":["../../../src/pages/page-sort-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWnD,iHAAiH;AACjH,mHAAmH;AACnH,iHAAiH;AACjH,uBAAuB;AACvB,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,OAAuB,CAAC;IACpC,OAAO;QACH,GAAG,SAAS;QACZ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtG,CAAC;AACN,CAAC;AAED,qHAAqH;AACrH,kHAAkH;AAClH,uHAAuH;AACvH,uHAAuH;AACvH,6GAA6G;AAC7G,MAAM,UAAU,gCAAgC,CAC5C,gBAAwB;IAExB,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,KAAK,gBAAgB,CAAC;AACvG,CAAC;AAED,qHAAqH;AACrH,qHAAqH;AACrH,sHAAsH;AACtH,WAAW;AACX,MAAM,UAAU,uBAAuB,CAA+B,EAClE,QAAQ,EACR,UAAU,EACV,gBAAgB,EAKnB;IACG,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,UAAU,CAAC,sBAAsB,IAAI,aAAa,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACtF,IAAI,UAAU,CAAC,sBAAsB,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC5F,IAAI,UAAU,CAAC,+BAA+B,IAAI,aAAa,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACjG,IAAI,UAAU,CAAC,6BAA6B,IAAI,aAAa,CAAC,eAAe,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACrG,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,iHAAiH;AACjH,2HAA2H;AAC3H,sHAAsH;AACtH,kHAAkH;AAClH,wHAAwH;AACxH,MAAM,UAAU,wBAAwB,CAA+B,EACnE,OAAO,EACP,gBAAgB,EAInB;IACG,OAAO,uBAAuB,CAAC;QAC3B,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE;YACR,sBAAsB,EAAE,KAAK;YAC7B,sBAAsB,EAAE,KAAK;YAC7B,+BAA+B,EAAE,KAAK;YACtC,6BAA6B,EAAE,KAAK;SACvC;QACD,gBAAgB;KACnB,CAAC,CAAC;AACP,CAAC;AAED,iHAAiH;AACjH,kHAAkH;AAClH,+GAA+G;AAC/G,MAAM,UAAU,4BAA4B,CAAC,EACzC,QAAQ,EACR,QAAQ,EACR,aAAa,EAKhB;IACG,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,IAAI,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjH,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC9D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,+GAA+G;AAC/G,sHAAsH;AACtH,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,EACrC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EAMX;IACG,MAAM,IAAI,GAAG,CAAC,OAAsB,EAAE,EAAE;QACpC,MAAM,MAAM,GAA4C,EAAE,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChD,MAAM,KAAK,CAAC,aAAa,QAAQ,0CAA0C,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC;IAChH,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,oHAAoH;AACpH,+FAA+F;AAC/F,MAAM,UAAU,2BAA2B,CAA+B,KAAQ;IAC9E,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,aAA2D,CAAC;IAClH,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAO,CAAC;AAC1D,CAAC;AAED,mHAAmH;AACnH,+GAA+G;AAC/G,sHAAsH;AACtH,wHAAwH;AACxH,MAAM,UAAU,uBAAuB,CAAC,OAA6B;IACjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACjE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YACjC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAG,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;AACN,CAAC;AAED,kHAAkH;AAClH,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,aAAa,EACb,OAAO,EACP,UAAU,GAAG,2BAA2B,EACxC,aAAa,EAAE,qBAAqB,EAQvC;IACG,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,IAAI,uBAAuB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxH,OAAO,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC;YACd,OAAO;YACP,aAAa;YACb,OAAO;YACP,aAAa;YACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -22,7 +22,7 @@ export type SortProps = {
|
|
|
22
22
|
};
|
|
23
23
|
export type PostSort = Record<PostSortName, SortProps>;
|
|
24
24
|
export type ReplySort = Record<ReplySortName, SortProps>;
|
|
25
|
-
export type PageSortExclusionOptionName = "excludeRemovedComments" | "excludeDeletedComments" | "excludeCommentPendingApproval" | "excludeCommentWithApprovedFalse"
|
|
25
|
+
export type PageSortExclusionOptionName = "excludeRemovedComments" | "excludeDeletedComments" | "excludeCommentPendingApproval" | "excludeCommentWithApprovedFalse";
|
|
26
26
|
export interface PageSortReplyEntry {
|
|
27
27
|
comment: Pick<CommentIpfsType, "parentCid" | "postCid" | "depth" | "timestamp" | "content" | "title" | "link" | "author" | "communityPublicKey" | "communityName" | "nsfw" | "spoiler" | "flairs">;
|
|
28
28
|
commentUpdate: Pick<CommentUpdateType, "cid" | "upvoteCount" | "downvoteCount" | "replyCount" | "childCount" | "updatedAt" | "lastReplyTimestamp" | "pinned" | "locked" | "removed" | "approved" | "nsfw" | "spoiler" | "flairs"> & {
|
|
@@ -9,7 +9,7 @@ export declare class PKCError extends CustomError {
|
|
|
9
9
|
toString(): string;
|
|
10
10
|
toJSON(): {
|
|
11
11
|
name: string;
|
|
12
|
-
code: "ERR_COMMUNITY_SIGNER_NOT_DEFINED" | "ERR_COMMUNITY_CAN_EITHER_RUN_OR_UPDATE" | "ERR_PUBLICATION_MISSING_FIELD" | "ERR_COMMUNITY_MISSING_FIELD" | "ERR_COMMUNITY_CHALLENGE_EXCHANGE_DISABLED" | "ERR_COMMUNITY_OPTIONS_MISSING_ADDRESS" | "ERR_INVALID_COMMUNITY_ADDRESS_SCHEMA" | "ERR_CID_IS_INVALID" | "ERR_DATA_PATH_IS_NOT_DEFINED" | "ERR_COMMUNITY_OWNER_ATTEMPTED_EDIT_NEW_ADDRESS_THAT_ALREADY_EXISTS" | "ERR_COMMENT_MISSING_IPFS_AND_UPDATE" | "ERR_COMMENT_MISSING_CID" | "ERR_COMMENT_MISSING_IPFS" | "ERR_COMMENT_MISSING_UPDATE" | "ERR_COMMENT_IPFS_COMMUNITY_NAME_MISMATCH" | "ERR_NEED_TO_STOP_UPDATING_COMMUNITY_BEFORE_STARTING" | "ERR_HELIAS_STOPPING_OR_STOPPED" | "ERR_FAILED_TO_DIAL_ANY_PUBSUB_PEERS_FROM_DELEGATED_ROUTERS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_RETURNED_UNDEFINED" | "ERR_FAILED_TO_DIAL_ANY_PEERS_PROVIDING_CID" | "ERR_GET_COMMUNITY_TIMED_OUT" | "ERR_GET_COMMUNITY_ABORTED" | "ERR_COMMUNITY_STOPPED_WHILE_LOADING" | "ERR_GET_COMMENT_ABORTED" | "ERR_TIMEOUT_WAITING_FOR_PUBSUB_TOPIC_PEERS" | "ERR_PUBSUB_TOPIC_PEER_WAIT_ABORTED" | "ERR_IPNS_DIRECT_FETCH_ABORTED" | "ERR_TIMED_OUT_RM_MFS_FILE" | "ERR_ABORTED_RESOLVING_TEXT_RECORD" | "ERR_CALLED_COMMUNITY_STOP_WITHOUT_UPDATE" | "ERR_PKC_MISSING_NATIVE_FUNCTIONS" | "ERR_CAN_NOT_RUN_A_COMMUNITY_WITH_NO_IPFS_NODE" | "ERR_PKC_OPTION_NOT_ACCEPTED" | "ERR_FAILED_TO_GET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SHUTDOWN_KUBO_NODE" | "ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_SIGNER_AND_ANCHOR" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_ANCHOR_AND_IDENTIFIER" | "ERR_ANCHOR_PUBLIC_KEY_IS_INVALID" | "ERR_COMMUNITY_IS_NOT_DELEGATED" | "ERR_UNABLE_TO_DETERMINE_ANCHOR_SEQUENCE" | "ERR_ANCHOR_IPNS_RECORD_IS_INVALID" | "ERR_ANCHOR_IPNS_RECORD_POINTS_TO_DIFFERENT_MINTER" | "ERR_ANCHOR_IPNS_RECORD_SEQUENCE_IS_NOT_GREATER" | "ERR_DELEGATED_COMMUNITY_HAS_NO_ANCHOR_RECORD" | "ERR_COMMUNITY_ADDRESS_IS_PROVIDED_AS_NULL_OR_UNDEFINED" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_PUBLICATION_FROM_JSONIFIED_COMMENT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_EDIT_PUBLICATION_FROM_JSONIFIED_COMMENT_EDIT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_MODERATION_PUBLICATION_FROM_JSONIFIED_COMMENT_MODERATION" | "ERR_UNABLE_TO_DERIVE_PUBSUB_VOTE_PUBLICATION_FROM_JSONIFIED_VOTE" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMUNITY_EDIT_PUBLICATION_FROM_JSONIFIED_COMMUNITY_EDIT" | "ERR_PKC_SQLITE_LONG_TERM_STORAGE_KEYV_ERROR" | "ERR_PKC_IS_DESTROYED" | "ERR_FAILED_TO_FETCH_IPFS_VIA_GATEWAY" | "ERR_FAILED_TO_FETCH_IPFS_CID_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_IPNS_VIA_GATEWAY" | "ERR_IPNS_RECORD_NOT_FOUND" | "ERR_FAILED_TO_FETCH_COMMUNITY_FROM_GATEWAYS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_FAILED" | "ERR_LIBP2P_FETCH_IPNS_FROM_PEER_TIMEDOUT" | "ERR_FAILED_TO_FETCH_COMMENT_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_PAGE_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_GENERIC_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_ALL_POST_UPDATES_RANGES" | "ERR_COMMUNITY_HAS_NO_POST_UPDATES" | "ERR_FAILED_TO_FETCH_GENERIC" | "ERR_OVER_DOWNLOAD_LIMIT" | "ERR_CALCULATED_CID_DOES_NOT_MATCH" | "ERR_FAILED_TO_FETCH_THUMBNAIL_URL_OF_LINK" | "ERR_FAILED_TO_FETCH_THUMBNAIL_DIMENSION_OF_LINK" | "ERR_COMMUNITY_NAME_HAS_CAPITAL_LETTER" | "ERR_GATEWAY_TIMED_OUT_OR_ABORTED" | "ERR_FAILED_TO_PARSE_CID_FROM_GATEWAY_RESPONSE_ETAG" | "ERR_GATEWAY_MISSING_ETAG_HEADER" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_INVALID_COMMUNITY_RECORD" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_UPDATE_CID" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD" | "ERR_GATEWAY_PROVIDED_INCORRECT_X_IPFS_ROOTS" | "ERR_REMOTE_COMMUNITY_RECEIVED_ALREADY_PROCCESSED_RECORD" | "ERR_COMMENT_RECEIVED_ALREADY_PROCESSED_COMMENT_UPDATE" | "ERR_FETCH_CID_P2P_TIMEOUT" | "ERR_INVALID_KUBO_STYLE_TIMEOUT" | "ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES" | "ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED" | "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT" | "ERR_IPNS_RESOLUTION_P2P_TIMEOUT" | "ERR_IPNS_MAX_HOPS_EXCEEDED" | "ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE" | "ERR_GATEWAY_IPNS_RECORD_CHAIN_INVALID" | "ERR_FIND_PROVIDERS_TIMEOUT" | "ERR_NO_DEFAULT_IPFS_PROVIDER" | "ERR_NO_DEFAULT_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_IPFS_PROVIDER" | "ERR_CAN_NOT_HAVE_BOTH_KUBO_AND_LIBP2P_JS_CLIENTS_DEFINED" | "ERR_INVALID_PUBSUB_PROVIDER" | "ERR_ADDED_COMMENT_IPFS_TO_IPFS_BUT_GOT_DIFFERENT_CID" | "ERR_NO_PUBSUB_PROVIDERS_AVAILABLE_TO_PUBLISH_OVER_PUBSUB" | "ERR_INVALID_JSON" | "ERR_INVALID_COMMENT_IPFS_SCHEMA" | "ERR_REPLY_HAS_NOT_DEFINED_POST_CID" | "ERR_REPLY_POST_CID_IS_NOT_PARENT_OF_REPLY" | "ERR_POST_CANNOT_HAVE_QUOTED_CIDS" | "ERR_QUOTED_CID_DOES_NOT_EXIST" | "ERR_QUOTED_CID_NOT_UNDER_POST" | "ERR_QUOTED_CID_IS_PENDING_APPROVAL" | "ERR_CROSSPOST_CID_DOES_NOT_MATCH_EMBEDDED_COMMENT" | "ERR_CROSSPOST_COMMENT_SIGNATURE_IS_INVALID" | "ERR_CROSSPOST_COMMENT_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CROSSPOST_CHAIN_EXCEEDS_MAX_DEPTH" | "ERR_NOT_ALLOWED_TO_PUBLISH_CROSSPOSTS" | "ERR_CROSSPOST_CHAIN_EXCEEDS_COMMUNITY_MAX_DEPTH" | "ERR_INVALID_COMMUNITY_IPFS_SCHEMA" | "ERR_INVALID_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_PAGE_IPFS_SCHEMA" | "ERR_INVALID_MODQUEUE_PAGE_IPFS_SCHEMA" | "ERR_INVALID_CHALLENGE_DECRYPTED_SCHEMA" | "ERR_INVALID_CHALLENGE_VERIFICATION_DECRYPTED_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_ANSWER_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_VERIFICATION_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_LOCAL_COMMUNITY_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_STARTED_STATE_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_WITH_COMMUNITY_AUTHOR_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_REMOTE_COMMUNITY_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_PUBLISHING_STATE_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_STATE_SCHEMA" | "ERR_INVALID_CID_STRING_SCHEMA" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_STATE_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_EDIT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_VOTE_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_MODERATION_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_REMOTE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_EDIT_ARGS_SCHEMA" | "ERR_GENERIC_RPC_INVALID_SCHEMA" | "ERR_INVALID_NEW_WS_SERVER_SETTINGS_SCHEMA" | "ERR_INVALID_CREATE_NEW_LOCAL_COMMUNITY_USER_OPTIONS" | "ERR_INVALID_COMMENT_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_VOTE_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_MODERATION_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMUNITY_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_COMMUNITY_EDIT_OPTIONS_SCHEMA" | "ERR_INVALID_CHALLENGE_ANSWERS" | "ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED" | "ERR_INVALID_CREATE_PKC_WS_SERVER_OPTIONS_SCHEMA" | "ERR_INVALID_CREATE_PKC_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_WITH_RPC_ARGS_SCHEMA" | "ERR_CHALLENGE_EXCLUDE_ADDRESS_FIELD_REMOVED" | "ERR_CHALLENGE_EXCLUDE_ROLE_FIELD_RENAMED" | "ERR_CHALLENGE_EXCLUDE_PUBLIC_KEYS_MUST_NOT_BE_DOMAIN" | "ERR_CHALLENGE_EXCLUDE_NAMES_MUST_BE_DOMAIN" | "ERR_CAN_NOT_SET_EXCLUDE_PUBLICATION_TO_EMPTY_OBJECT" | "ERR_COMMUNITY_HAS_NO_INTERNAL_STATE" | "ERR_AUTHOR_ADDRESS_NOT_MATCHING_SIGNER" | "ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58" | "ERR_SIGNATURE_PUBLIC_KEY_IS_NOT_B58" | "ERR_PUBLICATION_FAILED_TO_DECRYPT_CHALLENGE" | "ERR_SIGNATURE_IS_INVALID" | "ERR_SIGNATURE_HAS_NO_PUBLIC_KEY" | "ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID" | "ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED" | "ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY" | "ERR_AUTHOR_NOT_MATCHING_SIGNATURE" | "ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN" | "ERR_COMMUNITY_IPNS_NAME_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMUNITY_ENCRYPTION_PUBLIC_KEY_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMENT_SHOULD_BE_THE_LATEST_EDIT" | "ERR_COMMENT_UPDATE_IS_NOT_SIGNED_BY_COMMUNITY" | "ERR_AUTHOR_EDIT_IS_NOT_SIGNED_BY_AUTHOR" | "ERR_COMMENT_UPDATE_DIFFERENT_CID_THAN_COMMENT" | "ERR_PAGE_COMMENT_POST_HAS_POST_CID_DEFINED_WITH_DEPTH_0" | "ERR_CHALLENGE_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_VERIFICATION_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_REQUEST_ID_NOT_DERIVED_FROM_SIGNATURE" | "ERR_CHALLENGE_SIGNATURE_IS_INVALID" | "ERR_CHALLENGE_VERIFICATION_SIGNATURE_IS_INVALID" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SIGNATURE" | "ERR_COMMUNITY_POSTS_INVALID" | "ERR_COMMENT_IPFS_SIGNATURE_IS_INVALID" | "ERR_COMMENT_UPDATE_SIGNATURE_IS_INVALID" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_IPFS_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_EDIT_HAS_RESERVED_FIELD" | "ERR_COMMUNITY_SIGNATURE_IS_INVALID" | "ERR_COMMUNITY_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_DOES_NOT_MATCH_CHAIN_ANCHOR" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_IS_NOT_ENDORSED" | "ERR_FAILED_TO_RESOLVE_COMMUNITY_DOMAIN" | "ERR_AUTHOR_NAME_HAS_NO_RECORD" | "ERR_COMMUNITY_FAILED_TO_RESOLVE_AUTHOR_NAME" | "ERR_COMMUNITY_HAS_NO_RESOLVER_FOR_AUTHOR_NAME_TLD" | "ERR_AUTHOR_NAME_RECORD_IS_NOT_A_VALID_KEY" | "ERR_AUTHOR_DOMAIN_RESOLVES_TO_DIFFERENT_SIGNER" | "ERR_COMMUNITY_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_VOTE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_MODERATION_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_PUBSUB_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_REQUEST_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_ANSWER_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_VERIFICATION_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_CHANGED_COMMENT_PUBSUB_PUBLICATION_PROPS" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENT" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENTUPDATE" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_CID" | "ERR_PAGE_COMMENT_IS_INVALID" | "ERR_PAGE_COMMENT_IS_A_REPLY_BUT_HAS_NO_PARENT_COMMENT_INSTANCE" | "ERR_PAGE_COMMENT_DEPTH_VALUE_IS_NOT_RELATIVE_TO_ITS_PARENT" | "ERR_PAGE_COMMENT_PARENT_DOES_NOT_EXIST_IN_FLAT_PAGE" | "ERR_PAGE_COMMENT_POST_CID_IS_NOT_SAME_AS_POST_CID_OF_COMMENT_INSTANCE" | "ERR_REPLY_IN_FLAT_PAGE_HAS_NO_PARENT_CID" | "ERR_PAGE_COMMENT_NO_WAY_TO_DERIVE_POST_CID" | "ERR_POSTS_PAGE_IS_INVALID" | "ERR_REPLIES_PAGE_IS_INVALID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_FAILED_TO_FIND_REPLY_COMMENT_UPDATE_WITHIN_PARENT_COMMENT_PAGE_CIDS" | "ERR_COMMUNITY_REGISTRY_LOOKUP_HAS_NO_ALIASES" | "ERR_INVALID_COMMENT_IPFS" | "ERR_COMMENT_MISSING_POST_CID" | "ERR_INVALID_COMMENT_UPDATE" | "ERR_COMMENT_IN_PAGE_BELONG_TO_DIFFERENT_COMMUNITY" | "ERR_PARENT_CID_OF_COMMENT_IN_PAGE_IS_NOT_CORRECT" | "ERR_PAGE_SIGNATURE_IS_INVALID" | "ERR_MOD_QUEUE_PAGE_IS_INVALID" | "ERR_CHALLENGE_ANSWER_WITH_NO_CHALLENGE_REQUEST" | "ERR_COMMUNITY_TIMED_OUT_WAITING_FOR_CHALLENGE_ANSWER" | "ERR_REUSED_PUBSUB_MSG_SIGNER" | "ERR_PUBSUB_MSG_TIMESTAMP_IS_OUTDATED" | "ERR_UNAUTHORIZED_COMMENT_EDIT" | "ERR_COMMUNITY_COMMENT_TIMESTAMP_IS_EARLIER_THAN_PARENT" | "ERR_USER_PUBLISHED_UNDER_PENDING_COMMENT" | "ERR_USER_PUBLISHED_UNDER_DISAPPROVED_COMMENT" | "ERR_MOD_ATTEMPTING_TO_APPROVE_OR_DISAPPROVE_COMMENT_THAT_IS_NOT_PENDING" | "ERR_PUBLICATION_PARENT_DOES_NOT_EXIST_IN_COMMUNITY" | "ERR_COMMUNITY_PUBLICATION_PARENT_CID_NOT_DEFINED" | "ERR_PUBLICATION_INVALID_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_SUBPLEBBIT_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY" | "ERR_PUBLICATION_SIGNED_TO_MINTER_INSTEAD_OF_ANCHOR" | "ERR_PUBLICATION_INVALID_COMMUNITY_NAME" | "ERR_AUTHOR_IS_BANNED" | "ERR_PUBLICATION_HAS_NO_AUTHOR_ADDRESS" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_LOCKED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_ARCHIVED" | "ERR_FORBIDDEN_AUTHOR_FIELD" | "ERR_FORBIDDEN_COMMENT_FIELD" | "ERR_FORBIDDEN_SIGNER_FIELD" | "ERR_DUPLICATE_COMMENT" | "ERR_DUPLICATE_COMMENT_MODERATION" | "ERR_DUPLICATE_COMMENT_EDIT" | "ERR_AUTHOR_ADDRESS_UNDEFINED" | "ERR_COMMUNITY_FAILED_TO_DECRYPT_PUBSUB_MSG" | "ERR_REQUEST_PUBLICATION_OVER_ALLOWED_SIZE" | "UNAUTHORIZED_AUTHOR_ATTEMPTED_TO_CHANGE_VOTE" | "COMMENT_LINK_LENGTH_IS_OVER_LIMIT" | "INCORRECT_VOTE_VALUE" | "ERR_COMMENT_HAS_INVALID_LINK_FIELD" | "ERR_POST_LINK_IS_NOT_OF_MEDIA" | "ERR_REPLY_HAS_INVALID_LINK_FIELD" | "ERR_REPLY_LINK_IS_NOT_OF_MEDIA" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_IMAGE" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_IMAGE" | "ERR_COMMENT_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_SPOILER_ENABLED" | "ERR_REPLY_HAS_LINK_THAT_IS_IMAGE" | "ERR_REPLY_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_AUDIO" | "ERR_REPLY_HAS_SPOILER_ENABLED" | "ERR_NESTED_REPLIES_NOT_ALLOWED" | "ERR_COMMENT_HAS_NO_CONTENT_LINK_TITLE" | "ERR_COMMENT_EDIT_HAS_NO_EDIT_FIELD" | "ERR_COMMENT_MODERATION_HAS_NO_MODERATION_FIELD" | "ERR_REQUEST_ENCRYPTED_IS_INVALID_JSON_AFTER_DECRYPTION" | "ERR_REQUEST_ENCRYPTED_HAS_INVALID_SCHEMA_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_NO_PUBLICATION_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_MULTIPLE_PUBLICATIONS_AFTER_DECRYPTING" | "ERR_CHALLENGE_ANSWER_IS_INVALID_JSON" | "ERR_CHALLENGE_ANSWER_IS_INVALID_SCHEMA" | "ERR_COMMENT_HAS_RESERVED_FIELD" | "ERR_VOTE_HAS_RESERVED_FIELD" | "ERR_COMMENT_EDIT_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_IS_AN_EMPTY_OBJECT" | "ERR_PUBLICATION_HAS_MALFORMED_UNICODE_STRING" | "ERR_COMMUNITY_CANNOT_STORE_PUBLICATION_VERBATIM" | "ERR_COMMENT_EDIT_CAN_NOT_EDIT_COMMENT_IF_NOT_ORIGINAL_AUTHOR" | "ERR_COMMENT_MODERATION_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_EDIT_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_MODERATION_HAS_RESERVED_FIELD" | "ERR_COMMENT_MODERATION_ATTEMPTED_WITHOUT_BEING_MODERATOR" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_OWNER_EXCLUSIVE_PROPS" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_COMMUNITY_WITHOUT_BEING_OWNER_OR_ADMIN" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_NON_PUBLIC_PROPS" | "ERR_PUBLICATION_TIMESTAMP_IS_NOT_IN_PROPER_RANGE" | "ERR_NOT_ALLOWED_TO_PUBLISH_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_UPVOTES" | "ERR_THERE_IS_NO_PREVIOUS_VOTE_TO_CANCEL" | "ERR_POST_FLAIRS_NOT_ALLOWED" | "ERR_POST_FLAIRS_REQUIRED" | "ERR_POST_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_AUTHOR_FLAIRS_NOT_ALLOWED" | "ERR_AUTHOR_FLAIRS_REQUIRED" | "ERR_AUTHOR_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_LOCK_REPLY" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_ARCHIVE_REPLY" | "ERR_NOT_ALLOWED_TO_ARCHIVE_POSTS" | "ERR_COMMUNITY_COMMENT_EDIT_UNAUTHORIZED_FIELD" | "ERR_PUBLISHING_EDIT_WITH_BOTH_MOD_AND_AUTHOR_FIELDS" | "ERR_FAILED_TO_RESOLVE_TEXT_RECORD" | "ERR_NO_CHAIN_PROVIDER_FOR_CHAIN_TICKER" | "ERR_NO_RESOLVER_FOR_NAME" | "ERR_ALL_NAME_RESOLVERS_FAILED" | "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" | "ERR_DOMAIN_COMMUNITY_ADDRESS_TXT_RECORD_POINT_TO_DIFFERENT_ADDRESS" | "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS" | "ERR_COMMUNITY_DOMAIN_HAS_NO_TEXT_RECORD" | "ERR_LOCAL_COMMUNITY_HAS_NO_SIGNER_IN_INTERNAL_STATE" | "ERR_COMMUNITY_STATE_LOCKED" | "ERR_COMMUNITY_CREATION_LOCKED" | "ERR_COMMUNITY_ALREADY_STARTED" | "ERR_FAILED_TO_IMPORT_IPFS_KEY" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_RECORD" | "ERR_FAILED_TO_PARSE_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_LOAD_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE_FACTORY" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE" | "ERR_CHALLENGE_FILE_INVALID" | "ERR_INVALID_RESULT_FROM_GET_CHALLENGE_FUNCTION" | "ERR_LOCAL_COMMUNITY_RECORD_TOO_LARGE" | "ERR_CAN_NOT_LOAD_DB_IF_LOCAL_COMMUNITY_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "ERR_CAN_NOT_EDIT_A_LOCAL_COMMUNITY_THAT_IS_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "CAN_NOT_LOAD_LOCAL_COMMUNITY_IF_DB_DOES_NOT_EXIST" | "ERR_COMMUNITY_START_FAILED_UNKNOWN_ERROR" | "ERR_COMMUNITY_ALREADY_STARTED_IN_SAME_PKC_INSTANCE" | "ERR_PAGE_GENERATED_IS_OVER_EXPECTED_SIZE" | "ERR_PUBSUB_FAILED_TO_SUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_UNSUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_PUBLISH" | "ERR_PUBSUB_DID_NOT_RECEIVE_RESPONSE_AFTER_PUBLISHING_CHALLENGE_REQUEST" | "ERR_ALL_PUBSUB_PROVIDERS_THROW_ERRORS" | "ERR_CHALLENGE_REQUEST_RECEIVED_NO_RESPONSE_FROM_ANY_PROVIDER" | "ERR_PUBLICATION_DID_NOT_RECEIVE_RESPONSE" | "ERR_RPC_AUTH_REQUIRED" | "ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC" | "ERR_FAILED_TO_CREATE_WS_RPC_SERVER" | "ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY" | "ERR_RPC_COMMUNITY_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY" | "ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION" | "ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION" | "ERR_GENERIC_RPC_CLIENT_CALL_ERROR" | "ERR_RPC_CALL_TIMED_OUT" | "ERR_RPC_CLIENT_CHALLENGE_NAME_NOT_AVAILABLE_ON_SERVER" | "ERR_ROLE_ADDRESS_NAME_COULD_NOT_BE_RESOLVED" | "ERR_COMMUNITY_NOT_LOCAL" | "ERR_COMMUNITY_NOT_FOUND" | "ERR_PRIVATE_KEY_EXPORT_NOT_ALLOWED" | "ERR_EXPORT_PATH_NOT_SUPPORTED_OVER_RPC" | "ERR_EXPORT_PATH_TARGETS_LIVE_DB" | "ERR_EXPORT_CANCELLED" | "ERR_EXPORT_BACKUP_FAILED" | "ERR_DOWNLOAD_EXPORT_ID_NOT_FOUND" | "ERR_CHALLENGE_RESULT_OVERRIDES_COMMENT_SIGNED_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMENT_UPDATE_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_NON_COMMUNITY_AUTHOR_KEY" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMUNITY_AUTHOR_FIELD" | "ERR_CHALLENGE_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_REQUIRED_OPTION_MISSING" | "ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES" | "ERR_CHALLENGE_NOT_REGISTERED" | "ERR_COMMUNITY_CHALLENGES_FAILED_TO_LOAD" | "ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY" | "ERR_PAGE_SORT_FILE_INVALID" | "ERR_PAGE_SORT_DUPLICATE_SORT_NAME" | "ERR_PAGE_SORT_SCOPE_MISMATCH" | "ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_PAGE_SORT_REQUIRED_OPTION_MISSING" | "ERR_PAGE_SORT_INVALID_RESERVED_OPTION" | "ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET" | "ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS" | "ERR_PAGE_SORT_FAILED_TO_GENERATE" | "ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE" | "ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER";
|
|
12
|
+
code: "ERR_COMMUNITY_SIGNER_NOT_DEFINED" | "ERR_COMMUNITY_CAN_EITHER_RUN_OR_UPDATE" | "ERR_PUBLICATION_MISSING_FIELD" | "ERR_COMMUNITY_MISSING_FIELD" | "ERR_COMMUNITY_CHALLENGE_EXCHANGE_DISABLED" | "ERR_COMMUNITY_OPTIONS_MISSING_ADDRESS" | "ERR_INVALID_COMMUNITY_ADDRESS_SCHEMA" | "ERR_CID_IS_INVALID" | "ERR_DATA_PATH_IS_NOT_DEFINED" | "ERR_COMMUNITY_OWNER_ATTEMPTED_EDIT_NEW_ADDRESS_THAT_ALREADY_EXISTS" | "ERR_COMMUNITY_EDIT_NAME_AND_ADDRESS_MISMATCH" | "ERR_COMMENT_MISSING_IPFS_AND_UPDATE" | "ERR_COMMENT_MISSING_CID" | "ERR_COMMENT_MISSING_IPFS" | "ERR_COMMENT_MISSING_UPDATE" | "ERR_COMMENT_IPFS_COMMUNITY_NAME_MISMATCH" | "ERR_NEED_TO_STOP_UPDATING_COMMUNITY_BEFORE_STARTING" | "ERR_HELIAS_STOPPING_OR_STOPPED" | "ERR_FAILED_TO_DIAL_ANY_PUBSUB_PEERS_FROM_DELEGATED_ROUTERS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_RETURNED_UNDEFINED" | "ERR_FAILED_TO_DIAL_ANY_PEERS_PROVIDING_CID" | "ERR_GET_COMMUNITY_TIMED_OUT" | "ERR_GET_COMMUNITY_ABORTED" | "ERR_COMMUNITY_STOPPED_WHILE_LOADING" | "ERR_GET_COMMENT_ABORTED" | "ERR_TIMEOUT_WAITING_FOR_PUBSUB_TOPIC_PEERS" | "ERR_PUBSUB_TOPIC_PEER_WAIT_ABORTED" | "ERR_IPNS_DIRECT_FETCH_ABORTED" | "ERR_TIMED_OUT_RM_MFS_FILE" | "ERR_ABORTED_RESOLVING_TEXT_RECORD" | "ERR_CALLED_COMMUNITY_STOP_WITHOUT_UPDATE" | "ERR_PKC_MISSING_NATIVE_FUNCTIONS" | "ERR_CAN_NOT_RUN_A_COMMUNITY_WITH_NO_IPFS_NODE" | "ERR_PKC_OPTION_NOT_ACCEPTED" | "ERR_FAILED_TO_GET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SHUTDOWN_KUBO_NODE" | "ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_SIGNER_AND_ANCHOR" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_ANCHOR_AND_IDENTIFIER" | "ERR_ANCHOR_PUBLIC_KEY_IS_INVALID" | "ERR_COMMUNITY_IS_NOT_DELEGATED" | "ERR_UNABLE_TO_DETERMINE_ANCHOR_SEQUENCE" | "ERR_ANCHOR_IPNS_RECORD_IS_INVALID" | "ERR_ANCHOR_IPNS_RECORD_POINTS_TO_DIFFERENT_MINTER" | "ERR_ANCHOR_IPNS_RECORD_SEQUENCE_IS_NOT_GREATER" | "ERR_DELEGATED_COMMUNITY_HAS_NO_ANCHOR_RECORD" | "ERR_COMMUNITY_ADDRESS_IS_PROVIDED_AS_NULL_OR_UNDEFINED" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_PUBLICATION_FROM_JSONIFIED_COMMENT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_EDIT_PUBLICATION_FROM_JSONIFIED_COMMENT_EDIT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_MODERATION_PUBLICATION_FROM_JSONIFIED_COMMENT_MODERATION" | "ERR_UNABLE_TO_DERIVE_PUBSUB_VOTE_PUBLICATION_FROM_JSONIFIED_VOTE" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMUNITY_EDIT_PUBLICATION_FROM_JSONIFIED_COMMUNITY_EDIT" | "ERR_PKC_SQLITE_LONG_TERM_STORAGE_KEYV_ERROR" | "ERR_PKC_IS_DESTROYED" | "ERR_FAILED_TO_FETCH_IPFS_VIA_GATEWAY" | "ERR_FAILED_TO_FETCH_IPFS_CID_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_IPNS_VIA_GATEWAY" | "ERR_IPNS_RECORD_NOT_FOUND" | "ERR_FAILED_TO_FETCH_COMMUNITY_FROM_GATEWAYS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_FAILED" | "ERR_LIBP2P_FETCH_IPNS_FROM_PEER_TIMEDOUT" | "ERR_FAILED_TO_FETCH_COMMENT_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_PAGE_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_GENERIC_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_ALL_POST_UPDATES_RANGES" | "ERR_COMMUNITY_HAS_NO_POST_UPDATES" | "ERR_FAILED_TO_FETCH_GENERIC" | "ERR_OVER_DOWNLOAD_LIMIT" | "ERR_CALCULATED_CID_DOES_NOT_MATCH" | "ERR_FAILED_TO_FETCH_THUMBNAIL_URL_OF_LINK" | "ERR_FAILED_TO_FETCH_THUMBNAIL_DIMENSION_OF_LINK" | "ERR_COMMUNITY_NAME_HAS_CAPITAL_LETTER" | "ERR_GATEWAY_TIMED_OUT_OR_ABORTED" | "ERR_FAILED_TO_PARSE_CID_FROM_GATEWAY_RESPONSE_ETAG" | "ERR_GATEWAY_MISSING_ETAG_HEADER" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_INVALID_COMMUNITY_RECORD" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_UPDATE_CID" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD" | "ERR_GATEWAY_PROVIDED_INCORRECT_X_IPFS_ROOTS" | "ERR_REMOTE_COMMUNITY_RECEIVED_ALREADY_PROCCESSED_RECORD" | "ERR_COMMENT_RECEIVED_ALREADY_PROCESSED_COMMENT_UPDATE" | "ERR_FETCH_CID_P2P_TIMEOUT" | "ERR_INVALID_KUBO_STYLE_TIMEOUT" | "ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES" | "ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED" | "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT" | "ERR_IPNS_RESOLUTION_P2P_TIMEOUT" | "ERR_IPNS_MAX_HOPS_EXCEEDED" | "ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE" | "ERR_GATEWAY_IPNS_RECORD_CHAIN_INVALID" | "ERR_FIND_PROVIDERS_TIMEOUT" | "ERR_NO_DEFAULT_IPFS_PROVIDER" | "ERR_NO_DEFAULT_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_IPFS_PROVIDER" | "ERR_CAN_NOT_HAVE_BOTH_KUBO_AND_LIBP2P_JS_CLIENTS_DEFINED" | "ERR_INVALID_PUBSUB_PROVIDER" | "ERR_ADDED_COMMENT_IPFS_TO_IPFS_BUT_GOT_DIFFERENT_CID" | "ERR_NO_PUBSUB_PROVIDERS_AVAILABLE_TO_PUBLISH_OVER_PUBSUB" | "ERR_INVALID_JSON" | "ERR_INVALID_COMMENT_IPFS_SCHEMA" | "ERR_REPLY_HAS_NOT_DEFINED_POST_CID" | "ERR_REPLY_POST_CID_IS_NOT_PARENT_OF_REPLY" | "ERR_POST_CANNOT_HAVE_QUOTED_CIDS" | "ERR_QUOTED_CID_DOES_NOT_EXIST" | "ERR_QUOTED_CID_NOT_UNDER_POST" | "ERR_QUOTED_CID_IS_PENDING_APPROVAL" | "ERR_CROSSPOST_CID_DOES_NOT_MATCH_EMBEDDED_COMMENT" | "ERR_CROSSPOST_COMMENT_SIGNATURE_IS_INVALID" | "ERR_CROSSPOST_COMMENT_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CROSSPOST_CHAIN_EXCEEDS_MAX_DEPTH" | "ERR_NOT_ALLOWED_TO_PUBLISH_CROSSPOSTS" | "ERR_CROSSPOST_CHAIN_EXCEEDS_COMMUNITY_MAX_DEPTH" | "ERR_INVALID_COMMUNITY_IPFS_SCHEMA" | "ERR_INVALID_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_PAGE_IPFS_SCHEMA" | "ERR_INVALID_MODQUEUE_PAGE_IPFS_SCHEMA" | "ERR_INVALID_CHALLENGE_DECRYPTED_SCHEMA" | "ERR_INVALID_CHALLENGE_VERIFICATION_DECRYPTED_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_ANSWER_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_VERIFICATION_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_LOCAL_COMMUNITY_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_STARTED_STATE_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_WITH_COMMUNITY_AUTHOR_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_REMOTE_COMMUNITY_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_PUBLISHING_STATE_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_STATE_SCHEMA" | "ERR_INVALID_CID_STRING_SCHEMA" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_STATE_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_EDIT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_VOTE_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_MODERATION_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_REMOTE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_EDIT_ARGS_SCHEMA" | "ERR_GENERIC_RPC_INVALID_SCHEMA" | "ERR_INVALID_NEW_WS_SERVER_SETTINGS_SCHEMA" | "ERR_INVALID_CREATE_NEW_LOCAL_COMMUNITY_USER_OPTIONS" | "ERR_INVALID_COMMENT_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_VOTE_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_MODERATION_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMUNITY_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_COMMUNITY_EDIT_OPTIONS_SCHEMA" | "ERR_INVALID_CHALLENGE_ANSWERS" | "ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED" | "ERR_INVALID_CREATE_PKC_WS_SERVER_OPTIONS_SCHEMA" | "ERR_INVALID_CREATE_PKC_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_WITH_RPC_ARGS_SCHEMA" | "ERR_CHALLENGE_EXCLUDE_ADDRESS_FIELD_REMOVED" | "ERR_CHALLENGE_EXCLUDE_ROLE_FIELD_RENAMED" | "ERR_CHALLENGE_EXCLUDE_PUBLIC_KEYS_MUST_NOT_BE_DOMAIN" | "ERR_CHALLENGE_EXCLUDE_NAMES_MUST_BE_DOMAIN" | "ERR_CAN_NOT_SET_EXCLUDE_PUBLICATION_TO_EMPTY_OBJECT" | "ERR_COMMUNITY_HAS_NO_INTERNAL_STATE" | "ERR_AUTHOR_ADDRESS_NOT_MATCHING_SIGNER" | "ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58" | "ERR_SIGNATURE_PUBLIC_KEY_IS_NOT_B58" | "ERR_PUBLICATION_FAILED_TO_DECRYPT_CHALLENGE" | "ERR_SIGNATURE_IS_INVALID" | "ERR_SIGNATURE_HAS_NO_PUBLIC_KEY" | "ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID" | "ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED" | "ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY" | "ERR_AUTHOR_NOT_MATCHING_SIGNATURE" | "ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN" | "ERR_COMMUNITY_IPNS_NAME_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMUNITY_ENCRYPTION_PUBLIC_KEY_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMENT_SHOULD_BE_THE_LATEST_EDIT" | "ERR_COMMENT_UPDATE_IS_NOT_SIGNED_BY_COMMUNITY" | "ERR_AUTHOR_EDIT_IS_NOT_SIGNED_BY_AUTHOR" | "ERR_COMMENT_UPDATE_DIFFERENT_CID_THAN_COMMENT" | "ERR_PAGE_COMMENT_POST_HAS_POST_CID_DEFINED_WITH_DEPTH_0" | "ERR_CHALLENGE_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_VERIFICATION_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_REQUEST_ID_NOT_DERIVED_FROM_SIGNATURE" | "ERR_CHALLENGE_SIGNATURE_IS_INVALID" | "ERR_CHALLENGE_VERIFICATION_SIGNATURE_IS_INVALID" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SIGNATURE" | "ERR_COMMUNITY_POSTS_INVALID" | "ERR_COMMENT_IPFS_SIGNATURE_IS_INVALID" | "ERR_COMMENT_UPDATE_SIGNATURE_IS_INVALID" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_IPFS_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_EDIT_HAS_RESERVED_FIELD" | "ERR_COMMUNITY_SIGNATURE_IS_INVALID" | "ERR_COMMUNITY_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_DOES_NOT_MATCH_CHAIN_ANCHOR" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_IS_NOT_ENDORSED" | "ERR_FAILED_TO_RESOLVE_COMMUNITY_DOMAIN" | "ERR_AUTHOR_NAME_HAS_NO_RECORD" | "ERR_COMMUNITY_FAILED_TO_RESOLVE_AUTHOR_NAME" | "ERR_COMMUNITY_HAS_NO_RESOLVER_FOR_AUTHOR_NAME_TLD" | "ERR_AUTHOR_NAME_RECORD_IS_NOT_A_VALID_KEY" | "ERR_AUTHOR_DOMAIN_RESOLVES_TO_DIFFERENT_SIGNER" | "ERR_COMMUNITY_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_VOTE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_MODERATION_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_PUBSUB_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_REQUEST_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_ANSWER_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_VERIFICATION_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_CHANGED_COMMENT_PUBSUB_PUBLICATION_PROPS" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENT" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENTUPDATE" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_CID" | "ERR_PAGE_COMMENT_IS_INVALID" | "ERR_PAGE_COMMENT_IS_A_REPLY_BUT_HAS_NO_PARENT_COMMENT_INSTANCE" | "ERR_PAGE_COMMENT_DEPTH_VALUE_IS_NOT_RELATIVE_TO_ITS_PARENT" | "ERR_PAGE_COMMENT_PARENT_DOES_NOT_EXIST_IN_FLAT_PAGE" | "ERR_PAGE_COMMENT_POST_CID_IS_NOT_SAME_AS_POST_CID_OF_COMMENT_INSTANCE" | "ERR_REPLY_IN_FLAT_PAGE_HAS_NO_PARENT_CID" | "ERR_PAGE_COMMENT_NO_WAY_TO_DERIVE_POST_CID" | "ERR_POSTS_PAGE_IS_INVALID" | "ERR_REPLIES_PAGE_IS_INVALID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_FAILED_TO_FIND_REPLY_COMMENT_UPDATE_WITHIN_PARENT_COMMENT_PAGE_CIDS" | "ERR_COMMUNITY_REGISTRY_LOOKUP_HAS_NO_ALIASES" | "ERR_INVALID_COMMENT_IPFS" | "ERR_COMMENT_MISSING_POST_CID" | "ERR_INVALID_COMMENT_UPDATE" | "ERR_COMMENT_IN_PAGE_BELONG_TO_DIFFERENT_COMMUNITY" | "ERR_PARENT_CID_OF_COMMENT_IN_PAGE_IS_NOT_CORRECT" | "ERR_PAGE_SIGNATURE_IS_INVALID" | "ERR_MOD_QUEUE_PAGE_IS_INVALID" | "ERR_CHALLENGE_ANSWER_WITH_NO_CHALLENGE_REQUEST" | "ERR_COMMUNITY_TIMED_OUT_WAITING_FOR_CHALLENGE_ANSWER" | "ERR_REUSED_PUBSUB_MSG_SIGNER" | "ERR_PUBSUB_MSG_TIMESTAMP_IS_OUTDATED" | "ERR_UNAUTHORIZED_COMMENT_EDIT" | "ERR_COMMUNITY_COMMENT_TIMESTAMP_IS_EARLIER_THAN_PARENT" | "ERR_USER_PUBLISHED_UNDER_PENDING_COMMENT" | "ERR_USER_PUBLISHED_UNDER_DISAPPROVED_COMMENT" | "ERR_MOD_ATTEMPTING_TO_APPROVE_OR_DISAPPROVE_COMMENT_THAT_IS_NOT_PENDING" | "ERR_PUBLICATION_PARENT_DOES_NOT_EXIST_IN_COMMUNITY" | "ERR_COMMUNITY_PUBLICATION_PARENT_CID_NOT_DEFINED" | "ERR_PUBLICATION_INVALID_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_SUBPLEBBIT_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY" | "ERR_PUBLICATION_SIGNED_TO_MINTER_INSTEAD_OF_ANCHOR" | "ERR_PUBLICATION_INVALID_COMMUNITY_NAME" | "ERR_PUBLICATION_MISSING_COMMUNITY_NAME" | "ERR_AUTHOR_IS_BANNED" | "ERR_PUBLICATION_HAS_NO_AUTHOR_ADDRESS" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_LOCKED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_ARCHIVED" | "ERR_FORBIDDEN_AUTHOR_FIELD" | "ERR_FORBIDDEN_COMMENT_FIELD" | "ERR_FORBIDDEN_SIGNER_FIELD" | "ERR_DUPLICATE_COMMENT" | "ERR_DUPLICATE_COMMENT_MODERATION" | "ERR_DUPLICATE_COMMENT_EDIT" | "ERR_AUTHOR_ADDRESS_UNDEFINED" | "ERR_COMMUNITY_FAILED_TO_DECRYPT_PUBSUB_MSG" | "ERR_REQUEST_PUBLICATION_OVER_ALLOWED_SIZE" | "UNAUTHORIZED_AUTHOR_ATTEMPTED_TO_CHANGE_VOTE" | "COMMENT_LINK_LENGTH_IS_OVER_LIMIT" | "INCORRECT_VOTE_VALUE" | "ERR_COMMENT_HAS_INVALID_LINK_FIELD" | "ERR_POST_LINK_IS_NOT_OF_MEDIA" | "ERR_REPLY_HAS_INVALID_LINK_FIELD" | "ERR_REPLY_LINK_IS_NOT_OF_MEDIA" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_IMAGE" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_IMAGE" | "ERR_COMMENT_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_SPOILER_ENABLED" | "ERR_REPLY_HAS_LINK_THAT_IS_IMAGE" | "ERR_REPLY_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_AUDIO" | "ERR_REPLY_HAS_SPOILER_ENABLED" | "ERR_NESTED_REPLIES_NOT_ALLOWED" | "ERR_COMMENT_HAS_NO_CONTENT_LINK_TITLE" | "ERR_COMMENT_EDIT_HAS_NO_EDIT_FIELD" | "ERR_COMMENT_MODERATION_HAS_NO_MODERATION_FIELD" | "ERR_REQUEST_ENCRYPTED_IS_INVALID_JSON_AFTER_DECRYPTION" | "ERR_REQUEST_ENCRYPTED_HAS_INVALID_SCHEMA_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_NO_PUBLICATION_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_MULTIPLE_PUBLICATIONS_AFTER_DECRYPTING" | "ERR_CHALLENGE_ANSWER_IS_INVALID_JSON" | "ERR_CHALLENGE_ANSWER_IS_INVALID_SCHEMA" | "ERR_COMMENT_HAS_RESERVED_FIELD" | "ERR_VOTE_HAS_RESERVED_FIELD" | "ERR_COMMENT_EDIT_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_IS_AN_EMPTY_OBJECT" | "ERR_PUBLICATION_HAS_MALFORMED_UNICODE_STRING" | "ERR_COMMUNITY_CANNOT_STORE_PUBLICATION_VERBATIM" | "ERR_COMMENT_EDIT_CAN_NOT_EDIT_COMMENT_IF_NOT_ORIGINAL_AUTHOR" | "ERR_COMMENT_MODERATION_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_EDIT_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_MODERATION_HAS_RESERVED_FIELD" | "ERR_COMMENT_MODERATION_ATTEMPTED_WITHOUT_BEING_MODERATOR" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_OWNER_EXCLUSIVE_PROPS" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_COMMUNITY_WITHOUT_BEING_OWNER_OR_ADMIN" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_NON_PUBLIC_PROPS" | "ERR_PUBLICATION_TIMESTAMP_IS_NOT_IN_PROPER_RANGE" | "ERR_NOT_ALLOWED_TO_PUBLISH_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_UPVOTES" | "ERR_THERE_IS_NO_PREVIOUS_VOTE_TO_CANCEL" | "ERR_POST_FLAIRS_NOT_ALLOWED" | "ERR_POST_FLAIRS_REQUIRED" | "ERR_POST_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_AUTHOR_FLAIRS_NOT_ALLOWED" | "ERR_AUTHOR_FLAIRS_REQUIRED" | "ERR_AUTHOR_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_LOCK_REPLY" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_ARCHIVE_REPLY" | "ERR_NOT_ALLOWED_TO_ARCHIVE_POSTS" | "ERR_COMMUNITY_COMMENT_EDIT_UNAUTHORIZED_FIELD" | "ERR_PUBLISHING_EDIT_WITH_BOTH_MOD_AND_AUTHOR_FIELDS" | "ERR_FAILED_TO_RESOLVE_TEXT_RECORD" | "ERR_NO_CHAIN_PROVIDER_FOR_CHAIN_TICKER" | "ERR_NO_RESOLVER_FOR_NAME" | "ERR_ALL_NAME_RESOLVERS_FAILED" | "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" | "ERR_DOMAIN_COMMUNITY_ADDRESS_TXT_RECORD_POINT_TO_DIFFERENT_ADDRESS" | "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS" | "ERR_COMMUNITY_DOMAIN_HAS_NO_TEXT_RECORD" | "ERR_LOCAL_COMMUNITY_HAS_NO_SIGNER_IN_INTERNAL_STATE" | "ERR_COMMUNITY_STATE_LOCKED" | "ERR_COMMUNITY_CREATION_LOCKED" | "ERR_COMMUNITY_ALREADY_STARTED" | "ERR_FAILED_TO_IMPORT_IPFS_KEY" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_RECORD" | "ERR_FAILED_TO_PARSE_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_LOAD_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE_FACTORY" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE" | "ERR_CHALLENGE_FILE_INVALID" | "ERR_INVALID_RESULT_FROM_GET_CHALLENGE_FUNCTION" | "ERR_LOCAL_COMMUNITY_RECORD_TOO_LARGE" | "ERR_CAN_NOT_LOAD_DB_IF_LOCAL_COMMUNITY_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "ERR_CAN_NOT_EDIT_A_LOCAL_COMMUNITY_THAT_IS_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "CAN_NOT_LOAD_LOCAL_COMMUNITY_IF_DB_DOES_NOT_EXIST" | "ERR_COMMUNITY_START_FAILED_UNKNOWN_ERROR" | "ERR_COMMUNITY_ALREADY_STARTED_IN_SAME_PKC_INSTANCE" | "ERR_PAGE_GENERATED_IS_OVER_EXPECTED_SIZE" | "ERR_PUBSUB_FAILED_TO_SUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_UNSUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_PUBLISH" | "ERR_PUBSUB_DID_NOT_RECEIVE_RESPONSE_AFTER_PUBLISHING_CHALLENGE_REQUEST" | "ERR_ALL_PUBSUB_PROVIDERS_THROW_ERRORS" | "ERR_CHALLENGE_REQUEST_RECEIVED_NO_RESPONSE_FROM_ANY_PROVIDER" | "ERR_PUBLICATION_DID_NOT_RECEIVE_RESPONSE" | "ERR_RPC_AUTH_REQUIRED" | "ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC" | "ERR_FAILED_TO_CREATE_WS_RPC_SERVER" | "ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY" | "ERR_RPC_COMMUNITY_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY" | "ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION" | "ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION" | "ERR_GENERIC_RPC_CLIENT_CALL_ERROR" | "ERR_RPC_CALL_TIMED_OUT" | "ERR_RPC_CLIENT_CHALLENGE_NAME_NOT_AVAILABLE_ON_SERVER" | "ERR_ROLE_ADDRESS_NAME_COULD_NOT_BE_RESOLVED" | "ERR_COMMUNITY_NOT_LOCAL" | "ERR_COMMUNITY_NOT_FOUND" | "ERR_PRIVATE_KEY_EXPORT_NOT_ALLOWED" | "ERR_EXPORT_PATH_NOT_SUPPORTED_OVER_RPC" | "ERR_EXPORT_PATH_TARGETS_LIVE_DB" | "ERR_EXPORT_CANCELLED" | "ERR_EXPORT_BACKUP_FAILED" | "ERR_DOWNLOAD_EXPORT_ID_NOT_FOUND" | "ERR_CHALLENGE_RESULT_OVERRIDES_COMMENT_SIGNED_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMENT_UPDATE_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_NON_COMMUNITY_AUTHOR_KEY" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMUNITY_AUTHOR_FIELD" | "ERR_CHALLENGE_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_REQUIRED_OPTION_MISSING" | "ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES" | "ERR_CHALLENGE_NOT_REGISTERED" | "ERR_COMMUNITY_CHALLENGES_FAILED_TO_LOAD" | "ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY" | "ERR_PAGE_SORT_FILE_INVALID" | "ERR_PAGE_SORT_DUPLICATE_SORT_NAME" | "ERR_PAGE_SORT_SCOPE_MISMATCH" | "ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_PAGE_SORT_REQUIRED_OPTION_MISSING" | "ERR_PAGE_SORT_INVALID_RESERVED_OPTION" | "ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET" | "ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS" | "ERR_PAGE_SORT_FAILED_TO_GENERATE" | "ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE" | "ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER";
|
|
13
13
|
message: messages;
|
|
14
14
|
stack: string | undefined;
|
|
15
15
|
details: Record<string, any>;
|
|
@@ -103,6 +103,7 @@ export declare const CreateCommunityEditPublicationOptionsSchema: import("zod").
|
|
|
103
103
|
bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
104
104
|
backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
105
105
|
language: import("zod").ZodOptional<import("zod").ZodString>;
|
|
106
|
+
uiType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
106
107
|
}, import("zod/v4/core").$loose>>>;
|
|
107
108
|
address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
108
109
|
settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -282,6 +283,7 @@ export declare const CreateCommunityEditPublicationOptionsWithRefinementSchema:
|
|
|
282
283
|
bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
283
284
|
backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
284
285
|
language: import("zod").ZodOptional<import("zod").ZodString>;
|
|
286
|
+
uiType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
285
287
|
}, import("zod/v4/core").$loose>>>;
|
|
286
288
|
address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
287
289
|
settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -457,6 +459,7 @@ export declare const CommunityEditPubsubMessagePublicationSchema: import("zod").
|
|
|
457
459
|
bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
458
460
|
backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
459
461
|
language: import("zod").ZodOptional<import("zod").ZodString>;
|
|
462
|
+
uiType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
460
463
|
}, import("zod/v4/core").$loose>>>;
|
|
461
464
|
address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
462
465
|
settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -634,6 +637,7 @@ export declare const CommunityEditPublicationChallengeRequestToEncryptSchema: im
|
|
|
634
637
|
bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
635
638
|
backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
636
639
|
language: import("zod").ZodOptional<import("zod").ZodString>;
|
|
640
|
+
uiType: import("zod").ZodOptional<import("zod").ZodString>;
|
|
637
641
|
}, import("zod/v4/core").$loose>>>;
|
|
638
642
|
address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
|
|
639
643
|
settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -36,6 +36,7 @@ declare class Publication extends TypedEmitter<PublicationEvents> {
|
|
|
36
36
|
pubsubTopic?: CommunityIpfsType["pubsubTopic"];
|
|
37
37
|
};
|
|
38
38
|
_publishingToLocalCommunity?: LocalCommunity;
|
|
39
|
+
private _signedWithKnownCommunityFields;
|
|
39
40
|
_backgroundCommunityRefresh?: Promise<unknown>;
|
|
40
41
|
private _communityFetchAbortController?;
|
|
41
42
|
private _communityFetchAbortSignal?;
|
|
@@ -78,6 +79,7 @@ declare class Publication extends TypedEmitter<PublicationEvents> {
|
|
|
78
79
|
private _signPublication;
|
|
79
80
|
_signPublicationWithCommunityFields(): Promise<void>;
|
|
80
81
|
_signPublicationWithKnownCommunityFieldsIfAvailable(): Promise<void>;
|
|
82
|
+
private _isSignedWithoutTheLoadedCommunityName;
|
|
81
83
|
protected _validateSignatureHook(): Promise<void>;
|
|
82
84
|
protected _verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedVerification: DecryptedChallengeVerification): Promise<void>;
|
|
83
85
|
protected getType(): PublicationTypeName;
|
|
@@ -17,13 +17,17 @@ import { ChallengeRequestMessageSchema, ChallengeAnswerMessageSchema, ChallengeM
|
|
|
17
17
|
import { decodeRpcChallengeAnswerPubsubMsg, decodeRpcChallengePubsubMsg, decodeRpcChallengeRequestPubsubMsg, decodeRpcChallengeVerificationPubsubMsg } from "../clients/rpc-client/decode-rpc-response-util.js";
|
|
18
18
|
import { PublicationClientsManager } from "./publication-client-manager.js";
|
|
19
19
|
import { buildRuntimeAuthor } from "./publication-author.js";
|
|
20
|
-
import { buildRuntimeCommunityFields, normalizeCommunityInputFromCommunity } from "./publication-community.js";
|
|
20
|
+
import { buildRuntimeCommunityFields, getCommunityNameFromWire, normalizeCommunityInputFromCommunity } from "./publication-community.js";
|
|
21
21
|
class Publication extends TypedEmitter {
|
|
22
22
|
constructor(pkc) {
|
|
23
23
|
super();
|
|
24
24
|
this.raw = {};
|
|
25
25
|
// private
|
|
26
26
|
this._community = undefined; // will be used for publishing
|
|
27
|
+
// The message createX signed with only the community fields it knew, and the options it signed it from. When it was
|
|
28
|
+
// created with just the community's key, publish() re-signs it with the name of the community it loaded (issue #401).
|
|
29
|
+
// Initialized (not just declared) so hideClassPrivateProps sees it and keeps it out of JSON.
|
|
30
|
+
this._signedWithKnownCommunityFields = undefined;
|
|
27
31
|
this._challengeExchanges = {};
|
|
28
32
|
this._rpcPublishSubscriptionId = undefined;
|
|
29
33
|
this._pkc = pkc;
|
|
@@ -116,12 +120,25 @@ class Publication extends TypedEmitter {
|
|
|
116
120
|
async _signPublicationWithKnownCommunityFieldsIfAvailable() {
|
|
117
121
|
if (!this.communityPublicKey || this.raw.pubsubMessageToPublish || !this.raw.unsignedPublicationOptions)
|
|
118
122
|
return;
|
|
123
|
+
const unsignedOptions = this.raw.unsignedPublicationOptions;
|
|
119
124
|
await this._signPublication({
|
|
120
125
|
communityFields: {
|
|
121
126
|
communityPublicKey: this.communityPublicKey,
|
|
122
127
|
...(this.communityName ? { communityName: this.communityName } : {})
|
|
123
128
|
}
|
|
124
129
|
});
|
|
130
|
+
if (this.raw.pubsubMessageToPublish)
|
|
131
|
+
this._signedWithKnownCommunityFields = { message: this.raw.pubsubMessageToPublish, unsignedOptions };
|
|
132
|
+
}
|
|
133
|
+
// A community with a name rejects a publication without it (ERR_PUBLICATION_MISSING_COMMUNITY_NAME), so one createX
|
|
134
|
+
// signed knowing only the community's key is signed again once the loaded record shows the community has a name. Only
|
|
135
|
+
// the message createX signed is re-signed: a message set another way, or signed with a name, is published as it is.
|
|
136
|
+
_isSignedWithoutTheLoadedCommunityName() {
|
|
137
|
+
const signed = this._signedWithKnownCommunityFields;
|
|
138
|
+
return Boolean(signed &&
|
|
139
|
+
this.raw.pubsubMessageToPublish === signed.message &&
|
|
140
|
+
this._community?.name &&
|
|
141
|
+
!getCommunityNameFromWire(signed.message));
|
|
125
142
|
}
|
|
126
143
|
async _validateSignatureHook() {
|
|
127
144
|
// Subclasses override to validate signature after signing
|
|
@@ -1148,6 +1165,12 @@ class Publication extends TypedEmitter {
|
|
|
1148
1165
|
if (this.raw.unsignedPublicationOptions && !this.raw.pubsubMessageToPublish) {
|
|
1149
1166
|
await this._signPublicationWithCommunityFields();
|
|
1150
1167
|
}
|
|
1168
|
+
else if (this._isSignedWithoutTheLoadedCommunityName()) {
|
|
1169
|
+
log(`Re-signing the ${this.getType()} with the name of community ${this._community.name}; it was created with only the community's key`);
|
|
1170
|
+
this.raw.unsignedPublicationOptions = this._signedWithKnownCommunityFields.unsignedOptions;
|
|
1171
|
+
this._signedWithKnownCommunityFields = undefined;
|
|
1172
|
+
await this._signPublicationWithCommunityFields();
|
|
1173
|
+
}
|
|
1151
1174
|
await this._validateSignatureHook();
|
|
1152
1175
|
if (this._pkc._pkcRpcClient)
|
|
1153
1176
|
return this._publishWithRpc();
|