XTerm improvements.

This commit is contained in:
Ylian Saint-Hilaire 2020-01-25 14:17:21 -08:00
parent 99f8c772fd
commit b382a8fcc0
4 changed files with 10 additions and 12 deletions

View File

@ -288,6 +288,7 @@
<Content Include="views\messenger.handlebars" />
<Content Include="views\terms-mobile.handlebars" />
<Content Include="views\terms.handlebars" />
<Content Include="views\xterm.handlebars" />
</ItemGroup>
<ItemGroup>
<Folder Include="agents\" />

View File

@ -1793,9 +1793,9 @@ function createMeshCore(agent) {
} else {
if (ws.httprequest.process == null || !ws.httprequest.process.pty) return;
// ILibDuktape_ChildProcess kill doesn't support sending signals
if (fs.existsSync("/bin/kill")) {
if (fs.existsSync('/bin/kill')) {
// We need to send signal to the child of the process, since the child is the shell
childProcess.execFile('/bin/bash', ['bash', "-c", "kill -SIGWINCH $(pgrep -P " + ws.httprequest.process.pid + ")"]);
childProcess.execFile('/bin/bash', ['bash', '-c', 'kill -SIGWINCH $(pgrep -P ' + ws.httprequest.process.pid + ')']);
}
}
break;

View File

@ -2171,24 +2171,22 @@ function InstallModules(modules, func) {
var dependencies = require("./package.json").dependencies;
for (var i in modules) {
// Modules may contain a version tag (foobar@1.0.0), remove it so the module can be found using require
var moduleInfo = modules[i].split("@", 2);
var moduleNameAndVersion = modules[i];
var moduleInfo = moduleNameAndVersion.split("@", 2);
var moduleName = moduleInfo[0];
var moduleVersion = moduleInfo[1];
try {
// Does the module need a specific version?
if (moduleVersion) {
if (require(`${moduleName}/package.json`).version != moduleVersion)
throw new Error();
}
else {
if (require(`${moduleName}/package.json`).version != moduleVersion) { throw new Error(); }
} else {
// For all other modules, do the check here.
// Is the module in package.json? Install exact version.
if (typeof dependencies[moduleName] != undefined)
moduleVersion = dependencies[moduleName];
if (typeof dependencies[moduleName] != undefined) { moduleVersion = dependencies[moduleName]; }
require(moduleName);
}
} catch (e) {
if (previouslyInstalledModules[modules[i]] !== true) { missingModules.push(`${moduleName}${moduleVersion ? `@${moduleVersion}` : ""}`); }
if (previouslyInstalledModules[modules[i]] !== true) { missingModules.push(moduleNameAndVersion); }
}
}
if (missingModules.length > 0) { InstallModule(missingModules.shift(), InstallModules, modules, func); } else { func(); }

View File

@ -1,6 +1,6 @@
{
"name": "meshcentral",
"version": "0.4.7-w",
"version": "0.4.7-x",
"keywords": [
"Remote Management",
"Intel AMT",
@ -42,7 +42,6 @@
"multiparty": "^4.2.1",
"nedb": "^1.8.0",
"node-forge": "^0.8.4",
"otplib": "^12.0.1",
"ws": "^6.2.1",
"xmldom": "^0.1.27",
"yauzl": "^2.10.0"