aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-12-17 16:38:16 -0800
committerSam Wilkins <samwilkins333@gmail.com>2019-12-17 16:38:16 -0800
commite553c4ac4785ee1d2c57ed5d5303d6dff26929f9 (patch)
treee613b1bd13a19fefa3473c921a4e01674b387886
parent50940d2f1680aabbadcf9dd6e5455b7c7517115a (diff)
ipc
-rw-r--r--package-lock.json49
-rw-r--r--package.json1
-rw-r--r--src/server/session_manager/session_manager.ts3
-rw-r--r--src/typings/index.d.ts1
4 files changed, 49 insertions, 5 deletions
diff --git a/package-lock.json b/package-lock.json
index c7b56b074..3b98a9634 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2399,6 +2399,21 @@
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
+ "boolify-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/boolify-string/-/boolify-string-2.0.2.tgz",
+ "integrity": "sha1-n4m9l9YKFEijlAF8SjuaPSQNRY4=",
+ "requires": {
+ "type-detect": "^1.0.0"
+ },
+ "dependencies": {
+ "type-detect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
+ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI="
+ }
+ }
+ },
"bootstrap": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
@@ -2639,8 +2654,7 @@
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"buffer-indexof": {
"version": "1.1.1",
@@ -4282,6 +4296,14 @@
"minimalistic-crypto-utils": "^1.0.0"
}
},
+ "emit-logger": {
+ "version": "github:chocolateboy/emit-logger#b9d25a2d939e42f29c940861e9648bd0fb810070",
+ "from": "github:chocolateboy/emit-logger#better-emitter-name",
+ "requires": {
+ "chalk": "^1.1.1",
+ "moment": "^2.10.6"
+ }
+ },
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -7016,6 +7038,20 @@
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
"integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
},
+ "ipc-event-emitter": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ipc-event-emitter/-/ipc-event-emitter-2.0.2.tgz",
+ "integrity": "sha512-hJsN8zCg8MZwl5nbTutqINDO4pJPbKwmCfrTJaRLNE+5H15mJx7Mxo3pXIAi8zlh+N5xpf+PdMOQ0pbtZQvRKA==",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "bluebird": "^3.4.7",
+ "boolify-string": "^2.0.2",
+ "emit-logger": "github:chocolateboy/emit-logger#better-emitter-name",
+ "lodash": "^4.17.4",
+ "semver": "^5.0.3",
+ "source-map-support": "^0.5.9"
+ }
+ },
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
@@ -8486,6 +8522,11 @@
}
}
},
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ },
"mongodb": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.7.tgz",
@@ -15096,7 +15137,6 @@
"version": "0.5.12",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
"integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
- "dev": true,
"requires": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
@@ -15105,8 +15145,7 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
diff --git a/package.json b/package.json
index 4b0de5392..29201288a 100644
--- a/package.json
+++ b/package.json
@@ -157,6 +157,7 @@
"image-data-uri": "^2.0.0",
"image-size": "^0.7.4",
"imagesloaded": "^4.1.4",
+ "ipc-event-emitter": "^2.0.2",
"jquery-awesome-cursor": "^0.3.1",
"js-datepicker": "^4.6.6",
"jsonwebtoken": "^8.5.0",
diff --git a/src/server/session_manager/session_manager.ts b/src/server/session_manager/session_manager.ts
index d8b2f6e74..d5b366811 100644
--- a/src/server/session_manager/session_manager.ts
+++ b/src/server/session_manager/session_manager.ts
@@ -9,12 +9,15 @@ import { ChildProcess, exec, execSync } from "child_process";
import InputManager from "./input_manager";
import { identifier, logPath, crashPath, onWindows, pid, ports, heartbeat, recipient, latency, SessionState } from "./config";
const killport = require("kill-port");
+import * as IPC from "ipc-event-emitter";
process.on('SIGINT', endPrevious);
let state: SessionState = SessionState.STARTING;
const is = (...reference: SessionState[]) => reference.includes(state);
const set = (reference: SessionState) => state = reference;
+
+
const { registerCommand } = new InputManager({ identifier });
registerCommand("restart", [], async () => {
diff --git a/src/typings/index.d.ts b/src/typings/index.d.ts
index 674278126..887f96734 100644
--- a/src/typings/index.d.ts
+++ b/src/typings/index.d.ts
@@ -3,6 +3,7 @@
declare module 'googlephotos';
declare module 'react-image-lightbox-with-rotate';
declare module 'kill-port';
+declare module 'ipc-event-emitter';
declare module '@react-pdf/renderer' {
import * as React from 'react';