@sockethub/server 5.0.0-alpha.3 → 5.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/coverage/tmp/coverage-39338-1663949520416-0.json +1 -0
  2. package/dist/bootstrap/init.js +2 -1
  3. package/dist/bootstrap/init.js.map +1 -1
  4. package/dist/config.d.ts +7 -1
  5. package/dist/config.js +6 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/index.d.ts +1 -2
  8. package/dist/index.js +7 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/janitor.d.ts +27 -12
  11. package/dist/janitor.js +97 -66
  12. package/dist/janitor.js.map +1 -1
  13. package/dist/listener.d.ts +4 -1
  14. package/dist/listener.js +8 -5
  15. package/dist/listener.js.map +1 -1
  16. package/dist/middleware/create-activity-object.d.ts +3 -1
  17. package/dist/middleware/create-activity-object.js.map +1 -1
  18. package/dist/middleware/expand-activity-stream.d.ts +2 -1
  19. package/dist/middleware/expand-activity-stream.js +4 -1
  20. package/dist/middleware/expand-activity-stream.js.map +1 -1
  21. package/dist/middleware/expand-activity-stream.test.data.js +4 -4
  22. package/dist/middleware/expand-activity-stream.test.data.js.map +1 -1
  23. package/dist/middleware/store-credentials.d.ts +3 -3
  24. package/dist/middleware/store-credentials.js +2 -12
  25. package/dist/middleware/store-credentials.js.map +1 -1
  26. package/dist/middleware/validate.d.ts +2 -2
  27. package/dist/middleware/validate.js +1 -3
  28. package/dist/middleware/validate.js.map +1 -1
  29. package/dist/middleware/validate.test.data.js +5 -5
  30. package/dist/middleware/validate.test.data.js.map +1 -1
  31. package/dist/middleware.d.ts +14 -3
  32. package/dist/middleware.js +3 -1
  33. package/dist/middleware.js.map +1 -1
  34. package/dist/platform-instance.d.ts +11 -10
  35. package/dist/platform-instance.js +77 -62
  36. package/dist/platform-instance.js.map +1 -1
  37. package/dist/platform.js +93 -104
  38. package/dist/platform.js.map +1 -1
  39. package/dist/process-manager.js +7 -3
  40. package/dist/process-manager.js.map +1 -1
  41. package/dist/routes.d.ts +1 -1
  42. package/dist/routes.js +1 -1
  43. package/dist/routes.js.map +1 -1
  44. package/dist/sockethub.d.ts +1 -22
  45. package/dist/sockethub.js +19 -26
  46. package/dist/sockethub.js.map +1 -1
  47. package/package.json +30 -36
  48. package/src/bootstrap/init.d.ts +17 -7
  49. package/src/bootstrap/init.ts +2 -1
  50. package/src/config.ts +9 -1
  51. package/src/index.ts +3 -2
  52. package/src/janitor.test.ts +189 -0
  53. package/src/janitor.ts +110 -65
  54. package/src/listener.ts +11 -7
  55. package/src/middleware/create-activity-object.ts +5 -2
  56. package/src/middleware/expand-activity-stream.test.data.ts +5 -5
  57. package/src/middleware/expand-activity-stream.test.ts +2 -2
  58. package/src/middleware/expand-activity-stream.ts +12 -7
  59. package/src/middleware/store-credentials.test.ts +4 -6
  60. package/src/middleware/store-credentials.ts +8 -14
  61. package/src/middleware/validate.test.data.ts +5 -5
  62. package/src/middleware/validate.ts +4 -6
  63. package/src/middleware.ts +28 -11
  64. package/src/platform-instance.test.ts +18 -18
  65. package/src/platform-instance.ts +98 -73
  66. package/src/platform.ts +79 -101
  67. package/src/process-manager.ts +1 -1
  68. package/src/routes.ts +3 -2
  69. package/src/sockethub.ts +29 -57
  70. package/views/examples/dummy.ejs +3 -1
  71. package/views/examples/shared.js +1 -1
  72. package/views/examples/xmpp.ejs +60 -34
  73. package/coverage/tmp/coverage-93126-1649152190997-0.json +0 -1
  74. package/dist/common.d.ts +0 -3
  75. package/dist/common.js +0 -20
  76. package/dist/common.js.map +0 -1
  77. package/dist/crypto.d.ts +0 -10
  78. package/dist/crypto.js +0 -38
  79. package/dist/crypto.js.map +0 -1
  80. package/dist/store.d.ts +0 -5
  81. package/dist/store.js +0 -17
  82. package/dist/store.js.map +0 -1
  83. package/src/common.test.ts +0 -54
  84. package/src/common.ts +0 -14
  85. package/src/config.d.ts +0 -2
  86. package/src/crypto.d.ts +0 -5
  87. package/src/crypto.test.ts +0 -41
  88. package/src/crypto.ts +0 -41
  89. package/src/janitor.d.ts +0 -8
  90. package/src/middleware/validate.d.ts +0 -1
  91. package/src/middleware.d.ts +0 -21
  92. package/src/sockethub.d.ts +0 -1
  93. package/src/store.test.ts +0 -28
  94. package/src/store.ts +0 -17
  95. package/test/queue.functional.test.js +0 -0
