@scrypted/server 0.123.23 → 0.123.25

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/rpc.js CHANGED
@@ -211,6 +211,7 @@ class RpcPeer {
211
211
  constructorSerializerMap = new Map();
212
212
  transportSafeArgumentTypes = RpcPeer.getDefaultTransportSafeArgumentTypes();
213
213
  killed;
214
+ killedSafe;
214
215
  killedDeferred;
215
216
  tags = {};
216
217
  yieldedAsyncIterators = new Set();
@@ -299,6 +300,7 @@ class RpcPeer {
299
300
  this.killed = new Promise((resolve, reject) => {
300
301
  this.killedDeferred = { resolve, reject, method: undefined };
301
302
  }).catch(e => e.message || 'Unknown Error');
303
+ this.killedSafe = this.killed.then(() => { }).catch(() => { });
302
304
  }
303
305
  static isTransportSafe(value) {
304
306
  if (!value)
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ClusterForkResult = exports.PeerLiveness = void 0;
7
7
  exports.startClusterClient = startClusterClient;
8
8
  exports.createClusterServer = createClusterServer;
9
+ const os_1 = __importDefault(require("os"));
9
10
  const events_1 = require("events");
10
11
  const net_1 = __importDefault(require("net"));
11
12
  const source_map_support_1 = require("source-map-support");
@@ -35,7 +36,7 @@ function peerLifecycle(serializer, peer, socket, type) {
35
36
  socket.on('close', () => {
36
37
  peer.kill(`cluster ${type} closed`);
37
38
  });
38
- peer.killed.then(() => {
39
+ peer.killedSafe.finally(() => {
39
40
  socket.destroy();
40
41
  });
41
42
  }
@@ -124,7 +125,7 @@ function startClusterClient(mainFilename) {
124
125
  const auth = {
125
126
  address: socket.localAddress,
126
127
  port: socket.localPort,
127
- id: undefined,
128
+ id: process.env.SCRYPTED_CLUSTER_ID || os_1.default.hostname(),
128
129
  proxyId: undefined,
129
130
  sourceKey: undefined,
130
131
  sha256: undefined,
@@ -165,17 +166,19 @@ function startClusterClient(mainFilename) {
165
166
  runtimeWorker.on('error', e => {
166
167
  threadPeer.kill('worker error ' + e);
167
168
  });
168
- threadPeer.killed.catch(() => { }).finally(() => {
169
+ threadPeer.killedSafe.finally(() => {
169
170
  runtimeWorker.kill();
170
171
  });
171
172
  peerLiveness.waitKilled().catch(() => { }).finally(() => {
172
173
  threadPeer.kill('peer killed');
173
174
  });
174
175
  let getRemote;
176
+ let ping;
175
177
  try {
176
178
  const initializeCluster = await threadPeer.getParam('initializeCluster');
177
179
  await initializeCluster({ clusterId, clusterSecret });
178
180
  getRemote = await threadPeer.getParam('getRemote');
181
+ ping = await threadPeer.getParam('ping');
179
182
  }
180
183
  catch (e) {
181
184
  threadPeer.kill('cluster fork failed');
@@ -196,6 +199,7 @@ function startClusterClient(mainFilename) {
196
199
  stdout: readStream(runtimeWorker.stdout),
197
200
  stderr: readStream(runtimeWorker.stderr),
198
201
  getRemote,
202
+ ping,
199
203
  };
200
204
  };
201
205
  const result = new ClusterForkResult(threadPeer, threadPeer.killed, clusterGetRemote);
@@ -206,9 +210,12 @@ function startClusterClient(mainFilename) {
206
210
  }
207
211
  catch (e) {
208
212
  peer.kill(e.message);
209
- socket.destroy();
210
213
  console.warn('Cluster client error:', localAddress, localPort, e);
211
214
  }
215
+ finally {
216
+ peer.kill();
217
+ socket.destroy();
218
+ }
212
219
  }
213
220
  })();
214
221
  }
@@ -227,6 +234,7 @@ function createClusterServer(runtime, certificate) {
227
234
  const sha256 = (0, cluster_hash_1.computeClusterObjectHash)(auth, runtime.clusterSecret);
228
235
  if (sha256 !== auth.sha256)
229
236
  throw new Error('cluster object hash mismatch');
237
+ peer.peerName = auth.id || `${socket.remoteAddress}`;
230
238
  // the remote address may be ipv6 prefixed so use a fuzzy match.
231
239
  // eg ::ffff:192.168.2.124
232
240
  if (!process.env.SCRYPTED_DISABLE_CLUSTER_SERVER_TRUST) {
@@ -239,7 +247,7 @@ function createClusterServer(runtime, certificate) {
239
247
  forks: new Set(),
240
248
  };
241
249
  runtime.clusterWorkers.add(worker);
242
- peer.killed.then(() => {
250
+ peer.killedSafe.finally(() => {
243
251
  runtime.clusterWorkers.delete(worker);
244
252
  });
245
253
  socket.on('close', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"scrypted-cluster-main.js","sourceRoot":"","sources":["../src/scrypted-cluster-main.ts"],"names":[],"mappings":";;;;;;AAkGA,gDAoKC;AAED,kDAkDC;AAzTD,mCAA8B;AAC9B,8CAAsB;AACtB,2DAAwE;AAExE,8CAAsB;AAEtB,yDAAkE;AAClE,6DAA4D;AAC5D,2DAAkG;AAElG,0DAA4E;AAC5E,4EAAiE;AACjE,gEAAuE;AAEvE,+BAAgC;AAChC,qDAA6D;AAE7D,mCAAgC;AAEhC,IAAA,4BAAuB,EAAC;IACpB,WAAW,EAAE,MAAM;CACtB,CAAC,CAAC;AAEH,KAAK,UAAU,KAAK,CAAC,YAAoB;IACrC,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,kBAAe,KAAK,CAAC;AAErB,SAAS,aAAa,CAAC,UAAwD,EAAE,IAAa,EAAE,MAAqB,EAAE,IAAyB;IAC5I,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QACnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,MAAqB,EAAE,IAAyB;IACjE,MAAM,UAAU,GAAG,IAAA,0CAAyB,EAAC,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,aAAO,CAAC,kBAAkB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE;QAC9I,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAkBD,MAAa,YAAY;IAED;IADpB,sBAAsB,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IACxC,CAAC;IACD,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAPD,oCAOC;AAED,MAAa,iBAAkB,SAAQ,YAAY;IAC3B;IAA6C;IAAjE,YAAoB,IAAa,EAAE,MAAoB,EAAU,MAAW;QACxE,KAAK,CAAC,MAAM,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAS;QAAgC,WAAM,GAAN,MAAM,CAAK;IAE5E,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAZD,8CAYC;AAID,SAAgB,kBAAkB,CAAC,YAAoB;IACnD,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACpE,MAAM,MAAM,GAAG,IAAA,iCAAgB,GAAE,CAAC;IAElC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAA,sCAAsB,GAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC;IACnC,CAAC,KAAK,IAAI,EAAE;QACR,OAAO,IAAI,EAAE,CAAC;YACV,oEAAoE;YACpE,kEAAkE;YAClE,sEAAsE;YACtE,kDAAkD;YAClD,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;YAElB,MAAM,SAAS,GAAG,aAAG,CAAC,OAAO,CAAC;gBAC1B,IAAI;gBACJ,IAAI;gBACJ,6CAA6C;gBAC7C,MAAM,EAAE,CAAC;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC;gBACD,MAAM,IAAA,aAAI,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,SAAS;YACb,CAAC;YAED,MAAM,MAAM,GAAG,aAAG,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,SAAS;gBACjB,kBAAkB,EAAE,KAAK;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC;gBACD,MAAM,IAAA,aAAI,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,SAAS;YACb,CAAC;YAED,IAAI,sBAAsB,IAAI,sBAAsB,KAAK,MAAM,CAAC,YAAY;gBACxE,OAAO,CAAC,IAAI,CAAC,yGAAyG,EAAE,sBAAsB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;;gBAErK,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC,YAAY,CAAC;YAE/D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBAED,MAAM,iBAAiB,GAAsB,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBACtF,MAAM,IAAI,GAAkB;oBACxB,OAAO,EAAE,MAAM,CAAC,YAAY;oBAC5B,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,EAAE,EAAE,SAAS;oBACb,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,SAAS;iBACpB,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,IAAA,uCAAwB,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAE5D,MAAM,UAAU,GAA4B;oBACxC,MAAM;iBACT,CAAC;gBAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAChE,MAAM,gBAAgB,GAAG,IAAA,4BAAY,EAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBAEvE,MAAM,gBAAgB,GAAqB,KAAK,EAC5C,YAA0B,EAC1B,OAAe,EACf,WAAgB,EAChB,OAAe,EACf,MAA6B,EAAE,EAAE;oBACjC,IAAI,aAA4B,CAAC;oBAEjC,MAAM,QAAQ,GAAG,IAAA,qCAAsB,GAAE,CAAC;oBAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjC,IAAI,CAAC,EAAE;wBACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,CAAC;oBAElD,MAAM,QAAQ,GAAW,WAAW,CAAC,IAAI,CAAC;oBAC1C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,+BAAU,EAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAE/F,MAAM,MAAM,GAAG,IAAA,iCAAiB,GAAE,CAAC;oBACnC,MAAM,YAAY,GAAG,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC;oBAE/C,aAAa,GAAG,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE;wBACvC,WAAW;wBACX,GAAG,EAAE;4BACD,eAAe,EAAE,MAAM;4BACvB,sBAAsB,EAAE,YAAY;yBACvC;wBACD,WAAW,EAAE,SAAS;wBACtB,OAAO;wBACP,YAAY;wBACZ,OAAO;qBACV,EAAE,SAAS,CAAC,CAAC;oBAEd,MAAM,UAAU,GAAG,IAAI,aAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;oBACvJ,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACvC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;wBAC1B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;wBAC1B,UAAU,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBAC5C,aAAa,CAAC,IAAI,EAAE,CAAC;oBACzB,CAAC,CAAC,CAAC;oBACH,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,IAAI,SAAc,CAAC;oBACnB,IAAI,CAAC;wBACD,MAAM,iBAAiB,GAAsB,MAAM,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;wBAC5F,MAAM,iBAAiB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;wBACtD,SAAS,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO,CAAC,EAAE,CAAC;wBACP,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;wBACvC,MAAM,CAAC,CAAC;oBACZ,CAAC;oBAED,MAAM,UAAU,GAAG,KAAK,SAAS,CAAC,EAAE,MAAgB;wBAChD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;4BAChC,MAAM,MAAM,CAAC;wBACjB,CAAC;oBACL,CAAC,CAAA;oBAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBAC5C,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;wBACxC,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO;4BACH,CAAC,aAAO,CAAC,qCAAqC,CAAC,EAAE,IAAI;4BACrD,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;4BACxC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;4BACxC,SAAS;yBACZ,CAAC;oBACN,CAAC,CAAC;oBAEF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACtF,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC;gBAEvC,MAAM,IAAI,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAwB,EAAE,WAA2D;IACrH,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC;QAC5B,GAAG,EAAE,WAAW,CAAC,UAAU;QAC3B,IAAI,EAAE,WAAW,CAAC,WAAW;KAChC,EAAE,CAAC,MAAM,EAAE,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAClF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3C,MAAM,iBAAiB,GAAsB,KAAK,EAAE,IAAmB,EAAE,UAAmC,EAAE,EAAE;YAC5G,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAA,uCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBACrE,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACpD,gEAAgE;gBAChE,0BAA0B;gBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC;oBACrD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;wBAC/E,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,MAAM,GAAkB;oBAC1B,GAAG,UAAU;oBACb,IAAI;oBACJ,KAAK,EAAE,IAAI,GAAG,EAAE;iBACnB,CAAC;gBACF,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBAClB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,OAAO;gBACH,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAA;QACL,CAAC,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,iBAAiB,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"scrypted-cluster-main.js","sourceRoot":"","sources":["../src/scrypted-cluster-main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/server",
3
- "version": "0.123.23",
3
+ "version": "0.123.25",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "@scrypted/ffmpeg-static": "^6.1.0-build3",
@@ -920,8 +920,8 @@ async def plugin_async_main(
920
920
  clusterSetup = ClusterSetup(loop, peer)
921
921
  peer.params["initializeCluster"] = lambda options: clusterSetup.initializeCluster(options)
922
922
 
923
- async def ping(time: int, pong: Any):
924
- await pong(time)
923
+ async def ping(time: int):
924
+ return time
925
925
 
926
926
  peer.params["ping"] = ping
927
927
 
@@ -345,7 +345,7 @@ export function setupCluster(peer: RpcPeer) {
345
345
  peer.onProxySerialization = value => onProxySerialization(peer, value, undefined);
346
346
  delete peer.params.initializeCluster;
347
347
 
348
- peer.killed.catch(() => { }).finally(() => clusterRpcServer.close());
348
+ peer.killedSafe.finally(() => clusterRpcServer.close());
349
349
  clusterRpcServer.on('close', () => {
350
350
  peer.kill('cluster server closed');
351
351
  // close all clusterRpcServer clients
@@ -161,7 +161,7 @@ export class PluginDeviceProxyHandler implements PrimitiveProxyHandler<any> {
161
161
  console.warn('no device was returned by the plugin', this.id);
162
162
  }
163
163
  catch (e) {
164
- console.error('error occured retrieving device from plugin', e);
164
+ console.error('error occurred retrieving device from plugin', e);
165
165
  }
166
166
 
167
167
  const interfaces: ScryptedInterface[] = getState(pluginDevice, ScryptedInterfaceProperty.providedInterfaces) || [];
@@ -22,7 +22,7 @@ import { LazyRemote } from './plugin-lazy-remote';
22
22
  import { setupPluginRemote } from './plugin-remote';
23
23
  import { WebSocketConnection } from './plugin-remote-websocket';
24
24
  import { ensurePluginVolume, getScryptedVolume } from './plugin-volume';
25
- import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork.worker';
25
+ import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork-worker';
26
26
  import { prepareZipSync } from './runtime/node-worker-common';
27
27
  import { RuntimeWorker } from './runtime/runtime-worker';
28
28
 
@@ -170,7 +170,6 @@ export class PluginHost {
170
170
  return;
171
171
  }
172
172
 
173
-
174
173
  const handler = this.scrypted.getDevice<EngineIOHandler>(pluginDevice._id);
175
174
 
176
175
  // @ts-expect-error
@@ -199,8 +198,6 @@ export class PluginHost {
199
198
  }
200
199
  })
201
200
 
202
- const self = this;
203
-
204
201
  const { runtime } = this.packageJson.scrypted;
205
202
  const mediaManager = runtime && runtime !== 'node'
206
203
  ? new MediaManagerHostImpl(pluginDeviceId, () => scrypted.stateManager.getSystemState(), console, id => scrypted.getDevice(id))
@@ -211,74 +208,120 @@ export class PluginHost {
211
208
  logger.log('i', `loading ${this.pluginName}`);
212
209
  logger.log('i', 'pid ' + this.worker?.pid);
213
210
 
214
- const remotePromise = (async () => {
215
- let peer: RpcPeer;
211
+ const remotePromise = this.prepareRemote(peerPromise, logger, pluginDebug);
212
+ const init = this.initializeRemote(remotePromise, logger, pluginDebug);
213
+
214
+ init.catch(e => {
215
+ console.error('plugin failed to load', e);
216
+ this.api.removeListeners();
217
+ });
218
+
219
+ this.module = init.then(({ module }) => module);
220
+ const remote = init.then(({ remote }) => remote);
221
+ this.remote = new LazyRemote(remotePromise, remote);
222
+ }
223
+
224
+ private async initializeRemote(remotePromise: Promise<PluginRemote>, logger: Logger, pluginDebug: PluginDebug) {
225
+ const remote = await remotePromise;
226
+
227
+ await Promise.all(
228
+ this.scrypted.findPluginDevices(this.pluginId)
229
+ .map(pluginDevice => remote.setNativeId(pluginDevice.nativeId, pluginDevice._id, pluginDevice.storage || {}))
230
+ );
231
+
232
+ const waitDebug = pluginDebug?.waitDebug;
233
+ if (waitDebug) {
234
+ console.info('waiting for debugger...');
216
235
  try {
217
- peer = await peerPromise;
236
+ await waitDebug;
237
+ console.info('debugger attached.');
238
+ await sleep(1000);
218
239
  }
219
240
  catch (e) {
220
- logger.log('e', 'plugin failed to start ' + e);
221
- throw new RPCResultError(this.peer, 'cluster plugin start failed', e);
241
+ console.error('debugger failed', e);
222
242
  }
223
- return setupPluginRemote(peer, this.api, self.pluginId, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
224
- })();
243
+ }
225
244
 
226
- const init = (async () => {
227
- const remote = await remotePromise;
245
+ const fail = 'Plugin failed to load. View Console for more information.';
246
+ try {
247
+ const loadZipOptions: PluginRemoteLoadZipOptions = {
248
+ clusterId: this.scrypted.clusterId,
249
+ clusterSecret: this.scrypted.clusterSecret,
250
+ // debug flag can be used to affect path resolution for sourcemaps etc.
251
+ debug: !!pluginDebug,
252
+ zipHash: this.zipHash,
253
+ };
254
+ // original implementation sent the zipBuffer, sending the zipFile name now.
255
+ // can switch back for non-local plugins.
256
+ const modulePromise = remote.loadZip(this.packageJson,
257
+ new PluginZipAPI(async () => fs.promises.readFile(this.zipFile)),
258
+ loadZipOptions);
259
+ // allow garbage collection of the zip buffer
260
+ const module = await modulePromise;
261
+ logger.log('i', `loaded ${this.pluginName}`);
262
+ logger.clearAlert(fail)
263
+ return { module, remote };
264
+ }
265
+ catch (e) {
266
+ logger.log('a', fail);
267
+ logger.log('e', `plugin load error ${e}`);
268
+ console.error('plugin load error', e);
269
+ throw e;
270
+ }
271
+ }
228
272
 
229
- await Promise.all(
230
- scrypted.findPluginDevices(self.pluginId)
231
- .map(pluginDevice => remote.setNativeId(pluginDevice.nativeId, pluginDevice._id, pluginDevice.storage || {}))
232
- );
273
+ private async prepareRemote(peerPromise: Promise<RpcPeer>, logger: Logger, pluginDebug: PluginDebug) {
274
+ let peer: RpcPeer;
275
+ try {
276
+ peer = await peerPromise;
277
+ }
278
+ catch (e) {
279
+ logger.log('e', 'plugin failed to start ' + e);
280
+ throw new RPCResultError(this.peer, 'cluster plugin start failed', e);
281
+ }
233
282
 
234
- const waitDebug = pluginDebug?.waitDebug;
235
- if (waitDebug) {
236
- console.info('waiting for debugger...');
237
- try {
238
- await waitDebug;
239
- console.info('debugger attached.');
240
- await sleep(1000);
241
- }
242
- catch (e) {
243
- console.error('debugger failed', e);
244
- }
245
- }
283
+ const startupTime = Date.now();
284
+ let lastPong: number;
246
285
 
247
- const fail = 'Plugin failed to load. View Console for more information.';
286
+ (async () => {
248
287
  try {
249
- const loadZipOptions: PluginRemoteLoadZipOptions = {
250
- clusterId: scrypted.clusterId,
251
- clusterSecret: scrypted.clusterSecret,
252
- // debug flag can be used to affect path resolution for sourcemaps etc.
253
- debug: !!pluginDebug,
254
- zipHash: this.zipHash,
255
- };
256
- // original implementation sent the zipBuffer, sending the zipFile name now.
257
- // can switch back for non-local plugins.
258
- const modulePromise = remote.loadZip(this.packageJson,
259
- new PluginZipAPI(async () => fs.promises.readFile(this.zipFile)),
260
- loadZipOptions);
261
- // allow garbage collection of the zip buffer
262
- const module = await modulePromise;
263
- logger.log('i', `loaded ${this.pluginName}`);
264
- logger.clearAlert(fail)
265
- return { module, remote };
288
+ let pingPromise: Promise<(time: number) => Promise<number>>
289
+ while (!this.killed) {
290
+ await sleep(30000);
291
+ if (this.killed)
292
+ return;
293
+ pingPromise ||= peer.getParam('ping');
294
+ const ping = await pingPromise;
295
+ lastPong = await ping(Date.now());
296
+ }
266
297
  }
267
298
  catch (e) {
268
- logger.log('a', fail);
269
- logger.log('e', `plugin load error ${e}`);
270
- console.error('plugin load error', e);
271
- throw e;
299
+ logger.log('e', 'plugin ping failed. restarting.');
300
+ this.api.requestRestart();
272
301
  }
273
302
  })();
274
303
 
275
- this.module = init.then(({ module }) => module);
276
- this.remote = new LazyRemote(remotePromise, init.then(({ remote }) => remote));
304
+ const healthInterval = setInterval(async () => {
305
+ const now = Date.now();
306
+ // plugin may take a while to install, so wait 10 minutes.
307
+ // after that, require 1 minute checkins.
308
+ if (!lastPong) {
309
+ if (now - startupTime > 10 * 60 * 1000) {
310
+ const logger = await this.api.getLogger(undefined);
311
+ logger.log('e', 'plugin failed to start in a timely manner. restarting.');
312
+ this.api.requestRestart();
313
+ }
314
+ return;
315
+ }
316
+ if (!pluginDebug && (lastPong + 60000 < now)) {
317
+ const logger = await this.api.getLogger(undefined);
318
+ logger.log('e', 'plugin is not responding to ping. restarting.');
319
+ this.api.requestRestart();
320
+ }
321
+ }, 60000);
322
+ peer.killedSafe.finally(() => clearInterval(healthInterval));
277
323
 
278
- init.catch(e => {
279
- console.error('plugin failed to load', e);
280
- this.api.removeListeners();
281
- });
324
+ return setupPluginRemote(peer, this.api, this.pluginId, { serverVersion }, () => this.scrypted.stateManager.getSystemState());
282
325
  }
283
326
 
284
327
  startPluginHost(logger: Logger, env: any, pluginDebug: PluginDebug) {
@@ -347,9 +390,9 @@ export class PluginHost {
347
390
 
348
391
  forkPeer.then(peer => {
349
392
  const originalPeer = this.peer;
350
- originalPeer.killed.then(s => peer.kill(s)).catch(e => peer.kill(e));
393
+ originalPeer.killedSafe.finally(() => peer.kill());
351
394
  this.peer = peer;
352
- peer.killed.catch(() =>{} ).finally(() => originalPeer.kill());
395
+ peer.killedSafe.finally(() => originalPeer.kill());
353
396
  }).catch(() => {});
354
397
 
355
398
  this.worker = runtimeWorker;
@@ -379,49 +422,6 @@ export class PluginHost {
379
422
  disconnect();
380
423
  });
381
424
 
382
- const startupTime = Date.now();
383
- let lastPong: number;
384
- const pong = (time: number) => {
385
- lastPong = time;
386
- };
387
- (async () => {
388
- try {
389
- let pingPromise: Promise<(time: number, p: typeof pong) => Promise<void>>
390
- while (!this.killed) {
391
- await sleep(30000);
392
- if (this.killed)
393
- return;
394
- pingPromise ||= this.peer.getParam('ping');
395
- const ping = await pingPromise;
396
- await ping(Date.now(), pong);
397
- }
398
- }
399
- catch (e) {
400
- logger.log('e', 'plugin ping failed. restarting.');
401
- this.api.requestRestart();
402
- }
403
- })();
404
-
405
- const healthInterval = setInterval(async () => {
406
- const now = Date.now();
407
- // plugin may take a while to install, so wait 10 minutes.
408
- // after that, require 1 minute checkins.
409
- if (!lastPong) {
410
- if (now - startupTime > 10 * 60 * 1000) {
411
- const logger = await this.api.getLogger(undefined);
412
- logger.log('e', 'plugin failed to start in a timely manner. restarting.');
413
- this.api.requestRestart();
414
- }
415
- return;
416
- }
417
- if (!pluginDebug && (lastPong + 60000 < now)) {
418
- const logger = await this.api.getLogger(undefined);
419
- logger.log('e', 'plugin is not responding to ping. restarting.');
420
- this.api.requestRestart();
421
- }
422
- }, 60000);
423
- this.peer.killed.finally(() => clearInterval(healthInterval));
424
-
425
425
  return peer;
426
426
  }
427
427
 
@@ -15,6 +15,7 @@ import { PluginRemote, PluginRemoteLoadZipOptions, PluginZipAPI } from './plugin
15
15
  this.remote = await remoteReadyPromise;
16
16
  return this.remote;
17
17
  })();
18
+ this.remoteReadyPromise.catch(() => {});
18
19
  }
19
20
 
20
21
  async loadZip(packageJson: any, zipAPI: PluginZipAPI, options?: PluginRemoteLoadZipOptions): Promise<any> {
@@ -15,7 +15,7 @@ import { attachPluginRemote, DeviceManagerImpl, setupPluginRemote } from './plug
15
15
  import { createREPLServer } from './plugin-repl';
16
16
  import { getPluginVolume } from './plugin-volume';
17
17
  import { ChildProcessWorker } from './runtime/child-process-worker';
18
- import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork.worker';
18
+ import { createClusterForkWorker, needsClusterForkWorker } from './runtime/cluster-fork-worker';
19
19
  import { NodeThreadWorker } from './runtime/node-thread-worker';
20
20
  import { prepareZip } from './runtime/node-worker-common';
21
21
  import { getBuiltinRuntimeHosts } from './runtime/runtime-host';
@@ -32,7 +32,7 @@ export function startPluginRemote(mainFilename: string, pluginId: string, peerSe
32
32
  const peer = new RpcPeer('unknown', 'host', peerSend);
33
33
 
34
34
  const clusterPeerSetup = setupCluster(peer);
35
- const { initializeCluster, connectRPCObject, mainThreadBrokerRegister , mainThreadPort } = clusterPeerSetup;
35
+ const { initializeCluster, connectRPCObject, mainThreadBrokerRegister, mainThreadPort } = clusterPeerSetup;
36
36
 
37
37
  peer.params.initializeCluster = initializeCluster;
38
38
 
@@ -195,8 +195,8 @@ export function startPluginRemote(mainFilename: string, pluginId: string, peerSe
195
195
 
196
196
  await installOptionalDependencies(getPluginConsole(), packageJson);
197
197
 
198
- peer.params.ping = async (time: number, pong: (time: number) => Promise<void>) => {
199
- await pong(time);
198
+ peer.params.ping = async (time: number) => {
199
+ return time;
200
200
  };
201
201
 
202
202
  const main = pluginReader(mainNodejs);
@@ -45,7 +45,7 @@ export function createClusterForkWorker(
45
45
  // need to ensure this happens on next tick to prevent unhandled promise rejection.
46
46
  // await sleep(0);
47
47
  const forkComponent = await forkComponentPromise;
48
- const peerLiveness = new PeerLiveness(new Deferred().promise);
48
+ const peerLiveness = new PeerLiveness(waitKilled.promise);
49
49
  const clusterForkResult = await forkComponent.fork(peerLiveness, options, packageJson, zipHash, getZip);
50
50
  waitKilled.promise.finally(() => {
51
51
  runtimeWorker.pid = undefined;
package/src/rpc.ts CHANGED
@@ -300,6 +300,7 @@ export class RpcPeer {
300
300
  constructorSerializerMap = new Map<any, string>();
301
301
  transportSafeArgumentTypes = RpcPeer.getDefaultTransportSafeArgumentTypes();
302
302
  killed: Promise<string>;
303
+ killedSafe: Promise<void>;
303
304
  killedDeferred: Deferred;
304
305
  tags: any = {};
305
306
  yieldedAsyncIterators = new Set<AsyncGenerator>();
@@ -395,6 +396,7 @@ export class RpcPeer {
395
396
  this.killed = new Promise<string>((resolve, reject) => {
396
397
  this.killedDeferred = { resolve, reject, method: undefined };
397
398
  }).catch(e => e.message || 'Unknown Error');
399
+ this.killedSafe = this.killed.then(() => {}).catch(() => { });
398
400
  }
399
401
 
400
402
  static isTransportSafe(value: any) {