@pkcprotocol/pkc-js 0.0.15 → 0.0.17
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/dist/browser/clients/base-client-manager.d.ts +7 -5
- package/dist/browser/clients/base-client-manager.js +38 -23
- package/dist/browser/clients/base-client-manager.js.map +1 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +24 -29
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js +56 -67
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +25 -8
- package/dist/browser/clients/rpc-client/rpc-schema-util.js +12 -6
- package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/browser/clients/rpc-client/schema.d.ts +14 -10
- package/dist/browser/clients/rpc-client/schema.js +14 -11
- package/dist/browser/clients/rpc-client/schema.js.map +1 -1
- package/dist/browser/clients/rpc-client/types.d.ts +20 -3
- package/dist/browser/community/community-client-manager.js +19 -8
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/community/remote-community.d.ts +1 -0
- package/dist/browser/community/remote-community.js +30 -5
- package/dist/browser/community/remote-community.js.map +1 -1
- package/dist/browser/community/rpc-local-community.js +11 -6
- package/dist/browser/community/rpc-local-community.js.map +1 -1
- package/dist/browser/community/rpc-remote-community.js +11 -9
- package/dist/browser/community/rpc-remote-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +1 -1
- package/dist/browser/community/schema.js +1 -2
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/errors.d.ts +2 -3
- package/dist/browser/errors.js +1 -2
- 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/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/pages/pages-client-manager.js +11 -8
- package/dist/browser/pages/pages-client-manager.js.map +1 -1
- package/dist/browser/pages/pages.d.ts +1 -1
- package/dist/browser/pages/pages.js +2 -2
- package/dist/browser/pages/pages.js.map +1 -1
- package/dist/browser/pkc/pkc-with-rpc-client.d.ts +8 -3
- package/dist/browser/pkc/pkc-with-rpc-client.js +9 -3
- package/dist/browser/pkc/pkc-with-rpc-client.js.map +1 -1
- package/dist/browser/pkc/pkc.d.ts +8 -5
- package/dist/browser/pkc/pkc.js +37 -25
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc/tracked-instance-registry-util.d.ts +4 -2
- package/dist/browser/pkc/tracked-instance-registry-util.js +2 -0
- package/dist/browser/pkc/tracked-instance-registry-util.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/publications/comment/comment-client-manager.d.ts +1 -1
- package/dist/browser/publications/comment/comment-client-manager.js +37 -16
- package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/browser/publications/comment/comment.js +19 -9
- package/dist/browser/publications/comment/comment.js.map +1 -1
- package/dist/browser/publications/publication-client-manager.js +9 -6
- package/dist/browser/publications/publication-client-manager.js.map +1 -1
- package/dist/browser/publications/publication.d.ts +3 -1
- package/dist/browser/publications/publication.js +21 -17
- package/dist/browser/publications/publication.js.map +1 -1
- package/dist/browser/publications/types.d.ts +0 -1
- package/dist/browser/rpc/src/index.d.ts +23 -409
- package/dist/browser/rpc/src/index.js +81 -49
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/rpc/src/schema.d.ts +3 -60
- package/dist/browser/runtime/node/community/challenges/index.js +1 -2
- package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.js +31 -19
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/schema/schema-util.js +4 -4
- package/dist/browser/schema/schema-util.js.map +1 -1
- package/dist/browser/schema/schema.d.ts +1 -0
- package/dist/browser/schema/schema.js +6 -0
- package/dist/browser/schema/schema.js.map +1 -1
- package/dist/browser/schema.d.ts +17 -132
- package/dist/browser/schema.js +19 -21
- package/dist/browser/schema.js.map +1 -1
- package/dist/browser/signer/signatures.d.ts +2 -1
- package/dist/browser/signer/signatures.js +34 -19
- package/dist/browser/signer/signatures.js.map +1 -1
- package/dist/browser/signer/util.d.ts +6 -6
- package/dist/browser/signer/util.js +25 -25
- package/dist/browser/signer/util.js.map +1 -1
- package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js +2 -1
- package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -1
- package/dist/browser/test/test-util.js +30 -8
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/browser/types.d.ts +5 -0
- package/dist/browser/util.js +32 -12
- package/dist/browser/util.js.map +1 -1
- package/dist/node/clients/base-client-manager.d.ts +7 -5
- package/dist/node/clients/base-client-manager.js +38 -23
- package/dist/node/clients/base-client-manager.js.map +1 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +24 -29
- package/dist/node/clients/rpc-client/pkc-rpc-client.js +56 -67
- package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +25 -8
- package/dist/node/clients/rpc-client/rpc-schema-util.js +12 -6
- package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/node/clients/rpc-client/schema.d.ts +14 -10
- package/dist/node/clients/rpc-client/schema.js +14 -11
- package/dist/node/clients/rpc-client/schema.js.map +1 -1
- package/dist/node/clients/rpc-client/types.d.ts +20 -3
- package/dist/node/community/community-client-manager.js +19 -8
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/community/remote-community.d.ts +1 -0
- package/dist/node/community/remote-community.js +30 -5
- package/dist/node/community/remote-community.js.map +1 -1
- package/dist/node/community/rpc-local-community.js +11 -6
- package/dist/node/community/rpc-local-community.js.map +1 -1
- package/dist/node/community/rpc-remote-community.js +11 -9
- package/dist/node/community/rpc-remote-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +1 -1
- package/dist/node/community/schema.js +1 -2
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/errors.d.ts +2 -3
- package/dist/node/errors.js +1 -2
- 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/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/pages/pages-client-manager.js +11 -8
- package/dist/node/pages/pages-client-manager.js.map +1 -1
- package/dist/node/pages/pages.d.ts +1 -1
- package/dist/node/pages/pages.js +2 -2
- package/dist/node/pages/pages.js.map +1 -1
- package/dist/node/pkc/pkc-with-rpc-client.d.ts +8 -3
- package/dist/node/pkc/pkc-with-rpc-client.js +9 -3
- package/dist/node/pkc/pkc-with-rpc-client.js.map +1 -1
- package/dist/node/pkc/pkc.d.ts +8 -5
- package/dist/node/pkc/pkc.js +37 -25
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc/tracked-instance-registry-util.d.ts +4 -2
- package/dist/node/pkc/tracked-instance-registry-util.js +2 -0
- package/dist/node/pkc/tracked-instance-registry-util.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/publications/comment/comment-client-manager.d.ts +1 -1
- package/dist/node/publications/comment/comment-client-manager.js +37 -16
- package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/node/publications/comment/comment.js +19 -9
- package/dist/node/publications/comment/comment.js.map +1 -1
- package/dist/node/publications/publication-client-manager.js +9 -6
- package/dist/node/publications/publication-client-manager.js.map +1 -1
- package/dist/node/publications/publication.d.ts +3 -1
- package/dist/node/publications/publication.js +21 -17
- package/dist/node/publications/publication.js.map +1 -1
- package/dist/node/publications/types.d.ts +0 -1
- package/dist/node/rpc/src/index.d.ts +23 -409
- package/dist/node/rpc/src/index.js +81 -49
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/rpc/src/schema.d.ts +3 -60
- package/dist/node/runtime/node/community/challenges/index.js +1 -2
- package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.js +31 -19
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/schema/schema-util.js +4 -4
- package/dist/node/schema/schema-util.js.map +1 -1
- package/dist/node/schema/schema.d.ts +1 -0
- package/dist/node/schema/schema.js +6 -0
- package/dist/node/schema/schema.js.map +1 -1
- package/dist/node/schema.d.ts +17 -132
- package/dist/node/schema.js +19 -21
- package/dist/node/schema.js.map +1 -1
- package/dist/node/signer/signatures.d.ts +2 -1
- package/dist/node/signer/signatures.js +34 -19
- package/dist/node/signer/signatures.js.map +1 -1
- package/dist/node/signer/util.d.ts +6 -6
- package/dist/node/signer/util.js +25 -25
- package/dist/node/signer/util.js.map +1 -1
- package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js +2 -1
- package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -1
- package/dist/node/test/test-util.js +30 -8
- package/dist/node/test/test-util.js.map +1 -1
- package/dist/node/types.d.ts +5 -0
- package/dist/node/util.js +32 -12
- package/dist/node/util.js.map +1 -1
- package/package.json +12 -18
|
@@ -4,24 +4,22 @@ export declare const parseRpcCidParam: (params: unknown) => {
|
|
|
4
4
|
communityPublicKey?: string | undefined;
|
|
5
5
|
communityName?: string | undefined;
|
|
6
6
|
};
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const parseRpcFetchCidParam: (params: unknown) => {
|
|
8
8
|
[x: string]: unknown;
|
|
9
|
-
|
|
9
|
+
cid: string;
|
|
10
10
|
};
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const parseRpcCommunityIdentifierParam: (params: unknown) => {
|
|
12
12
|
[x: string]: unknown;
|
|
13
|
-
address?: string | undefined;
|
|
14
13
|
name?: string | undefined;
|
|
15
14
|
publicKey?: string | undefined;
|
|
16
15
|
};
|
|
17
16
|
export declare const parseRpcAuthorNameParam: (params: unknown) => {
|
|
18
17
|
[x: string]: unknown;
|
|
19
|
-
|
|
18
|
+
name: string;
|
|
20
19
|
};
|
|
21
20
|
export declare const parseRpcCommunityPageParam: (params: unknown) => {
|
|
22
21
|
[x: string]: unknown;
|
|
23
22
|
cid: string;
|
|
24
|
-
communityAddress: string;
|
|
25
23
|
type: "posts" | "modqueue";
|
|
26
24
|
pageMaxSize: number;
|
|
27
25
|
communityPublicKey?: string | undefined;
|
|
@@ -29,7 +27,6 @@ export declare const parseRpcCommunityPageParam: (params: unknown) => {
|
|
|
29
27
|
};
|
|
30
28
|
export declare const parseRpcCommentRepliesPageParam: (params: unknown) => {
|
|
31
29
|
[x: string]: unknown;
|
|
32
|
-
communityAddress: string;
|
|
33
30
|
cid: string;
|
|
34
31
|
pageMaxSize: number;
|
|
35
32
|
commentCid: string;
|
|
@@ -37,7 +34,7 @@ export declare const parseRpcCommentRepliesPageParam: (params: unknown) => {
|
|
|
37
34
|
communityName?: string | undefined;
|
|
38
35
|
};
|
|
39
36
|
export declare const parseRpcEditCommunityParam: (params: unknown) => {
|
|
40
|
-
|
|
37
|
+
[x: string]: unknown;
|
|
41
38
|
editOptions: {
|
|
42
39
|
name?: string | undefined;
|
|
43
40
|
flairs?: Record<string, {
|
|
@@ -143,11 +140,31 @@ export declare const parseRpcEditCommunityParam: (params: unknown) => {
|
|
|
143
140
|
role: string;
|
|
144
141
|
} | undefined> | undefined;
|
|
145
142
|
};
|
|
143
|
+
name?: string | undefined;
|
|
144
|
+
publicKey?: string | undefined;
|
|
146
145
|
};
|
|
147
146
|
export declare const parseRpcPublishChallengeAnswersParam: (params: unknown) => {
|
|
147
|
+
[x: string]: unknown;
|
|
148
148
|
subscriptionId: number;
|
|
149
149
|
challengeAnswers: string[];
|
|
150
150
|
};
|
|
151
151
|
export declare const parseRpcUnsubscribeParam: (params: unknown) => {
|
|
152
|
+
[x: string]: unknown;
|
|
153
|
+
subscriptionId: number;
|
|
154
|
+
};
|
|
155
|
+
export declare const parseRpcResolveAuthorNameResult: (result: unknown) => {
|
|
156
|
+
[x: string]: unknown;
|
|
157
|
+
resolvedAuthorName: string | null;
|
|
158
|
+
};
|
|
159
|
+
export declare const parseRpcFetchCidResult: (result: unknown) => {
|
|
160
|
+
[x: string]: unknown;
|
|
161
|
+
content: string;
|
|
162
|
+
};
|
|
163
|
+
export declare const parseRpcSuccessResult: (result: unknown) => {
|
|
164
|
+
[x: string]: unknown;
|
|
165
|
+
success: true;
|
|
166
|
+
};
|
|
167
|
+
export declare const parseRpcSubscriptionIdResult: (result: unknown) => {
|
|
168
|
+
[x: string]: unknown;
|
|
152
169
|
subscriptionId: number;
|
|
153
170
|
};
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { RpcAuthorNameParamSchema, RpcCidParamSchema, RpcCommentRepliesPageParamSchema, RpcEditCommunityParamSchema, RpcPublishChallengeAnswersParamSchema,
|
|
1
|
+
import { RpcAuthorNameParamSchema, RpcCidParamSchema, RpcFetchCidParamSchema, RpcCommentRepliesPageParamSchema, RpcEditCommunityParamSchema, RpcPublishChallengeAnswersParamSchema, RpcCommunityIdentifierParamSchema, RpcCommunityPageParamSchema, RpcUnsubscribeParamSchema, RpcResolveAuthorNameResultSchema, RpcFetchCidResultSchema, RpcSuccessResultSchema, RpcSubscriptionIdResultSchema } from "./schema.js";
|
|
2
|
+
// Param parsers — all use .loose() so newer clients can send extra fields
|
|
2
3
|
export const parseRpcCidParam = (params) => RpcCidParamSchema.loose().parse(params);
|
|
3
|
-
export const
|
|
4
|
-
export const
|
|
4
|
+
export const parseRpcFetchCidParam = (params) => RpcFetchCidParamSchema.loose().parse(params);
|
|
5
|
+
export const parseRpcCommunityIdentifierParam = (params) => RpcCommunityIdentifierParamSchema.loose().parse(params);
|
|
5
6
|
export const parseRpcAuthorNameParam = (params) => RpcAuthorNameParamSchema.loose().parse(params);
|
|
6
7
|
export const parseRpcCommunityPageParam = (params) => RpcCommunityPageParamSchema.loose().parse(params);
|
|
7
8
|
export const parseRpcCommentRepliesPageParam = (params) => RpcCommentRepliesPageParamSchema.loose().parse(params);
|
|
8
|
-
export const parseRpcEditCommunityParam = (params) => RpcEditCommunityParamSchema.parse(params);
|
|
9
|
-
export const parseRpcPublishChallengeAnswersParam = (params) => RpcPublishChallengeAnswersParamSchema.parse(params);
|
|
10
|
-
export const parseRpcUnsubscribeParam = (params) => RpcUnsubscribeParamSchema.parse(params);
|
|
9
|
+
export const parseRpcEditCommunityParam = (params) => RpcEditCommunityParamSchema.loose().parse(params);
|
|
10
|
+
export const parseRpcPublishChallengeAnswersParam = (params) => RpcPublishChallengeAnswersParamSchema.loose().parse(params);
|
|
11
|
+
export const parseRpcUnsubscribeParam = (params) => RpcUnsubscribeParamSchema.loose().parse(params);
|
|
12
|
+
// Result parsers — all use .loose() so newer servers can send extra fields
|
|
13
|
+
export const parseRpcResolveAuthorNameResult = (result) => RpcResolveAuthorNameResultSchema.loose().parse(result);
|
|
14
|
+
export const parseRpcFetchCidResult = (result) => RpcFetchCidResultSchema.loose().parse(result);
|
|
15
|
+
export const parseRpcSuccessResult = (result) => RpcSuccessResultSchema.loose().parse(result);
|
|
16
|
+
export const parseRpcSubscriptionIdResult = (result) => RpcSubscriptionIdResultSchema.loose().parse(result);
|
|
11
17
|
//# sourceMappingURL=rpc-schema-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-schema-util.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/rpc-schema-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,iBAAiB,EACjB,gCAAgC,EAChC,2BAA2B,EAC3B,qCAAqC,EACrC,
|
|
1
|
+
{"version":3,"file":"rpc-schema-util.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/rpc-schema-util.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,qCAAqC,EACrC,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAChC,MAAM,aAAa,CAAC;AAErB,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,iCAAiC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC7H,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3H,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,qCAAqC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACrI,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE7G,2EAA2E;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3H,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -274,22 +274,20 @@ export declare const RpcCidParamSchema: z.ZodObject<{
|
|
|
274
274
|
communityPublicKey: z.ZodOptional<z.ZodString>;
|
|
275
275
|
communityName: z.ZodOptional<z.ZodString>;
|
|
276
276
|
}, z.core.$loose>;
|
|
277
|
-
export declare const
|
|
278
|
-
address: z.ZodString;
|
|
279
|
-
}, z.core.$strip>;
|
|
280
|
-
export declare const RpcCommunityLookupParamSchema: z.ZodObject<{
|
|
281
|
-
address: z.ZodOptional<z.ZodString>;
|
|
277
|
+
export declare const RpcCommunityIdentifierParamSchema: z.ZodObject<{
|
|
282
278
|
name: z.ZodOptional<z.ZodString>;
|
|
283
279
|
publicKey: z.ZodOptional<z.ZodString>;
|
|
284
280
|
}, z.core.$strip>;
|
|
281
|
+
export declare const RpcFetchCidParamSchema: z.ZodObject<{
|
|
282
|
+
cid: z.ZodString;
|
|
283
|
+
}, z.core.$strip>;
|
|
285
284
|
export declare const RpcAuthorNameParamSchema: z.ZodObject<{
|
|
286
|
-
|
|
285
|
+
name: z.ZodString;
|
|
287
286
|
}, z.core.$strip>;
|
|
288
287
|
export declare const RpcCommunityPageParamSchema: z.ZodObject<{
|
|
289
288
|
cid: z.ZodString;
|
|
290
289
|
communityPublicKey: z.ZodOptional<z.ZodString>;
|
|
291
290
|
communityName: z.ZodOptional<z.ZodString>;
|
|
292
|
-
communityAddress: z.ZodString;
|
|
293
291
|
type: z.ZodEnum<{
|
|
294
292
|
posts: "posts";
|
|
295
293
|
modqueue: "modqueue";
|
|
@@ -297,7 +295,6 @@ export declare const RpcCommunityPageParamSchema: z.ZodObject<{
|
|
|
297
295
|
pageMaxSize: z.ZodNumber;
|
|
298
296
|
}, z.core.$loose>;
|
|
299
297
|
export declare const RpcCommentRepliesPageParamSchema: z.ZodObject<{
|
|
300
|
-
communityAddress: z.ZodString;
|
|
301
298
|
communityPublicKey: z.ZodOptional<z.ZodString>;
|
|
302
299
|
communityName: z.ZodOptional<z.ZodString>;
|
|
303
300
|
cid: z.ZodString;
|
|
@@ -305,7 +302,8 @@ export declare const RpcCommentRepliesPageParamSchema: z.ZodObject<{
|
|
|
305
302
|
commentCid: z.ZodString;
|
|
306
303
|
}, z.core.$loose>;
|
|
307
304
|
export declare const RpcEditCommunityParamSchema: z.ZodObject<{
|
|
308
|
-
|
|
305
|
+
name: z.ZodOptional<z.ZodString>;
|
|
306
|
+
publicKey: z.ZodOptional<z.ZodString>;
|
|
309
307
|
editOptions: z.ZodObject<{
|
|
310
308
|
name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
311
309
|
flairs: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
@@ -435,5 +433,11 @@ export declare const RpcFetchCidResultSchema: z.ZodObject<{
|
|
|
435
433
|
content: z.ZodString;
|
|
436
434
|
}, z.core.$strip>;
|
|
437
435
|
export declare const RpcResolveAuthorNameResultSchema: z.ZodObject<{
|
|
438
|
-
|
|
436
|
+
resolvedAuthorName: z.ZodNullable<z.ZodString>;
|
|
437
|
+
}, z.core.$strip>;
|
|
438
|
+
export declare const RpcSuccessResultSchema: z.ZodObject<{
|
|
439
|
+
success: z.ZodLiteral<true>;
|
|
440
|
+
}, z.core.$strip>;
|
|
441
|
+
export declare const RpcSubscriptionIdResultSchema: z.ZodObject<{
|
|
442
|
+
subscriptionId: z.ZodNumber;
|
|
439
443
|
}, z.core.$strip>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CommentIpfsSchema, CommentUpdateSchema } from "../../publications/comment/schema.js";
|
|
3
|
-
import { AuthorAddressSchema, ChallengeAnswersSchema, CidStringSchema
|
|
3
|
+
import { AuthorAddressSchema, ChallengeAnswersSchema, CidStringSchema } from "../../schema/schema.js";
|
|
4
4
|
import { CommunityEditOptionsSchema } from "../../community/schema.js";
|
|
5
5
|
export const SubscriptionIdSchema = z.number().positive().int();
|
|
6
6
|
export const RpcCommentEventResultSchema = z.object({
|
|
@@ -22,26 +22,27 @@ export const RpcCidParamSchema = z
|
|
|
22
22
|
communityName: z.string().min(1).optional()
|
|
23
23
|
})
|
|
24
24
|
.loose();
|
|
25
|
-
export const
|
|
26
|
-
export const RpcCommunityLookupParamSchema = z
|
|
25
|
+
export const RpcCommunityIdentifierParamSchema = z
|
|
27
26
|
.object({
|
|
28
|
-
address: CommunityAddressSchema.optional(),
|
|
29
27
|
name: z.string().min(1).optional(),
|
|
30
28
|
publicKey: z.string().min(1).optional()
|
|
31
29
|
})
|
|
32
|
-
.refine((args) => args.
|
|
33
|
-
export const
|
|
30
|
+
.refine((args) => args.name || args.publicKey, "At least one of name or publicKey must be provided");
|
|
31
|
+
export const RpcFetchCidParamSchema = z.object({ cid: CidStringSchema });
|
|
32
|
+
export const RpcAuthorNameParamSchema = z.object({ name: AuthorAddressSchema });
|
|
34
33
|
export const RpcCommunityPageParamSchema = RpcCidParamSchema.extend({
|
|
35
|
-
communityAddress: CommunityAddressSchema,
|
|
36
34
|
type: z.enum(["posts", "modqueue"]),
|
|
37
35
|
pageMaxSize: z.number().positive().int()
|
|
38
36
|
});
|
|
39
37
|
export const RpcCommentRepliesPageParamSchema = RpcCommunityPageParamSchema.omit({ type: true }).extend({ commentCid: CidStringSchema });
|
|
40
38
|
// Params for methods that previously used multiple positional args
|
|
41
|
-
export const RpcEditCommunityParamSchema = z
|
|
42
|
-
|
|
39
|
+
export const RpcEditCommunityParamSchema = z
|
|
40
|
+
.object({
|
|
41
|
+
name: z.string().min(1).optional(),
|
|
42
|
+
publicKey: z.string().min(1).optional(),
|
|
43
43
|
editOptions: CommunityEditOptionsSchema
|
|
44
|
-
})
|
|
44
|
+
})
|
|
45
|
+
.refine((args) => args.name || args.publicKey, "At least one of name or publicKey must be provided");
|
|
45
46
|
export const RpcPublishChallengeAnswersParamSchema = z.object({
|
|
46
47
|
subscriptionId: SubscriptionIdSchema,
|
|
47
48
|
challengeAnswers: ChallengeAnswersSchema
|
|
@@ -51,5 +52,7 @@ export const RpcUnsubscribeParamSchema = z.object({ subscriptionId: Subscription
|
|
|
51
52
|
export const RpcStateChangeEventResultSchema = z.object({ state: z.string() });
|
|
52
53
|
export const RpcCommunitiesChangeEventResultSchema = z.object({ communities: z.array(z.string()) });
|
|
53
54
|
export const RpcFetchCidResultSchema = z.object({ content: z.string() });
|
|
54
|
-
export const RpcResolveAuthorNameResultSchema = z.object({
|
|
55
|
+
export const RpcResolveAuthorNameResultSchema = z.object({ resolvedAuthorName: z.string().nullable() });
|
|
56
|
+
export const RpcSuccessResultSchema = z.object({ success: z.literal(true) });
|
|
57
|
+
export const RpcSubscriptionIdResultSchema = z.object({ subscriptionId: SubscriptionIdSchema }); // parsed with .loose() in rpc-schema-util.ts
|
|
55
58
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { RpcAuthorNameParamSchema, RpcCidParamSchema,
|
|
2
|
+
import { RpcAuthorNameParamSchema, RpcCidParamSchema, RpcFetchCidParamSchema, RpcCommentRepliesPageParamSchema, RpcCommunityIdentifierParamSchema, RpcCommunityPageParamSchema, RpcEditCommunityParamSchema, RpcPublishChallengeAnswersParamSchema, RpcResolveAuthorNameResultSchema, RpcFetchCidResultSchema, RpcSuccessResultSchema, RpcSubscriptionIdResultSchema } from "./schema.js";
|
|
3
|
+
import type { PageIpfs, ModQueuePageIpfs } from "../../pages/types.js";
|
|
4
|
+
import type { PageRuntimeFields } from "../../pages/util.js";
|
|
3
5
|
export type CidRpcParam = z.infer<typeof RpcCidParamSchema>;
|
|
4
|
-
export type
|
|
5
|
-
export type
|
|
6
|
+
export type FetchCidRpcParam = z.infer<typeof RpcFetchCidParamSchema>;
|
|
7
|
+
export type CommunityIdentifierRpcParam = z.infer<typeof RpcCommunityIdentifierParamSchema>;
|
|
6
8
|
export type AuthorNameRpcParam = z.infer<typeof RpcAuthorNameParamSchema>;
|
|
7
9
|
export type CommentPageRpcParam = z.infer<typeof RpcCommentRepliesPageParamSchema>;
|
|
8
10
|
export type CommunityPageRpcParam = z.infer<typeof RpcCommunityPageParamSchema>;
|
|
11
|
+
export type EditCommunityRpcParam = z.infer<typeof RpcEditCommunityParamSchema>;
|
|
12
|
+
export type PublishChallengeAnswersRpcParam = z.infer<typeof RpcPublishChallengeAnswersParamSchema>;
|
|
13
|
+
export type RpcResolveAuthorNameResult = z.infer<typeof RpcResolveAuthorNameResultSchema>;
|
|
14
|
+
export type RpcFetchCidResult = z.infer<typeof RpcFetchCidResultSchema>;
|
|
15
|
+
export type RpcSuccessResult = z.infer<typeof RpcSuccessResultSchema>;
|
|
16
|
+
export type RpcSubscriptionIdResult = z.infer<typeof RpcSubscriptionIdResultSchema>;
|
|
17
|
+
export type { RpcInternalCommunityRecordBeforeFirstUpdateType, RpcLocalCommunityUpdateResultType } from "../../community/types.js";
|
|
18
|
+
export type RpcCommentPageResult = {
|
|
19
|
+
page: PageIpfs;
|
|
20
|
+
runtimeFields?: PageRuntimeFields;
|
|
21
|
+
};
|
|
22
|
+
export type RpcCommunityPageResult = {
|
|
23
|
+
page: PageIpfs | ModQueuePageIpfs;
|
|
24
|
+
runtimeFields?: PageRuntimeFields;
|
|
25
|
+
};
|
|
@@ -73,6 +73,8 @@ export class CommunityClientsManager extends PKCClientsManager {
|
|
|
73
73
|
super.preResolveNameResolver(opts);
|
|
74
74
|
if (this._suppressUpdatingStateForNameResolution > 0)
|
|
75
75
|
return;
|
|
76
|
+
if (opts.resolveType !== "community")
|
|
77
|
+
return;
|
|
76
78
|
this._community._setUpdatingStateWithEventEmissionIfNewState("resolving-name");
|
|
77
79
|
}
|
|
78
80
|
postResolveNameResolverSuccess(opts) {
|
|
@@ -128,10 +130,19 @@ export class CommunityClientsManager extends PKCClientsManager {
|
|
|
128
130
|
if (error instanceof PKCError)
|
|
129
131
|
error.details = { ...error.details, countOfLoadAttempts: curAttempt, retriableError: true };
|
|
130
132
|
log.trace(`Failed to load Community ${this._community.address} record for the ${curAttempt}th attempt. We will retry`, error);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
// Gateway signature errors are transient (e.g. stale IPNS cache) — log but don't emit error event
|
|
134
|
+
const isGatewaySignatureError = error instanceof FailedToFetchCommunityFromGatewaysError &&
|
|
135
|
+
Object.values(error.details.gatewayToError).every((gatewayError) => gatewayError instanceof PKCError && gatewayError.code === "ERR_COMMUNITY_SIGNATURE_IS_INVALID");
|
|
136
|
+
if (isGatewaySignatureError) {
|
|
137
|
+
log(`Community ${this._community.address} gateway returned invalid signature, silently retrying`);
|
|
138
|
+
this._community._setUpdatingStateWithEventEmissionIfNewState("waiting-retry");
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
this._community._changeStateEmitEventEmitStateChangeEvent({
|
|
142
|
+
event: { name: "error", args: [error] },
|
|
143
|
+
newUpdatingState: "waiting-retry"
|
|
144
|
+
});
|
|
145
|
+
}
|
|
135
146
|
this._ipnsLoadingOperation.retry(e);
|
|
136
147
|
}
|
|
137
148
|
}
|
|
@@ -219,10 +230,10 @@ export class CommunityClientsManager extends PKCClientsManager {
|
|
|
219
230
|
this._updateCidsAlreadyLoaded.clear();
|
|
220
231
|
}
|
|
221
232
|
// fetching community ipns here
|
|
222
|
-
async _resolveCommunityNameWithoutUpdatingState({
|
|
233
|
+
async _resolveCommunityNameWithoutUpdatingState({ communityName, abortSignal }) {
|
|
223
234
|
this._suppressUpdatingStateForNameResolution++;
|
|
224
235
|
try {
|
|
225
|
-
return await this.resolveCommunityNameIfNeeded({
|
|
236
|
+
return await this.resolveCommunityNameIfNeeded({ communityName, abortSignal });
|
|
226
237
|
}
|
|
227
238
|
finally {
|
|
228
239
|
this._suppressUpdatingStateForNameResolution--;
|
|
@@ -241,7 +252,7 @@ export class CommunityClientsManager extends PKCClientsManager {
|
|
|
241
252
|
}
|
|
242
253
|
};
|
|
243
254
|
this._resolveCommunityNameWithoutUpdatingState({
|
|
244
|
-
|
|
255
|
+
communityName: name,
|
|
245
256
|
abortSignal: this._community._getStopAbortSignal()
|
|
246
257
|
})
|
|
247
258
|
.then((resolved) => {
|
|
@@ -332,7 +343,7 @@ export class CommunityClientsManager extends PKCClientsManager {
|
|
|
332
343
|
else {
|
|
333
344
|
// Name only or publicKey only: use existing resolution flow
|
|
334
345
|
ipnsName = await this.resolveCommunityNameIfNeeded({
|
|
335
|
-
|
|
346
|
+
communityName: subAddress,
|
|
336
347
|
abortSignal: this._community._getStopAbortSignal()
|
|
337
348
|
});
|
|
338
349
|
}
|
|
@@ -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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"}
|
|
@@ -71,6 +71,7 @@ export declare class RemoteCommunity extends TypedEmitter<CommunityEvents> imple
|
|
|
71
71
|
initCommunityIpfsPropsNoMerge(newProps: CommunityIpfsType): void;
|
|
72
72
|
protected _updateIpnsPubsubPropsIfNeeded(newProps: CommunityJson | CreateRemoteCommunityOptions | CommunityIpfsType): void;
|
|
73
73
|
initRemoteCommunityPropsNoMerge(newProps: CommunityJson | CreateRemoteCommunityOptions | CommunityIpfsType): void;
|
|
74
|
+
private _assertHasIdentity;
|
|
74
75
|
setAddress(newAddress: string): void;
|
|
75
76
|
_clearDataForKeyMigration(newPublicKey: string): void;
|
|
76
77
|
protected _toJSONIpfsBaseNoPosts(): Pick<this, "signature" | "name" | "flairs" | "protocolVersion" | "lastCommentCid" | "encryption" | "createdAt" | "updatedAt" | "statsCid" | "title" | "challenges" | "description" | "pubsubTopic" | "postUpdates" | "roles" | "rules" | "lastPostCid" | "features" | "suggested">;
|
|
@@ -223,6 +223,12 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
223
223
|
else if (explicitPublicKey) {
|
|
224
224
|
this.publicKey = explicitPublicKey;
|
|
225
225
|
}
|
|
226
|
+
else if (!this.publicKey &&
|
|
227
|
+
"address" in newProps &&
|
|
228
|
+
typeof newProps.address === "string" &&
|
|
229
|
+
!isStringDomain(newProps.address)) {
|
|
230
|
+
this.publicKey = newProps.address;
|
|
231
|
+
}
|
|
226
232
|
if (typeof newProps.name === "string")
|
|
227
233
|
this.name = newProps.name;
|
|
228
234
|
else if (!this.name &&
|
|
@@ -242,6 +248,7 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
242
248
|
else {
|
|
243
249
|
// Address already set -- refresh tracking aliases without changing address
|
|
244
250
|
refreshTrackedCommunityAliases(this._pkc, this);
|
|
251
|
+
this._assertHasIdentity();
|
|
245
252
|
}
|
|
246
253
|
this._updateLocalPostsInstance(newProps.posts);
|
|
247
254
|
this._updateLocalModQueueInstance(newProps.modQueue);
|
|
@@ -249,6 +256,11 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
249
256
|
if ("updateCid" in newProps && newProps.updateCid)
|
|
250
257
|
this.updateCid = newProps.updateCid;
|
|
251
258
|
}
|
|
259
|
+
_assertHasIdentity() {
|
|
260
|
+
if (!this.name && !this.publicKey) {
|
|
261
|
+
throw new Error(`Community identity invariant violated: both name and publicKey are undefined (address: ${this.address})`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
252
264
|
setAddress(newAddress) {
|
|
253
265
|
// check if domain or ipns
|
|
254
266
|
// else, throw an error
|
|
@@ -261,9 +273,14 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
261
273
|
this.shortAddress = shortifyAddress(this.address);
|
|
262
274
|
// Sync wire-format name field: domains go into `name`, non-domains clear it
|
|
263
275
|
this.name = isStringDomain(newAddress) ? newAddress : undefined;
|
|
276
|
+
// For non-domain addresses, the address IS the publicKey (IPNS name from ed25519 key)
|
|
277
|
+
if (!isStringDomain(newAddress) && !this.publicKey) {
|
|
278
|
+
this.publicKey = newAddress;
|
|
279
|
+
}
|
|
264
280
|
this.posts._community = this;
|
|
265
281
|
this.modQueue._community = this;
|
|
266
282
|
refreshTrackedCommunityAliases(this._pkc, this);
|
|
283
|
+
this._assertHasIdentity();
|
|
267
284
|
}
|
|
268
285
|
_clearDataForKeyMigration(newPublicKey) {
|
|
269
286
|
this.raw.communityIpfs = undefined;
|
|
@@ -276,6 +293,7 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
276
293
|
this.ipnsName = newPublicKey;
|
|
277
294
|
this.ipnsPubsubTopic = ipnsNameToIpnsOverPubsubTopic(newPublicKey);
|
|
278
295
|
this.ipnsPubsubTopicRoutingCid = pubsubTopicToDhtKey(this.ipnsPubsubTopic);
|
|
296
|
+
this._assertHasIdentity();
|
|
279
297
|
}
|
|
280
298
|
_toJSONIpfsBaseNoPosts() {
|
|
281
299
|
const communityIpfsKeys = remeda.keys.strict(remeda.omit(CommunityIpfsSchema.shape, ["posts", "modQueue"]));
|
|
@@ -394,16 +412,20 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
394
412
|
return false;
|
|
395
413
|
if (err instanceof FailedToFetchCommunityFromGatewaysError) {
|
|
396
414
|
// If all gateway errors are non retriable, then the error is non retriable
|
|
397
|
-
for (const gatewayError of Object.values(err.details.gatewayToError))
|
|
415
|
+
for (const gatewayError of Object.values(err.details.gatewayToError)) {
|
|
416
|
+
// Invalid signature from a gateway is retriable (transient gateway issue, e.g. stale IPNS cache)
|
|
417
|
+
if (gatewayError instanceof PKCError && gatewayError.code === "ERR_COMMUNITY_SIGNATURE_IS_INVALID")
|
|
418
|
+
return true;
|
|
398
419
|
if (this._isRetriableErrorWhenLoading(gatewayError))
|
|
399
420
|
return true;
|
|
421
|
+
}
|
|
400
422
|
return false; // if all gateways are non retriable, then we should not retry
|
|
401
423
|
}
|
|
402
424
|
return true;
|
|
403
425
|
}
|
|
404
426
|
_setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible() {
|
|
405
427
|
const log = Logger("pkc-js:comment:_setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible");
|
|
406
|
-
const updatingCommunity = findUpdatingCommunity(this._pkc, {
|
|
428
|
+
const updatingCommunity = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
|
|
407
429
|
if (updatingCommunity?.raw?.communityIpfs && (this.updatedAt || 0) < updatingCommunity.raw.communityIpfs.updatedAt) {
|
|
408
430
|
this.initCommunityIpfsPropsNoMerge(updatingCommunity.raw.communityIpfs);
|
|
409
431
|
this.updateCid = updatingCommunity.updateCid;
|
|
@@ -412,7 +434,7 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
412
434
|
}
|
|
413
435
|
}
|
|
414
436
|
async _initCommunityInstanceWithListeners() {
|
|
415
|
-
const trackedUpdatingCommunity = findUpdatingCommunity(this._pkc, {
|
|
437
|
+
const trackedUpdatingCommunity = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
|
|
416
438
|
if (!trackedUpdatingCommunity)
|
|
417
439
|
throw Error("should be defined at this stage");
|
|
418
440
|
const log = Logger("pkc-js:remote-community:update");
|
|
@@ -447,7 +469,7 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
447
469
|
}
|
|
448
470
|
async fetchLatestCommunityOrSubscribeToEvent() {
|
|
449
471
|
const log = Logger("pkc-js:remote-community:update:updateOnce");
|
|
450
|
-
if (!findUpdatingCommunity(this._pkc, {
|
|
472
|
+
if (!findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name })) {
|
|
451
473
|
// Pass publicKey alongside name/address so the updating community can use publicKey fallback
|
|
452
474
|
const createOpts = this.publicKey && isStringDomain(this.address)
|
|
453
475
|
? { name: this.address, publicKey: this.publicKey }
|
|
@@ -456,7 +478,7 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
456
478
|
trackUpdatingCommunity(this._pkc, updatingCommunity);
|
|
457
479
|
log("Creating a new entry for this._pkc._updatingCommunities", this.address);
|
|
458
480
|
}
|
|
459
|
-
const communityInstance = findUpdatingCommunity(this._pkc, {
|
|
481
|
+
const communityInstance = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
|
|
460
482
|
if (!communityInstance)
|
|
461
483
|
throw Error("should be defined at this stage");
|
|
462
484
|
if (communityInstance === this) {
|
|
@@ -518,6 +540,9 @@ export class RemoteCommunity extends TypedEmitter {
|
|
|
518
540
|
if (this._updatingCommunityInstanceWithListeners.community._numOfListenersForUpdatingInstance === 0 &&
|
|
519
541
|
this._updatingCommunityInstanceWithListeners.community.state !== "stopped") {
|
|
520
542
|
log("Cleaning up pkc._updatingCommunities", this.address, "There are no communities using it for updates");
|
|
543
|
+
// Untrack before stop() to prevent findUpdatingCommunity from returning a dying entry
|
|
544
|
+
// during the async stop window
|
|
545
|
+
untrackUpdatingCommunity(this._pkc, this._updatingCommunityInstanceWithListeners.community);
|
|
521
546
|
await this._updatingCommunityInstanceWithListeners.community.stop();
|
|
522
547
|
}
|
|
523
548
|
this._updatingCommunityInstanceWithListeners = undefined;
|