Small bugfix

This commit is contained in:
2025-10-24 16:21:04 +02:00
parent 02391f813b
commit 7ce9003621
21 changed files with 601 additions and 10 deletions

View File

@@ -42,6 +42,8 @@ var Utils_1 = require("./Utils");
var PREFIX = "[CameraRunner]";
var CameraRunner = /** @class */ (function () {
function CameraRunner(Main) {
this.errorTriggerStartupDelay = 10000;
this.bootTime = Date.now();
this.state = 'DISCONNECTED';
this.processStatus = {
state: 'STOPPED',
@@ -92,6 +94,9 @@ var CameraRunner = /** @class */ (function () {
this.error = error;
this.state = state;
this.broadcastState();
if (error != null &&
Date.now() - this.bootTime > this.errorTriggerStartupDelay)
this._Main.Twilio.sendError('CameraRunner', error);
if (state == 'FAILED' || state == 'DISCONNECTED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
else
@@ -175,6 +180,7 @@ var CameraRunner = /** @class */ (function () {
reconnectionDelay: 2000,
});
this.socket.on('connect', function () {
_this._Main.Twilio.resetError('CameraRunner');
_this.setInfo('Connected', null, 'CONNECTED');
_this.startPollClock();
});

File diff suppressed because one or more lines are too long

View File

@@ -25,6 +25,13 @@ exports.DefaultConfiguration = {
},
pollInterval: 5000,
},
twilio: {
accountSid: '',
authToken: '',
fromNumber: '',
toNumbers: [],
aggregateTimeout: 15000,
},
support: {
telephone: '+31613392837',
},

View File

@@ -1 +1 @@
{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;KAC9B;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"}
{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;KAC9B;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACP,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,KAAK;KACvB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"}

9
dist/Main.js vendored
View File

@@ -44,11 +44,13 @@ var ConfigurationManager_1 = require("./Configuration/ConfigurationManager");
var CameraRunner_1 = require("./CameraRunner");
var UnityRunner_1 = require("./Unity/UnityRunner");
var UnityWebSocket_1 = require("./Unity/UnityWebSocket");
var Twilio_1 = require("./Twilio");
var Main = /** @class */ (function () {
function Main() {
this.dataPath = (0, path_1.join)((0, os_1.homedir)(), 'MorphixProductions', 'NTSHControl');
this.ConfigurationManager = new ConfigurationManager_1.ConfigurationManager(this);
this.WebServer = new WebServer_1.WebServer(this);
this.Twilio = new Twilio_1.TwilioHandler(this);
this.CameraRunner = new CameraRunner_1.CameraRunner(this);
this.UnityRunner = new UnityRunner_1.UnityRunner(this);
this.UnityWebSocket = new UnityWebSocket_1.UnityWebSocket(this);
@@ -65,8 +67,11 @@ var Main = /** @class */ (function () {
return [4 /*yield*/, this.WebServer.listen()];
case 2:
_b.sent();
return [4 /*yield*/, this.CameraRunner.connect()];
return [4 /*yield*/, this.Twilio.load()];
case 3:
_b.sent();
return [4 /*yield*/, this.CameraRunner.connect()];
case 4:
_b.sent();
setTimeout(function () {
_this.UnityRunner.start();
@@ -93,10 +98,12 @@ var Main = /** @class */ (function () {
_this.CameraRunner.sendCommand(doReboot ? 'reboot' : 'restart', function (response) {
if (!response.succeed) {
console.error('Failed to reboot CameraRunner:', response.message);
_this.Twilio.sendError('CameraRunner', "Failed to reboot CameraRunner: ".concat(response.message));
resolve(false);
}
else {
console.log('CameraRunner rebooted successfully.');
_this.Twilio.sendError('CameraRunner', null);
resolve(true);
}
});

2
dist/Main.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAC5B,mDAAkD;AAClD,yBAA6B;AAC7B,6EAG8C;AAC9C,+CAA8C;AAC9C,mDAAkD;AAClD,yDAAwD;AAExD;IAAA;QACC,aAAQ,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAEhE,yBAAoB,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QACtD,cAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QAEhC,iBAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;IA6C3C,CAAC;IAzCM,oBAAK,GAAX;;;;;;4BACC,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAA;;wBAAtC,SAAsC,CAAC;wBACvC,qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAE9B,qBAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAA;;wBAAjC,SAAiC,CAAC;wBAElC,UAAU,CAAC;4BACV,KAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;wBAC1B,CAAC,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,mCAAI,CAAC,CAAC,CAAC;;;;;KACnD;IAEK,sBAAO,GAAb;;;;;;;wBACC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAExB,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACvD,OAAO,CAAC,GAAG,CAAC,UAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,qBAAkB,CAAC,CAAC;wBACxD,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;gCACzC,KAAI,CAAC,YAAY,CAAC,WAAW,CAC5B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC/B,UAAC,QAAgD;oCAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wCACvB,OAAO,CAAC,KAAK,CACZ,gCAAgC,EAChC,QAAQ,CAAC,OAAO,CAChB,CAAC;wCACF,OAAO,CAAC,KAAK,CAAC,CAAC;oCAChB,CAAC;yCAAM,CAAC;wCACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;wCACnD,OAAO,CAAC,IAAI,CAAC,CAAC;oCACf,CAAC;gCACF,CAAC,CACD,CAAC;4BACH,CAAC,CAAC,EAAA;;wBAhBI,OAAO,GAAG,SAgBd;wBACF,IAAI,CAAC,OAAO;4BAAE,sBAAO;wBAErB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;wBAE/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;;;;KACjC;IACF,WAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,oBAAI"}
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":"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"}

116
dist/Twilio.js vendored Normal file
View File

@@ -0,0 +1,116 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TwilioHandler = void 0;
var PREFIX = '[Twilio]';
var TwilioHandler = /** @class */ (function () {
function TwilioHandler(Main) {
this.lastErrors = new Map();
this.errorLog = [];
this._Main = Main;
}
TwilioHandler.prototype.load = function () {
this.client = require('twilio')(this._Main.Config.twilio.accountSid, this._Main.Config.twilio.authToken);
};
TwilioHandler.prototype.resetError = function (category) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
if (!this.lastErrors.has(category))
return [2 /*return*/];
this.lastErrors.delete(category);
return [2 /*return*/];
});
});
};
TwilioHandler.prototype.sendError = function (category, error) {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
if (this.lastErrors.get(category) === error)
return [2 /*return*/];
this.lastErrors.set(category, error);
if (error == null)
return [2 /*return*/];
this.errorLog.push("".concat(category, ": ").concat(error));
clearTimeout(this.errorTimeout);
this.errorTimeout = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
var errorMessage, promises;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
errorMessage = this.errorLog
.map(function (error) { return "- ".concat(error); })
.join('\n');
this.errorLog = [];
console.log(PREFIX, "Sending to Twilio:\n", errorMessage);
promises = this._Main.Config.twilio.toNumbers.map(function (toNumber) { return _this.sendMessage(toNumber, errorMessage); });
return [4 /*yield*/, Promise.all(promises)];
case 1:
_a.sent();
return [2 /*return*/];
}
});
}); }, 15000);
return [2 /*return*/];
});
});
};
TwilioHandler.prototype.sendMessage = function (to, message) {
var _this = this;
return new Promise(function (resolve) {
_this.client.messages
.create({
body: message,
from: "".concat(_this._Main.Config.twilio.fromNumber),
to: to,
})
.then(function (message) {
console.log("Twilio message sent with SID: ".concat(message.sid));
resolve(true);
})
.catch(function (error) {
console.error('Error sending Twilio message:', error);
resolve(false);
});
});
};
return TwilioHandler;
}());
exports.TwilioHandler = TwilioHandler;
//# sourceMappingURL=Twilio.js.map

1
dist/Twilio.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Twilio.js","sourceRoot":"","sources":["../src/Twilio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,MAAM,GAAG,UAAU,CAAC;AAC1B;IAKC,uBAAY,IAAU;QAgBd,eAAU,GAAkC,IAAI,GAAG,EAAE,CAAC;QACtD,aAAQ,GAAa,EAAE,CAAC;QAhB/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,4BAAI,GAAJ;QACC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAClC,CAAC;IACH,CAAC;IAEK,kCAAU,GAAhB,UAAiB,QAA0B;;;gBAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,sBAAO;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;;;KACjC;IAKK,iCAAS,GAAf,UAAgB,QAA0B,EAAE,KAAa;;;;gBACxD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK;oBAAE,sBAAO;gBAEpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrC,IAAI,KAAK,IAAI,IAAI;oBAAE,sBAAO;gBAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAG,QAAQ,eAAK,KAAK,CAAE,CAAC,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;;;;;;gCACxB,YAAY,GAAG,IAAI,CAAC,QAAQ;qCAChC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,YAAK,KAAK,CAAE,EAAZ,CAAY,CAAC;qCAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;gCACb,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gCAEnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC;gCAEpD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CACtD,UAAC,QAAQ,IAAK,OAAA,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAxC,CAAwC,CACtD,CAAC;gCACF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;gCAA3B,SAA2B,CAAC;;;;qBAC5B,EAAE,KAAK,CAAC,CAAC;;;;KACV;IAED,mCAAW,GAAX,UAAY,EAAU,EAAE,OAAe;QAAvC,iBAiBC;QAhBA,OAAO,IAAI,OAAO,CAAU,UAAC,OAAO;YACnC,KAAI,CAAC,MAAM,CAAC,QAAQ;iBAClB,MAAM,CAAC;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAE;gBAC9C,EAAE,EAAE,EAAE;aACN,CAAC;iBACD,IAAI,CAAC,UAAC,OAAY;gBAClB,OAAO,CAAC,GAAG,CAAC,wCAAiC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,KAAU;gBACjB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,oBAAC;AAAD,CAAC,AAjED,IAiEC;AAjEY,sCAAa"}

View File

@@ -54,6 +54,7 @@ var LOG_OUTPUT = !process.argv.includes('--no-output-log');
var UnityRunner = /** @class */ (function () {
function UnityRunner(Main) {
this.message = 'Awaiting startup delay...';
this.bootTime = Date.now();
this.startTime = null;
this.output = { current: [], last: [] };
this.restartTriggered = false;
@@ -98,6 +99,8 @@ var UnityRunner = /** @class */ (function () {
this.error = error;
this.state = state;
this.broadcastState();
if (error != null)
this._Main.Twilio.sendError('UnityRunner', error);
this.output.current.push("[".concat(new Date().toLocaleTimeString('nl-NL'), "] [System] [").concat(state, "] ").concat(message !== null && message !== void 0 ? message : error));
if (state == 'PROBLEM' || state == 'STOPPED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
@@ -300,6 +303,7 @@ var UnityRunner = /** @class */ (function () {
((_b = _this.process) === null || _b === void 0 ? void 0 : _b.exitCode) != null ||
_this.restartTriggered)
return;
_this._Main.Twilio.resetError('UnityRunner');
_this.setInfo('Running', '', 'RUNNING');
_this._Main.UnityWebSocket.connect();
}, 5000);

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,15 @@
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -44,6 +55,7 @@ var UnityWebSocket = /** @class */ (function () {
function UnityWebSocket(Main) {
this.state = 'DISCONNECTED';
this.message = 'Waiting for process...';
this.errorTriggerStartupDelay = 1000;
this.parameters = {
timelineWatching: false,
timelineStanding: false,
@@ -125,6 +137,8 @@ var UnityWebSocket = /** @class */ (function () {
this.error = error;
this.state = state;
this.broadcastState();
if (error != null)
this._Main.Twilio.sendError('UnityWebSocket', error);
if (state == 'FAILED' || state == 'DISCONNECTED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
else
@@ -158,7 +172,9 @@ var UnityWebSocket = /** @class */ (function () {
this.parameters.outOfService =
(_a = message.heartbeat.showOutOfService) !== null && _a !== void 0 ? _a : false;
this.parameters.sensors = message.heartbeat.dataSensors;
this.parameters.sliders = message.heartbeat.dataSliders;
this.parameters.sliders = message.heartbeat.dataSliders.map(function (slider) {
return __assign(__assign({}, slider), { decimalPlaces: slider.min == 0 && slider.max == 1 ? 2 : null });
});
this.broadcastState();
break;
case 'response_camera_frame':
@@ -238,6 +254,7 @@ var UnityWebSocket = /** @class */ (function () {
});
this.socket.on('open', function () {
_this.startFetchClocks();
_this._Main.Twilio.resetError('UnityWebSocket');
_this.setInfo('Connected', null, 'CONNECTED');
});
this.socket.on('close', function () {

File diff suppressed because one or more lines are too long