@pkcprotocol/pkc-js 0.0.115 → 0.0.117
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/rpc-client/pkc-rpc-client.d.ts +16 -0
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js +199 -43
- package/dist/browser/clients/rpc-client/pkc-rpc-client.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/pkc-error.d.ts +1 -1
- package/dist/browser/rpc/src/index.d.ts +5 -1
- package/dist/browser/rpc/src/index.js +28 -2
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/runtime/node/community/db-handler.js +1 -1
- package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/cleanup.d.ts +4 -2
- package/dist/browser/runtime/node/community/local-community/cleanup.js +11 -6
- package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +8 -1
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/publication-store.js +28 -4
- package/dist/browser/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +52 -52
- package/dist/bundled/challenges.js +1 -1
- package/dist/bundled/chunks/{helia-for-pkc-BB8P6KYw.js → helia-for-pkc-DuG274FA.js} +2 -2
- package/dist/bundled/chunks/{local-community-wAvG_J_u.js → local-community-BsALoql_.js} +1 -1
- package/dist/bundled/chunks/{local-community-XrLSKipf.js → local-community-XUj49rN_.js} +33 -14
- package/dist/bundled/chunks/{node-D5riLTOu.js → node-DkNDHK6w.js} +169 -53
- package/dist/bundled/chunks/{page-sort-scoring-3svUUHW_.js → page-sort-scoring-Cd97obb3.js} +1 -1
- package/dist/bundled/chunks/{rpc-local-community-D5ZdqFYc.js → rpc-local-community-7uUa4lxH.js} +2 -2
- package/dist/bundled/chunks/{util-Cnpgfqwn.js → util-BMGkXifx.js} +1 -1
- package/dist/bundled/chunks/{util-CabVOL7E.js → util-Bm9ef_d5.js} +3 -1
- package/dist/bundled/chunks/{validate-package-factories-CxIg67oP.js → validate-package-factories-DHupf8eD.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 +23 -6
- package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +16 -0
- package/dist/node/clients/rpc-client/pkc-rpc-client.js +199 -43
- package/dist/node/clients/rpc-client/pkc-rpc-client.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/pkc-error.d.ts +1 -1
- package/dist/node/rpc/src/index.d.ts +5 -1
- package/dist/node/rpc/src/index.js +28 -2
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/runtime/node/community/db-handler.js +1 -1
- package/dist/node/runtime/node/community/db-handler.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/cleanup.d.ts +4 -2
- package/dist/node/runtime/node/community/local-community/cleanup.js +11 -6
- package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js +8 -1
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/publication-store.js +28 -4
- package/dist/node/runtime/node/community/local-community/publication-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Ar as PKCError, Dt as pTimeout, J as replaceXWithY, Mr as logger_default, S as hideClassPrivateProps, dr as n, pr as t, ut as findStartedCommunity } from "../../chunks/util-
|
|
2
|
-
import { _ as parseRpcExportCommunityParam, b as parseRpcUnsubscribeParam, d as parseRpcCidParam, f as parseRpcCommentRepliesPageParam, g as parseRpcExportCommunityModLogsParam, h as parseRpcEditCommunityParam, l as parseRpcAuthorNameParam, m as parseRpcCommunityPageParam, p as parseRpcCommunityIdentifierParam, t as PKC, u as parseRpcCancelExportParam, v as parseRpcPublishAnchorRecordParam, y as parseRpcPublishChallengeAnswersParam } from "../../chunks/node-
|
|
3
|
-
import { $ as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, F as extractCrosspostRuntimeFields, H as pLimit, Ot as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Qt as require_lib, T as buildPagesRuntimeFields, V as pRetry, _r as t$1, _t as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails, ct as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, et as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, gt as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, kt as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, lt as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, rt as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, w as buildPageRuntimeFields, wr as stringify, xt as parseDecryptedChallengeAnswerWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-
|
|
4
|
-
import { t as LocalCommunity } from "../../chunks/local-community-
|
|
1
|
+
import { Ar as PKCError, Dt as pTimeout, J as replaceXWithY, Mr as logger_default, S as hideClassPrivateProps, dr as n, pr as t, ut as findStartedCommunity } from "../../chunks/util-Bm9ef_d5.js";
|
|
2
|
+
import { _ as parseRpcExportCommunityParam, b as parseRpcUnsubscribeParam, d as parseRpcCidParam, f as parseRpcCommentRepliesPageParam, g as parseRpcExportCommunityModLogsParam, h as parseRpcEditCommunityParam, l as parseRpcAuthorNameParam, m as parseRpcCommunityPageParam, p as parseRpcCommunityIdentifierParam, t as PKC, u as parseRpcCancelExportParam, v as parseRpcPublishAnchorRecordParam, y as parseRpcPublishChallengeAnswersParam } from "../../chunks/node-DkNDHK6w.js";
|
|
3
|
+
import { $ as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, F as extractCrosspostRuntimeFields, H as pLimit, Ot as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Qt as require_lib, T as buildPagesRuntimeFields, V as pRetry, _r as t$1, _t as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails, ct as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, et as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, gt as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, kt as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, lt as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, rt as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, w as buildPageRuntimeFields, wr as stringify, xt as parseDecryptedChallengeAnswerWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-7uUa4lxH.js";
|
|
4
|
+
import { t as LocalCommunity } from "../../chunks/local-community-XUj49rN_.js";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import assert from "assert";
|
|
@@ -203,6 +203,7 @@ var PKCWsServer = class extends import_lib.TypedEmitter {
|
|
|
203
203
|
this.rpcWebsocketsRegister("getCommentPage", this.getCommentPage.bind(this));
|
|
204
204
|
this.rpcWebsocketsRegister("createCommunity", this.createCommunity.bind(this));
|
|
205
205
|
this.rpcWebsocketsRegister("startCommunity", this.startCommunity.bind(this));
|
|
206
|
+
this.rpcWebsocketsRegister("startedCommunitySubscribe", this.startedCommunitySubscribe.bind(this));
|
|
206
207
|
this.rpcWebsocketsRegister("stopCommunity", this.stopCommunity.bind(this));
|
|
207
208
|
this.rpcWebsocketsRegister("editCommunity", this.editCommunity.bind(this));
|
|
208
209
|
this.rpcWebsocketsRegister("deleteCommunity", this.deleteCommunity.bind(this));
|
|
@@ -505,7 +506,7 @@ var PKCWsServer = class extends import_lib.TypedEmitter {
|
|
|
505
506
|
if (listeners.size === 0) listenersByEvent.delete(event);
|
|
506
507
|
if (listenersByEvent.size === 0) this._trackedCommunityListeners.delete(community);
|
|
507
508
|
}
|
|
508
|
-
_setupStartedEvents(community, connectionId, subscriptionId) {
|
|
509
|
+
_setupStartedEvents(community, connectionId, subscriptionId, opts) {
|
|
509
510
|
const sendEvent = (event, result) => this.jsonRpcSendNotification({
|
|
510
511
|
method: "startCommunity",
|
|
511
512
|
subscription: subscriptionId,
|
|
@@ -522,6 +523,7 @@ var PKCWsServer = class extends import_lib.TypedEmitter {
|
|
|
522
523
|
};
|
|
523
524
|
community.on("update", updateListener);
|
|
524
525
|
this._trackCommunityListener(community, "update", updateListener);
|
|
526
|
+
if (opts?.sendSnapshot) updateListener();
|
|
525
527
|
const startedStateListener = () => sendEvent("startedstatechange", { state: community.startedState });
|
|
526
528
|
community.on("startedstatechange", startedStateListener);
|
|
527
529
|
this._trackCommunityListener(community, "startedstatechange", startedStateListener);
|
|
@@ -583,7 +585,7 @@ var PKCWsServer = class extends import_lib.TypedEmitter {
|
|
|
583
585
|
const pkc = await this._getPKCInstance();
|
|
584
586
|
if (address in this._startedCommunities) {
|
|
585
587
|
const community = await this.getStartedCommunity(address);
|
|
586
|
-
this._setupStartedEvents(community, connectionId, subscriptionId);
|
|
588
|
+
this._setupStartedEvents(community, connectionId, subscriptionId, { sendSnapshot: true });
|
|
587
589
|
} else try {
|
|
588
590
|
this._startedCommunities[address] = "pending";
|
|
589
591
|
const community = await pkc.createCommunity({ address });
|
|
@@ -621,6 +623,21 @@ var PKCWsServer = class extends import_lib.TypedEmitter {
|
|
|
621
623
|
await startCommunityImpl();
|
|
622
624
|
return { subscriptionId };
|
|
623
625
|
}
|
|
626
|
+
async startedCommunitySubscribe(params, connectionId) {
|
|
627
|
+
const { name, publicKey } = parseRpcCommunityIdentifierParam(params[0]);
|
|
628
|
+
await this._getPKCInstance();
|
|
629
|
+
const address = this._findCommunityAddress({
|
|
630
|
+
name,
|
|
631
|
+
publicKey
|
|
632
|
+
});
|
|
633
|
+
if (!address) throw new PKCError("ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY", { communityAddress: name || publicKey });
|
|
634
|
+
if (!(address in this._startedCommunities) && !this._wasStartedAndNotExplicitlyStopped(address)) throw new PKCError("ERR_RPC_COMMUNITY_NOT_RUNNING", { communityAddress: address });
|
|
635
|
+
return this.startCommunity(params, connectionId);
|
|
636
|
+
}
|
|
637
|
+
_wasStartedAndNotExplicitlyStopped(address) {
|
|
638
|
+
const row = this._getRpcStateDb()?.prepare("SELECT wasStarted, wasExplicitlyStopped FROM community_states WHERE address = ?").get(address);
|
|
639
|
+
return Boolean(row && row.wasStarted === 1 && row.wasExplicitlyStopped === 0);
|
|
640
|
+
}
|
|
624
641
|
async stopCommunity(params) {
|
|
625
642
|
const { name, publicKey } = parseRpcCommunityIdentifierParam(params[0]);
|
|
626
643
|
await this._getPKCInstance();
|
|
@@ -23,6 +23,15 @@ export default class PKCRpcClient extends TypedEmitter<PKCRpcClientEvents> {
|
|
|
23
23
|
private _pendingSubscriptionMsgs;
|
|
24
24
|
private _timeoutSeconds;
|
|
25
25
|
private _callTimeoutMs;
|
|
26
|
+
private _serverIdByLocalId;
|
|
27
|
+
private _localIdByServerId;
|
|
28
|
+
private _resubscribeCalls;
|
|
29
|
+
private _publishSubscriptionIds;
|
|
30
|
+
private _hasConnectedBefore;
|
|
31
|
+
private _socketsWithNotificationHandler;
|
|
32
|
+
private _reconnectBaseIntervalMs;
|
|
33
|
+
private _reconnectMaxIntervalMs;
|
|
34
|
+
private _reconnectIntervalMs;
|
|
26
35
|
private _openConnectionPromise?;
|
|
27
36
|
private _destroyRequested;
|
|
28
37
|
constructor(rpcServerUrl: string);
|
|
@@ -33,6 +42,13 @@ export default class PKCRpcClient extends TypedEmitter<PKCRpcClientEvents> {
|
|
|
33
42
|
toJSON(): undefined;
|
|
34
43
|
getSubscription(subscriptionId: number): EventEmitter<[never]>;
|
|
35
44
|
unsubscribe(subscriptionId: number): Promise<void>;
|
|
45
|
+
private _attachNotificationHandler;
|
|
46
|
+
private _dispatchNotification;
|
|
47
|
+
private _backOffReconnectInterval;
|
|
48
|
+
private _subscribe;
|
|
49
|
+
private _resubscribeAllAfterReconnect;
|
|
50
|
+
private _resubscribe;
|
|
51
|
+
private _failPublicationsLostWithConnection;
|
|
36
52
|
private _deserializeRpcError;
|
|
37
53
|
private _setErrorName;
|
|
38
54
|
private _assignAdditionalProps;
|
|
@@ -19,10 +19,42 @@ const DESTROY_SOCKET_CLOSE_TIMEOUT_MS = 5_000;
|
|
|
19
19
|
// runs on a macrotask, so environments that throttle timers (e.g. hidden browser tabs) may delay
|
|
20
20
|
// the attach and the buffered replay accordingly.
|
|
21
21
|
const scheduleMacrotask = setTimeout.bind(globalThis);
|
|
22
|
+
function isRpcSubscriptionNotification(message) {
|
|
23
|
+
if (typeof message !== "object" || message === null || !("params" in message))
|
|
24
|
+
return false;
|
|
25
|
+
const params = message.params;
|
|
26
|
+
if (typeof params !== "object" || params === null)
|
|
27
|
+
return false;
|
|
28
|
+
const { subscription, event } = params;
|
|
29
|
+
return typeof subscription === "number" && subscription > 0 && typeof event === "string";
|
|
30
|
+
}
|
|
22
31
|
export default class PKCRpcClient extends TypedEmitter {
|
|
23
32
|
constructor(rpcServerUrl) {
|
|
24
33
|
super();
|
|
25
34
|
this._pendingSubscriptionMsgs = {};
|
|
35
|
+
// Surviving a dropped connection (#425). The server ties every subscription to the connection
|
|
36
|
+
// and tears them all down when it closes, and it keeps no events for a dropped client. So after
|
|
37
|
+
// rpc-websockets reconnects, the client re-issues each live subscription on the new connection;
|
|
38
|
+
// the server's snapshot on subscribe brings the instance back to the latest state.
|
|
39
|
+
// Instances keep the subscription id they got when they first subscribed (the local id); a
|
|
40
|
+
// re-issued subscription gets a new id from the server, mapped back to the local id here
|
|
41
|
+
this._serverIdByLocalId = new Map();
|
|
42
|
+
this._localIdByServerId = new Map();
|
|
43
|
+
// How to re-issue each live subscription, keyed by local id
|
|
44
|
+
// (startCommunity is re-issued as startedCommunitySubscribe, which never overrides a stop)
|
|
45
|
+
this._resubscribeCalls = new Map();
|
|
46
|
+
// Publications in flight. The server stops them on disconnect, and re-publishing would start
|
|
47
|
+
// a challenge exchange the user never saw, so they fail when the connection drops instead
|
|
48
|
+
this._publishSubscriptionIds = new Set();
|
|
49
|
+
this._hasConnectedBefore = false;
|
|
50
|
+
// Sockets the notification handler is attached to; rpc-websockets creates a new one per connection
|
|
51
|
+
this._socketsWithNotificationHandler = new WeakSet();
|
|
52
|
+
// Reconnect backoff: doubles from the base after every failed attempt, capped at the max, and
|
|
53
|
+
// retries forever (rpc-websockets' default gives up after 5 attempts 1s apart, too soon for a
|
|
54
|
+
// laptop waking from suspend). Reset on every successful open
|
|
55
|
+
this._reconnectBaseIntervalMs = 1_000;
|
|
56
|
+
this._reconnectMaxIntervalMs = 30_000;
|
|
57
|
+
this._reconnectIntervalMs = this._reconnectBaseIntervalMs;
|
|
26
58
|
assert(rpcServerUrl, "pkc.pkcRpcClientsOptions needs to be defined to create a new rpc client");
|
|
27
59
|
this._websocketServerUrl = rpcServerUrl; // default to first for now. Will change later
|
|
28
60
|
this._timeoutSeconds = 20;
|
|
@@ -68,31 +100,29 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
68
100
|
// Set up events here
|
|
69
101
|
// save all subscription messages (ie json rpc messages without 'id', also called json rpc 'notifications')
|
|
70
102
|
// NOTE: it is possible to receive a subscription message before receiving the subscription id
|
|
71
|
-
this._webSocketClient = new WebSocketClient(this._websocketServerUrl
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this._webSocketClient.socket.on("message", (jsonMessage) => {
|
|
75
|
-
const message = JSON.parse(jsonMessage);
|
|
76
|
-
const subscriptionId = message?.params?.subscription;
|
|
77
|
-
if (subscriptionId) {
|
|
78
|
-
this._initSubscriptionEvent(subscriptionId);
|
|
79
|
-
// We need to parse error props into PKCErrors
|
|
80
|
-
if (message?.params?.event === "error") {
|
|
81
|
-
message.params.result = this._deserializeRpcError(message.params.result);
|
|
82
|
-
delete message.params.result.stack; // Need to delete locally generated stack traces
|
|
83
|
-
}
|
|
84
|
-
if (this._subscriptionEvents[subscriptionId].listenerCount(message?.params?.event) === 0)
|
|
85
|
-
this._pendingSubscriptionMsgs[subscriptionId].push(message);
|
|
86
|
-
else
|
|
87
|
-
this._subscriptionEvents[subscriptionId].emit(message?.params?.event, message);
|
|
88
|
-
}
|
|
103
|
+
this._webSocketClient = new WebSocketClient(this._websocketServerUrl, {
|
|
104
|
+
reconnect_interval: this._reconnectIntervalMs,
|
|
105
|
+
max_reconnects: 0 // retry forever, with the backoff below
|
|
89
106
|
});
|
|
107
|
+
log("Created a new WebSocket instance with url " + this._websocketServerUrl);
|
|
108
|
+
this._attachNotificationHandler();
|
|
90
109
|
this._webSocketClient.on("open", () => {
|
|
91
110
|
log("Connected to RPC server", this._websocketServerUrl);
|
|
111
|
+
// rpc-websockets replaced the socket if this is a reconnect
|
|
112
|
+
this._attachNotificationHandler();
|
|
113
|
+
this._reconnectIntervalMs = this._reconnectBaseIntervalMs;
|
|
114
|
+
this._webSocketClient.setReconnectInterval(this._reconnectIntervalMs);
|
|
115
|
+
const isReconnect = this._hasConnectedBefore;
|
|
116
|
+
this._hasConnectedBefore = true;
|
|
92
117
|
this.setState("connected");
|
|
118
|
+
if (isReconnect)
|
|
119
|
+
this._resubscribeAllAfterReconnect();
|
|
93
120
|
});
|
|
94
121
|
// forward errors to PKC
|
|
95
122
|
this._webSocketClient.on("error", (error) => {
|
|
123
|
+
// A failed connect attempt emits error before close, and rpc-websockets reads the
|
|
124
|
+
// interval when the close schedules the next attempt
|
|
125
|
+
this._backOffReconnectInterval();
|
|
96
126
|
lastWebsocketError = error;
|
|
97
127
|
if (this._destroyRequested) {
|
|
98
128
|
log("Ignoring websocket error emitted after destroy request", error);
|
|
@@ -109,7 +139,15 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
109
139
|
this.setState("failed");
|
|
110
140
|
return;
|
|
111
141
|
}
|
|
112
|
-
|
|
142
|
+
// This runs inside ws's error event, ahead of the close event that schedules the next
|
|
143
|
+
// reconnect attempt. A throw here (an "error" emit with no listener on the PKC) would
|
|
144
|
+
// skip that close and end the reconnect loop for good, or crash the process
|
|
145
|
+
try {
|
|
146
|
+
this.emit("error", error);
|
|
147
|
+
}
|
|
148
|
+
catch (emitError) {
|
|
149
|
+
log.error("No listener received the RPC websocket error", this._websocketServerUrl, emitError);
|
|
150
|
+
}
|
|
113
151
|
});
|
|
114
152
|
this._webSocketClient.on("close", () => {
|
|
115
153
|
// destroy() already awaited this close and logged it; a log here would land after
|
|
@@ -118,6 +156,8 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
118
156
|
log.error("connection with web socket has been closed", this._websocketServerUrl);
|
|
119
157
|
this._openConnectionPromise = undefined;
|
|
120
158
|
this.setState("stopped");
|
|
159
|
+
if (!this._destroyRequested)
|
|
160
|
+
this._failPublicationsLostWithConnection();
|
|
121
161
|
});
|
|
122
162
|
// Process error JSON from server into a PKCError instance
|
|
123
163
|
const originalWebsocketCall = this._webSocketClient.call.bind(this._webSocketClient);
|
|
@@ -200,9 +240,16 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
200
240
|
log.error("Failed to unsubscribe to subscription ID", subscriptionId, e);
|
|
201
241
|
cleanupSubscriptionLocally(subscriptionId);
|
|
202
242
|
}
|
|
243
|
+
this._resubscribeCalls.clear();
|
|
244
|
+
this._publishSubscriptionIds.clear();
|
|
245
|
+
this._serverIdByLocalId.clear();
|
|
246
|
+
this._localIdByServerId.clear();
|
|
203
247
|
try {
|
|
204
248
|
if (this._webSocketClient instanceof WebSocketClient) {
|
|
205
249
|
this._webSocketClient.setAutoReconnect(false);
|
|
250
|
+
// Between attempts there is no socket to close, only rpc-websockets' timer for the
|
|
251
|
+
// next attempt, which would open a connection after destroy() resolved
|
|
252
|
+
clearTimeout(this._webSocketClient.reconnect_timer_id);
|
|
206
253
|
// Wait for the socket to actually close so nothing (in particular no log line) runs on our
|
|
207
254
|
// behalf after destroy() has resolved (#325)
|
|
208
255
|
const socketClosed = this._waitForSocketClose();
|
|
@@ -243,12 +290,132 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
243
290
|
return this._subscriptionEvents[subscriptionId];
|
|
244
291
|
}
|
|
245
292
|
async unsubscribe(subscriptionId) {
|
|
246
|
-
|
|
293
|
+
// The server dropped every subscription of a closed connection, and a publication that
|
|
294
|
+
// failed with it is not on the new connection either, so there is nothing to call
|
|
295
|
+
const liveOnServer = this.state === "connected" && (this._resubscribeCalls.has(subscriptionId) || this._publishSubscriptionIds.has(subscriptionId));
|
|
296
|
+
const serverSubscriptionId = this._serverIdByLocalId.get(subscriptionId) ?? subscriptionId;
|
|
297
|
+
this._resubscribeCalls.delete(subscriptionId);
|
|
298
|
+
this._publishSubscriptionIds.delete(subscriptionId);
|
|
299
|
+
if (liveOnServer)
|
|
300
|
+
await this._webSocketClient.call("unsubscribe", [{ subscriptionId: serverSubscriptionId }]);
|
|
301
|
+
this._serverIdByLocalId.delete(subscriptionId);
|
|
302
|
+
this._localIdByServerId.delete(serverSubscriptionId);
|
|
247
303
|
if (this._subscriptionEvents[subscriptionId])
|
|
248
304
|
this._subscriptionEvents[subscriptionId].removeAllListeners();
|
|
249
305
|
delete this._subscriptionEvents[subscriptionId];
|
|
250
306
|
delete this._pendingSubscriptionMsgs[subscriptionId];
|
|
251
307
|
}
|
|
308
|
+
_attachNotificationHandler() {
|
|
309
|
+
const socket = this._webSocketClient.socket;
|
|
310
|
+
if (!socket || this._socketsWithNotificationHandler.has(socket))
|
|
311
|
+
return;
|
|
312
|
+
this._socketsWithNotificationHandler.add(socket);
|
|
313
|
+
socket.on("message", (jsonMessage) => {
|
|
314
|
+
const message = JSON.parse(jsonMessage);
|
|
315
|
+
if (!isRpcSubscriptionNotification(message))
|
|
316
|
+
return; // a response to a call, handled by rpc-websockets
|
|
317
|
+
const serverSubscriptionId = message.params.subscription;
|
|
318
|
+
const subscriptionId = this._localIdByServerId.get(serverSubscriptionId) ?? serverSubscriptionId;
|
|
319
|
+
message.params.subscription = subscriptionId;
|
|
320
|
+
this._dispatchNotification(subscriptionId, message);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
// save all subscription messages (ie json rpc messages without 'id', also called json rpc 'notifications')
|
|
324
|
+
// NOTE: it is possible to receive a subscription message before receiving the subscription id
|
|
325
|
+
_dispatchNotification(subscriptionId, message) {
|
|
326
|
+
this._initSubscriptionEvent(subscriptionId);
|
|
327
|
+
// We need to parse error props into PKCErrors
|
|
328
|
+
if (message.params.event === "error" && !(message.params.result instanceof Error)) {
|
|
329
|
+
const error = this._deserializeRpcError(message.params.result);
|
|
330
|
+
delete error.stack; // Need to delete locally generated stack traces
|
|
331
|
+
message.params.result = error;
|
|
332
|
+
}
|
|
333
|
+
if (this._subscriptionEvents[subscriptionId].listenerCount(message.params.event) === 0)
|
|
334
|
+
this._pendingSubscriptionMsgs[subscriptionId].push(message);
|
|
335
|
+
else
|
|
336
|
+
this._subscriptionEvents[subscriptionId].emit(message.params.event, message);
|
|
337
|
+
}
|
|
338
|
+
_backOffReconnectInterval() {
|
|
339
|
+
if (!(this._webSocketClient instanceof WebSocketClient))
|
|
340
|
+
return;
|
|
341
|
+
this._reconnectIntervalMs = Math.min(this._reconnectIntervalMs * 2, this._reconnectMaxIntervalMs);
|
|
342
|
+
this._webSocketClient.setReconnectInterval(this._reconnectIntervalMs);
|
|
343
|
+
}
|
|
344
|
+
// Subscribe and remember how to re-issue the subscription on a new connection
|
|
345
|
+
async _subscribe(method, params, onReconnect, resubscribeMethod = method) {
|
|
346
|
+
const res = parseRpcSubscriptionIdResult(await this._webSocketClient.call(method, params));
|
|
347
|
+
this._initSubscriptionEvent(res.subscriptionId);
|
|
348
|
+
if (onReconnect === "resubscribe")
|
|
349
|
+
this._resubscribeCalls.set(res.subscriptionId, { method: resubscribeMethod, params });
|
|
350
|
+
else
|
|
351
|
+
this._publishSubscriptionIds.add(res.subscriptionId);
|
|
352
|
+
return res;
|
|
353
|
+
}
|
|
354
|
+
_resubscribeAllAfterReconnect() {
|
|
355
|
+
for (const subscriptionId of [...this._resubscribeCalls.keys()])
|
|
356
|
+
this._resubscribe(subscriptionId).catch((error) => {
|
|
357
|
+
if (this._destroyRequested)
|
|
358
|
+
return;
|
|
359
|
+
if (error?.code === "ERR_RPC_COMMUNITY_NOT_RUNNING") {
|
|
360
|
+
// Someone stopped the community on purpose, possibly while we were away; tell the
|
|
361
|
+
// instance the way a stop reaches a connected client, and do not try again
|
|
362
|
+
log("Not re-establishing start(), the community was stopped on purpose", subscriptionId);
|
|
363
|
+
this._resubscribeCalls.delete(subscriptionId);
|
|
364
|
+
this._dispatchNotification(subscriptionId, {
|
|
365
|
+
params: { event: "startedstatechange", subscription: subscriptionId, result: { state: "stopped" } }
|
|
366
|
+
});
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
log.error("Failed to re-subscribe after reconnecting to the RPC server", subscriptionId, error);
|
|
370
|
+
this._dispatchNotification(subscriptionId, {
|
|
371
|
+
params: { event: "error", subscription: subscriptionId, result: error }
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
async _resubscribe(subscriptionId) {
|
|
376
|
+
const call = this._resubscribeCalls.get(subscriptionId);
|
|
377
|
+
if (!call || this._destroyRequested)
|
|
378
|
+
return;
|
|
379
|
+
const { subscriptionId: serverSubscriptionId } = parseRpcSubscriptionIdResult(await this._webSocketClient.call(call.method, call.params));
|
|
380
|
+
// The server sends its snapshot before the response, so it arrived under the new id,
|
|
381
|
+
// which nothing mapped yet; take it over before it is replayed to the instance
|
|
382
|
+
const earlyMessages = serverSubscriptionId === subscriptionId ? [] : this._pendingSubscriptionMsgs[serverSubscriptionId] ?? [];
|
|
383
|
+
if (serverSubscriptionId !== subscriptionId) {
|
|
384
|
+
delete this._pendingSubscriptionMsgs[serverSubscriptionId];
|
|
385
|
+
delete this._subscriptionEvents[serverSubscriptionId];
|
|
386
|
+
}
|
|
387
|
+
if (this._resubscribeCalls.get(subscriptionId) !== call || this._destroyRequested) {
|
|
388
|
+
// Unsubscribed while the call was in flight
|
|
389
|
+
if (!this._destroyRequested)
|
|
390
|
+
await this._webSocketClient.call("unsubscribe", [{ subscriptionId: serverSubscriptionId }]).catch((error) => {
|
|
391
|
+
log.error("Failed to unsubscribe a subscription re-issued after it was unsubscribed", error);
|
|
392
|
+
});
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
const previousServerSubscriptionId = this._serverIdByLocalId.get(subscriptionId);
|
|
396
|
+
if (previousServerSubscriptionId !== undefined)
|
|
397
|
+
this._localIdByServerId.delete(previousServerSubscriptionId);
|
|
398
|
+
this._serverIdByLocalId.set(subscriptionId, serverSubscriptionId);
|
|
399
|
+
this._localIdByServerId.set(serverSubscriptionId, subscriptionId);
|
|
400
|
+
log("Re-subscribed after reconnecting", call.method, { subscriptionId, serverSubscriptionId });
|
|
401
|
+
for (const message of earlyMessages) {
|
|
402
|
+
message.params.subscription = subscriptionId;
|
|
403
|
+
this._dispatchNotification(subscriptionId, message);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
_failPublicationsLostWithConnection() {
|
|
407
|
+
for (const subscriptionId of [...this._publishSubscriptionIds]) {
|
|
408
|
+
this._publishSubscriptionIds.delete(subscriptionId);
|
|
409
|
+
const error = new PKCError("ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION", {
|
|
410
|
+
rpcServerUrl: this._websocketServerUrl,
|
|
411
|
+
publishThrowError: true
|
|
412
|
+
});
|
|
413
|
+
this._dispatchNotification(subscriptionId, {
|
|
414
|
+
params: { event: "publishingstatechange", subscription: subscriptionId, result: { state: "failed" } }
|
|
415
|
+
});
|
|
416
|
+
this._dispatchNotification(subscriptionId, { params: { event: "error", subscription: subscriptionId, result: error } });
|
|
417
|
+
}
|
|
418
|
+
}
|
|
252
419
|
_deserializeRpcError(errorPayload) {
|
|
253
420
|
if (!errorPayload || typeof errorPayload !== "object") {
|
|
254
421
|
const genericError = new Error("Received malformed RPC error payload");
|
|
@@ -352,7 +519,7 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
352
519
|
if (!shouldDeliver())
|
|
353
520
|
return;
|
|
354
521
|
const message = pendingMessages.shift();
|
|
355
|
-
this._subscriptionEvents[subscriptionId].emit(message
|
|
522
|
+
this._subscriptionEvents[subscriptionId].emit(message.params.event, message);
|
|
356
523
|
}
|
|
357
524
|
delete this._pendingSubscriptionMsgs[subscriptionId];
|
|
358
525
|
}
|
|
@@ -392,8 +559,7 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
392
559
|
}
|
|
393
560
|
async startCommunity(communityIdentifier) {
|
|
394
561
|
const parsedStartCommunityArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
|
|
395
|
-
const res =
|
|
396
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
562
|
+
const res = await this._subscribe("startCommunity", [parsedStartCommunityArgs], "resubscribe", "startedCommunitySubscribe");
|
|
397
563
|
return res;
|
|
398
564
|
}
|
|
399
565
|
async stopCommunity(communityIdentifier) {
|
|
@@ -428,39 +594,32 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
428
594
|
}
|
|
429
595
|
async communityUpdateSubscribe(communityIdentifier) {
|
|
430
596
|
const parsedCommunityUpdateArgs = parseRpcCommunityIdentifierParam(communityIdentifier);
|
|
431
|
-
const res =
|
|
432
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
597
|
+
const res = await this._subscribe("communityUpdateSubscribe", [parsedCommunityUpdateArgs], "resubscribe");
|
|
433
598
|
return res;
|
|
434
599
|
}
|
|
435
600
|
async publishComment(commentProps) {
|
|
436
|
-
const res =
|
|
437
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
601
|
+
const res = await this._subscribe("publishComment", [commentProps], "fail");
|
|
438
602
|
return res;
|
|
439
603
|
}
|
|
440
604
|
async publishCommentEdit(commentEditProps) {
|
|
441
|
-
const res =
|
|
442
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
605
|
+
const res = await this._subscribe("publishCommentEdit", [commentEditProps], "fail");
|
|
443
606
|
return res;
|
|
444
607
|
}
|
|
445
608
|
async publishCommentModeration(commentModProps) {
|
|
446
|
-
const res =
|
|
447
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
609
|
+
const res = await this._subscribe("publishCommentModeration", [commentModProps], "fail");
|
|
448
610
|
return res;
|
|
449
611
|
}
|
|
450
612
|
async publishVote(voteProps) {
|
|
451
|
-
const res =
|
|
452
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
613
|
+
const res = await this._subscribe("publishVote", [voteProps], "fail");
|
|
453
614
|
return res;
|
|
454
615
|
}
|
|
455
616
|
async publishCommunityEdit(communityEdit) {
|
|
456
|
-
const res =
|
|
457
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
617
|
+
const res = await this._subscribe("publishCommunityEdit", [communityEdit], "fail");
|
|
458
618
|
return res;
|
|
459
619
|
}
|
|
460
620
|
async commentUpdateSubscribe(args) {
|
|
461
621
|
const parsedCommentUpdateArgs = parseRpcCidParam(args);
|
|
462
|
-
const res =
|
|
463
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
622
|
+
const res = await this._subscribe("commentUpdateSubscribe", [parsedCommentUpdateArgs], "resubscribe");
|
|
464
623
|
return res;
|
|
465
624
|
}
|
|
466
625
|
async publishChallengeAnswers(args) {
|
|
@@ -472,16 +631,14 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
472
631
|
return res;
|
|
473
632
|
}
|
|
474
633
|
async initalizeCommunitieschangeEvent() {
|
|
475
|
-
const { subscriptionId } =
|
|
476
|
-
this._initSubscriptionEvent(subscriptionId);
|
|
634
|
+
const { subscriptionId } = await this._subscribe("communitiesSubscribe", [], "resubscribe");
|
|
477
635
|
this.getSubscription(subscriptionId).on("communitieschange", (res) => {
|
|
478
636
|
this.emit("communitieschange", res.params.result.communities);
|
|
479
637
|
});
|
|
480
638
|
this.emitAllPendingMessages(subscriptionId);
|
|
481
639
|
}
|
|
482
640
|
async initalizeSettingschangeEvent() {
|
|
483
|
-
const { subscriptionId } =
|
|
484
|
-
this._initSubscriptionEvent(subscriptionId);
|
|
641
|
+
const { subscriptionId } = await this._subscribe("settingsSubscribe", [], "resubscribe");
|
|
485
642
|
this.getSubscription(subscriptionId).on("settingschange", (res) => {
|
|
486
643
|
this.emit("settingschange", res.params.result);
|
|
487
644
|
});
|
|
@@ -518,8 +675,7 @@ export default class PKCRpcClient extends TypedEmitter {
|
|
|
518
675
|
}
|
|
519
676
|
async exportsSubscribe(args) {
|
|
520
677
|
const parsedArgs = parseRpcCommunityIdentifierParam(args);
|
|
521
|
-
const res =
|
|
522
|
-
this._initSubscriptionEvent(res.subscriptionId);
|
|
678
|
+
const res = await this._subscribe("exportsSubscribe", [parsedArgs], "resubscribe");
|
|
523
679
|
return res;
|
|
524
680
|
}
|
|
525
681
|
async cancelExport(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkc-rpc-client.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/pkc-rpc-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pkc-rpc-client.js","sourceRoot":"","sources":["../../../../src/clients/rpc-client/pkc-rpc-client.ts"],"names":[],"mappings":"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"}
|
package/dist/node/errors.d.ts
CHANGED
|
@@ -382,11 +382,13 @@ export declare enum messages {
|
|
|
382
382
|
ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC = "Failed to open connection to RPC",
|
|
383
383
|
ERR_FAILED_TO_CREATE_WS_RPC_SERVER = "Failed to create WebSocket RPC server",
|
|
384
384
|
ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY = "Attempting to start a community that is not local",
|
|
385
|
+
ERR_RPC_COMMUNITY_NOT_RUNNING = "The community is not running on the PKC RPC server and was stopped on purpose, so the RPC client did not start it again after reconnecting",
|
|
385
386
|
ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING = "RPC client is attempting to stop a local community that is not running",
|
|
386
387
|
ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY = "RPC client is attempting to stop a remote community",
|
|
387
388
|
ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY = "RPC client is attempting to edit remote community",
|
|
388
389
|
ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY = "RPC client is attempting to delete remote community",
|
|
389
390
|
ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY = "RPC client is attempting to prepare or publish an anchor record for a community this node does not host locally",
|
|
391
|
+
ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION = "The connection to the PKC RPC server closed while the publication was in flight. The server stopped the publication, so publish it again",
|
|
390
392
|
ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION = "Cannot publish challenge answers over PKC RPC: there is no active publish subscription. The challenge exchange has concluded, the publication was stopped, or publish() was never called",
|
|
391
393
|
ERR_GENERIC_RPC_CLIENT_CALL_ERROR = "RPC client received an unknown error when executing call over websocket",
|
|
392
394
|
ERR_RPC_CALL_TIMED_OUT = "RPC client call timed out without receiving a response from the RPC server",
|
package/dist/node/errors.js
CHANGED
|
@@ -398,11 +398,13 @@ export var messages;
|
|
|
398
398
|
messages["ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC"] = "Failed to open connection to RPC";
|
|
399
399
|
messages["ERR_FAILED_TO_CREATE_WS_RPC_SERVER"] = "Failed to create WebSocket RPC server";
|
|
400
400
|
messages["ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY"] = "Attempting to start a community that is not local";
|
|
401
|
+
messages["ERR_RPC_COMMUNITY_NOT_RUNNING"] = "The community is not running on the PKC RPC server and was stopped on purpose, so the RPC client did not start it again after reconnecting";
|
|
401
402
|
messages["ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING"] = "RPC client is attempting to stop a local community that is not running";
|
|
402
403
|
messages["ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY"] = "RPC client is attempting to stop a remote community";
|
|
403
404
|
messages["ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY"] = "RPC client is attempting to edit remote community";
|
|
404
405
|
messages["ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY"] = "RPC client is attempting to delete remote community";
|
|
405
406
|
messages["ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY"] = "RPC client is attempting to prepare or publish an anchor record for a community this node does not host locally";
|
|
407
|
+
messages["ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION"] = "The connection to the PKC RPC server closed while the publication was in flight. The server stopped the publication, so publish it again";
|
|
406
408
|
messages["ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION"] = "Cannot publish challenge answers over PKC RPC: there is no active publish subscription. The challenge exchange has concluded, the publication was stopped, or publish() was never called";
|
|
407
409
|
messages["ERR_GENERIC_RPC_CLIENT_CALL_ERROR"] = "RPC client received an unknown error when executing call over websocket";
|
|
408
410
|
messages["ERR_RPC_CALL_TIMED_OUT"] = "RPC client call timed out without receiving a response from the RPC server";
|