@@ -131,10 +131,10 @@ exports.default = [
131
131
  "image": {
132
132
  "height": 250,
133
133
  "mediaType": "image/jpeg",
134
- "url": "http://example.org/image.jpg",
134
+ "url": "https://example.org/image.jpg",
135
135
  "width": 250
136
136
  },
137
- "url": "http://sockethub.org"
137
+ "url": "https://sockethub.org"
138
138
  },
139
139
  "output": "same"
140
140
  },
@@ -146,7 +146,7 @@ exports.default = [
146
146
  "id": "irc://sh-9K3Vk@irc.freenode.net",
147
147
  "type": "person",
148
148
  "name": "sh-9K3Vk",
149
- "url": "http://sockethub.org"
149
+ "url": "https://sockethub.org"
150
150
  },
151
151
  "output": "same"
152
152
  },
@@ -212,7 +212,7 @@ exports.default = [
212
212
  "context": "fake",
213
213
  "target": { "id": "irc://irc.dooder.net/a-room", "type": "room" }
214
214
  },
215
- "error": "Error: activity stream: must have required property \'type\'"
215
+ "error": "Error: activity stream: must have required property 'type'"
216
216
  },
217
217
  {
218
218
  "name": "invalid context property",
@@ -235,7 +235,7 @@ exports.default = [
235
235
  "context": "fake",
236
236
  "target": { "id": "irc://irc.dooder.net/a-room", "type": "room" }
237
237
  },
238
- "error": "Error: activity stream: must have required property \'actor\'"
238
+ "error": "Error: activity stream: must have required property 'actor'"
239
239
  },
240
240
  {
241
241
  "name": "traditional message",
@@ -1 +1 @@
1
- {"version":3,"file":"validate.test.data.js","sourceRoot":"/","sources":["middleware/validate.test.data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.test.data.js","sourceRoot":"/","sources":["middleware/validate.test.data.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
+ import { IActivityStream } from "@sockethub/schemas";
1
2
  export default function middleware(name: string): MiddlewareChain;
3
+ export interface MiddlewareChainInterface {
4
+ (error: IActivityStream | Error, data?: IActivityStream | MiddlewareChainInterface, next?: MiddlewareChainInterface): void;
5
+ }
6
+ interface ErrorHandlerInterface {
7
+ (err: Error, data?: unknown, cb?: unknown): void;
8
+ }
9
+ export interface LogErrorInterface {
10
+ (msg: Error): void;
11
+ }
2
12
  export declare class MiddlewareChain {
3
13
  name: string;
4
14
  private chain;
5
15
  private errHandler;
6
- private logger;
16
+ private readonly logger;
7
17
  constructor(name: string);
8
- use(func: Function): this;
9
- done(): (data: any, callback: Function) => void;
18
+ use(func: ErrorHandlerInterface | MiddlewareChainInterface): this;
19
+ done(): (data: unknown, callback: MiddlewareChainInterface) => void;
10
20
  }
21
+ export {};
@@ -32,7 +32,9 @@ class MiddlewareChain {
32
32
  return (data, callback) => {
33
33
  let position = 0;
34
34
  if (typeof callback !== 'function') {
35
- callback = () => { };
35
+ callback = () => {
36
+ // ensure we have a callback function
37
+ };
36
38
  }
37
39
  const next = (_data) => {
38
40
  if (_data instanceof Error) {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"/","sources":["middleware.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,SAAwB,UAAU,CAAC,IAAY;IAC7C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,6BAEC;AAED,MAAa,eAAe;IAM1B,YAAY,IAAY;QAJhB,UAAK,GAAoB,EAAE,CAAC;QAC5B,eAAU,GAAa,CAAC,GAAU,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAI5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAA,aAAK,EAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;aAAM;YACL,MAAM,IAAI,KAAK,CACb,gEAAgE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SACnF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,OAAO,CAAC,IAAS,EAAE,QAAkB,EAAE,EAAE;YACvC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;aACrB;YACD,MAAM,IAAI,GAAG,CAAC,KAAU,EAAE,EAAE;gBAC1B,IAAI,KAAK,YAAY,KAAK,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBACxC;qBAAM,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;oBACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACrC;qBAAM;oBACL,QAAQ,CAAC,KAAK,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;CACF;AA7CD,0CA6CC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"/","sources":["middleware.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAG9B,SAAwB,UAAU,CAAC,IAAY;IAC7C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,6BAEC;AAgBD,MAAa,eAAe;IAM1B,YAAY,IAAY;QAJhB,UAAK,GAAoC,EAAE,CAAC;QAC5C,eAAU,GAA0B,CAAC,GAAU,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAIzE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAA,aAAK,EAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,GAAG,CAAC,IAAsD;QACxD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,IAA6B,CAAC;SACjD;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAgC,CAAC,CAAC;SACnD;aAAM;YACL,MAAM,IAAI,KAAK,CACb,gEAAgE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SACnF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,OAAO,CAAC,IAAa,EAAE,QAAkC,EAAE,EAAE;YAC3D,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,GAAG,GAAG,EAAE;oBACd,qCAAqC;gBACvC,CAAC,CAAC;aACH;YACD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE;gBAC9B,IAAI,KAAK,YAAY,KAAK,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBACxC;qBAAM,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;oBACrD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAwB,EAAE,IAAI,CAAC,CAAC;iBACxD;qBAAM;oBACL,QAAQ,CAAC,KAAwB,CAAC,CAAC;iBACpC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;CACF;AA/CD,0CA+CC"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import { ChildProcess } from 'child_process';
3
3
  import { Debugger } from 'debug';
4
- import Queue from 'bull';
5
- import { IActivityStream } from '@sockethub/schemas';
4
+ import { IActivityStream, CompletedJobHandler } from "@sockethub/schemas";
5
+ import { JobQueue } from "@sockethub/data-layer";
6
6
  export declare const platformInstances: Map<string, PlatformInstance>;
7
7
  export interface PlatformInstanceParams {
8
8
  identifier: string;
@@ -10,33 +10,34 @@ export interface PlatformInstanceParams {
10
10
  parentId?: string;
11
11
  actor?: string;
12
12
  }
13
- export interface MessageFromParent extends Array<string | any> {
13
+ export interface MessageFromParent extends Array<string | unknown> {
14
14
  0: string;
15
- 1: any;
15
+ 1: unknown;
16
16
  }
17
17
  interface PlatformConfig {
18
18
  persist?: boolean;
19
19
  requireCredentials?: Array<string>;
20
20
  }
21
21
  export default class PlatformInstance {
22
- flaggedForTermination: boolean;
23
22
  id: string;
24
- queue: Queue;
25
- completedJobHandlers: Map<string, Function>;
26
- config: PlatformConfig;
23
+ flaggedForTermination: boolean;
24
+ initialized: boolean;
25
+ jobQueue: JobQueue;
26
+ readonly global: boolean;
27
+ readonly completedJobHandlers: Map<string, CompletedJobHandler>;
28
+ readonly config: PlatformConfig;
27
29
  readonly name: string;
28
30
  readonly process: ChildProcess;
29
31
  readonly debug: Debugger;
30
32
  readonly parentId: string;
31
33
  readonly sessions: Set<string>;
32
34
  readonly sessionCallbacks: object;
33
- readonly global?: boolean;
34
35
  private readonly actor?;
35
36
  constructor(params: PlatformInstanceParams);
36
37
  /**
37
38
  * Destroys all references to this platform instance, internal listeners and controlled processes
38
39
  */
39
- destroy(): Promise<void>;
40
+ shutdown(): Promise<void>;
40
41
  /**
41
42
  * When jobs are completed or failed, we prepare the results and send them to the client socket
42
43
  */
@@ -7,15 +7,17 @@ exports.platformInstances = void 0;
7
7
  const child_process_1 = require("child_process");
8
8
  const path_1 = require("path");
9
9
  const debug_1 = require("debug");
10
- const bull_1 = __importDefault(require("bull"));
10
+ const data_layer_1 = require("@sockethub/data-layer");
11
11
  const config_1 = __importDefault(require("./config"));
12
12
  const listener_1 = require("./listener");
13
- const common_1 = require("./common");
13
+ const nconf_1 = __importDefault(require("nconf"));
14
14
  // collection of platform instances, stored by `id`
15
15
  exports.platformInstances = new Map();
16
16
  class PlatformInstance {
17
17
  constructor(params) {
18
18
  this.flaggedForTermination = false;
19
+ this.initialized = false;
20
+ this.global = false;
19
21
  this.completedJobHandlers = new Map();
20
22
  this.config = {};
21
23
  this.sessions = new Set();
@@ -23,7 +25,6 @@ class PlatformInstance {
23
25
  'close': (() => new Map())(),
24
26
  'message': (() => new Map())()
25
27
  };
26
- this.global = false;
27
28
  this.id = params.identifier;
28
29
  this.name = params.platform;
29
30
  this.parentId = params.parentId;
@@ -33,55 +34,60 @@ class PlatformInstance {
33
34
  else {
34
35
  this.global = true;
35
36
  }
36
- this.debug = (0, debug_1.debug)(`sockethub:platform-instance:${this.id}`);
37
+ this.debug = (0, debug_1.debug)(`sockethub:server:platform-instance:${this.id}`);
38
+ const env = {};
39
+ if (process.env.DEBUG) {
40
+ env.DEBUG = process.env.DEBUG;
41
+ }
42
+ if (config_1.default.get('redis:url')) {
43
+ env.REDIS_URL = config_1.default.get('redis:url');
44
+ }
45
+ else {
46
+ env.REDIS_HOST = config_1.default.get('redis:host');
47
+ env.REDIS_PORT = config_1.default.get('redis:port');
48
+ }
37
49
  // spin off a process
38
- const env = config_1.default.get('redis:url') ? { REDIS_URL: config_1.default.get('redis:url') }
39
- : { REDIS_HOST: config_1.default.get('redis:host'), REDIS_PORT: config_1.default.get('redis:port') };
40
50
  this.process = (0, child_process_1.fork)((0, path_1.join)(__dirname, 'platform.js'), [this.parentId, this.name, this.id], { env: env });
41
51
  }
42
52
  /**
43
53
  * Destroys all references to this platform instance, internal listeners and controlled processes
44
54
  */
45
- async destroy() {
46
- this.debug(`cleaning up`);
55
+ async shutdown() {
56
+ this.debug('shutdown');
47
57
  this.flaggedForTermination = true;
48
58
  try {
49
- await this.queue.removeAllListeners();
59
+ await this.process.removeAllListeners('close');
60
+ await this.process.unref();
61
+ this.process.kill();
62
+ }
63
+ catch (e) {
64
+ // needs to happen
50
65
  }
51
- catch (e) { }
52
66
  try {
53
- await this.queue.obliterate({ force: true });
67
+ await this.jobQueue.shutdown();
68
+ delete this.jobQueue;
69
+ }
70
+ catch (e) {
71
+ // this needs to happen
54
72
  }
55
- catch (e) { }
56
73
  try {
57
- delete this.queue;
58
- await this.process.removeAllListeners('close');
59
- await this.process.unref();
60
- await this.process.kill();
74
+ exports.platformInstances.delete(this.id);
75
+ }
76
+ catch (e) {
77
+ // this needs to happen
61
78
  }
62
- catch (e) { }
63
- exports.platformInstances.delete(this.id);
64
79
  }
65
80
  /**
66
81
  * When jobs are completed or failed, we prepare the results and send them to the client socket
67
82
  */
68
83
  initQueue(secret) {
69
- this.queue = new bull_1.default(this.parentId + this.id, { redis: config_1.default.get('redis') });
70
- this.queue.on('global:completed', (jobId, resultString) => {
71
- const result = resultString ? JSON.parse(resultString) : "";
72
- this.queue.getJob(jobId).then(async (job) => {
73
- await this.handleJobResult('completed', (0, common_1.decryptJobData)(job, secret), result);
74
- await job.remove();
75
- });
76
- });
77
- this.queue.on('global:error', (jobId, result) => {
78
- this.debug("unknown queue error", jobId, result);
84
+ this.jobQueue = new data_layer_1.JobQueue(this.parentId, this.id, secret, nconf_1.default.get('redis'));
85
+ this.jobQueue.initResultEvents();
86
+ this.jobQueue.on('global:completed', async (job, result) => {
87
+ await this.handleJobResult('completed', job, result);
79
88
  });
80
- this.queue.on('global:failed', (jobId, result) => {
81
- this.queue.getJob(jobId).then(async (job) => {
82
- await this.handleJobResult('failed', (0, common_1.decryptJobData)(job, secret), result);
83
- await job.remove();
84
- });
89
+ this.jobQueue.on('global:failed', async (job, result) => {
90
+ await this.handleJobResult('failed', job, result);
85
91
  });
86
92
  }
87
93
  /**
@@ -91,7 +97,7 @@ class PlatformInstance {
91
97
  registerSession(sessionId) {
92
98
  if (!this.sessions.has(sessionId)) {
93
99
  this.sessions.add(sessionId);
94
- for (let type of Object.keys(this.sessionCallbacks)) {
100
+ for (const type of Object.keys(this.sessionCallbacks)) {
95
101
  const cb = this.callbackFunction(type, sessionId);
96
102
  this.process.on(type, cb);
97
103
  this.sessionCallbacks[type].set(sessionId, cb);
@@ -110,18 +116,19 @@ class PlatformInstance {
110
116
  // this property should never be exposed externally
111
117
  delete msg.sessionSecret;
112
118
  }
113
- catch (e) { }
114
- msg.context = this.name;
115
- if ((msg.type === 'error') && (typeof msg.actor === 'undefined') && (this.actor)) {
116
- // ensure an actor is present if not otherwise defined
117
- msg.actor = { id: this.actor, type: 'unknown' };
119
+ finally {
120
+ msg.context = this.name;
121
+ if ((msg.type === 'error') && (typeof msg.actor === 'undefined') && (this.actor)) {
122
+ // ensure an actor is present if not otherwise defined
123
+ msg.actor = { id: this.actor, type: 'unknown' };
124
+ }
125
+ socket.emit('message', msg);
118
126
  }
119
- socket.emit('message', msg);
120
127
  }, (err) => this.debug(`sendToClient ${err}`));
121
128
  }
122
129
  // send message to every connected socket associated with this platform instance.
123
130
  async broadcastToSharedPeers(sessionId, msg) {
124
- for (let sid of this.sessions.values()) {
131
+ for (const sid of this.sessions.values()) {
125
132
  if (sid !== sessionId) {
126
133
  this.debug(`broadcasting message to ${sid}`);
127
134
  await this.sendToClient(sid, msg);
@@ -129,29 +136,37 @@ class PlatformInstance {
129
136
  }
130
137
  }
131
138
  // handle job results coming in on the queue from platform instances
132
- async handleJobResult(type, jobData, result) {
133
- this.debug(`${type} job ${jobData.title}`);
134
- delete jobData.msg.sessionSecret;
135
- let msg = jobData.msg;
139
+ async handleJobResult(type, job, result) {
140
+ const msg = job.msg;
136
141
  if (type === 'failed') {
137
142
  msg.error = result ? result : "job failed for unknown reason";
138
- if ((this.config.persist) && (this.config.requireCredentials.includes(jobData.msg.type))) {
139
- this.debug(`critical job type ${jobData.msg.type} failed, terminating platform instance`);
140
- await this.destroy();
141
- }
143
+ this.debug(`${job.title} ${type}: ${msg.error}`);
142
144
  }
143
145
  // send result to client
144
- const callback = this.completedJobHandlers.get(jobData.title);
146
+ const callback = this.completedJobHandlers.get(job.title);
145
147
  if (callback) {
146
148
  callback(msg);
147
- this.completedJobHandlers.delete(jobData.title);
149
+ this.completedJobHandlers.delete(job.title);
148
150
  }
149
151
  else {
150
- await this.sendToClient(jobData.sessionId, msg);
152
+ await this.sendToClient(job.sessionId, msg);
151
153
  }
152
154
  // let all related peers know of result as an independent message
153
155
  // (not as part of a job completion, or failure)
154
- await this.broadcastToSharedPeers(jobData.sessionId, msg);
156
+ await this.broadcastToSharedPeers(job.sessionId, msg);
157
+ if ((this.config.persist) && (this.config.requireCredentials.includes(job.msg.type))) {
158
+ if (type === 'failed') {
159
+ this.debug(`critical job type ${job.msg.type} failed, flagging for termination`);
160
+ await this.jobQueue.pause();
161
+ this.initialized = false;
162
+ this.flaggedForTermination = true;
163
+ }
164
+ else {
165
+ await this.jobQueue.resume();
166
+ this.initialized = true;
167
+ this.flaggedForTermination = false;
168
+ }
169
+ }
155
170
  }
156
171
  /**
157
172
  * Sends error message to client and clears all references to this class.
@@ -167,7 +182,7 @@ class PlatformInstance {
167
182
  };
168
183
  this.sendToClient(sessionId, errorObject);
169
184
  this.sessions.clear();
170
- await this.destroy();
185
+ await this.shutdown();
171
186
  }
172
187
  /**
173
188
  * Updates the instance with a new identifier, updating the platformInstances mapping as well.
@@ -186,21 +201,21 @@ class PlatformInstance {
186
201
  */
187
202
  callbackFunction(listener, sessionId) {
188
203
  const funcs = {
189
- 'close': (e) => {
204
+ 'close': async (e) => {
190
205
  this.debug(`close even triggered ${this.id}: ${e}`);
191
- this.reportError(sessionId, `Error: session thread closed unexpectedly: ${e}`);
206
+ await this.reportError(sessionId, `Error: session thread closed unexpectedly: ${e}`);
192
207
  },
193
- 'message': (data) => {
194
- if (data[0] === 'updateActor') {
208
+ 'message': async ([first, second, third]) => {
209
+ if (first === 'updateActor') {
195
210
  // We need to update the key to the store in order to find it in the future.
196
- this.updateIdentifier(data[2]);
211
+ this.updateIdentifier(third);
197
212
  }
198
- else if (data[0] === 'error') {
199
- this.reportError(sessionId, data[1]);
213
+ else if ((first === 'error') && (typeof second === "string")) {
214
+ await this.reportError(sessionId, second);
200
215
  }
201
216
  else {
202
217
  // treat like a message to clients
203
- this.sendToClient(sessionId, data[1]);
218
+ this.sendToClient(sessionId, second);
204
219
  }
205
220
  }
206
221
  };
@@ -1 +1 @@
1
- {"version":3,"file":"platform-instance.js","sourceRoot":"/","sources":["platform-instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-instance.js","sourceRoot":"/","sources":["platform-instance.ts"],"names":[],"mappings":"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"}