mirror of
https://github.com/koush/scrypted.git
synced 2026-09-18 01:30:39 +01:00
server: note versions on all consoles
This commit is contained in:
4
server/package-lock.json
generated
4
server/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@scrypted/server",
|
||||
"version": "0.0.158",
|
||||
"version": "0.0.159",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@scrypted/server",
|
||||
"version": "0.0.158",
|
||||
"version": "0.0.159",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@mapbox/node-pre-gyp": "^1.0.8",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@scrypted/server",
|
||||
"version": "0.0.158",
|
||||
"version": "0.0.159",
|
||||
"description": "",
|
||||
"dependencies": {
|
||||
"@mapbox/node-pre-gyp": "^1.0.8",
|
||||
|
||||
@@ -20,9 +20,13 @@ export interface StdPassThroughs {
|
||||
buffers: Buffer[];
|
||||
}
|
||||
|
||||
export async function createConsoleServer(remoteStdout: Readable, remoteStderr: Readable) {
|
||||
export async function createConsoleServer(remoteStdout: Readable, remoteStderr: Readable, header: string) {
|
||||
const outputs = new Map<string, StdPassThroughs>();
|
||||
|
||||
const addHeader = (pts: StdPassThroughs) => {
|
||||
pts.buffers.push(Buffer.from(header));
|
||||
}
|
||||
|
||||
const getPassthroughs = (nativeId?: ScryptedNativeId) => {
|
||||
if (!nativeId)
|
||||
nativeId = undefined;
|
||||
@@ -49,6 +53,8 @@ export async function createConsoleServer(remoteStdout: Readable, remoteStderr:
|
||||
|
||||
stdout.on('data', appendOutput);
|
||||
stderr.on('data', appendOutput);
|
||||
|
||||
addHeader(pts);
|
||||
}
|
||||
|
||||
return pts;
|
||||
@@ -132,6 +138,7 @@ export async function createConsoleServer(remoteStdout: Readable, remoteStderr:
|
||||
const pt = outputs.get(nativeId);
|
||||
if (pt)
|
||||
pt.buffers = [];
|
||||
addHeader(pt);
|
||||
},
|
||||
destroy() {
|
||||
for (const socket of sockets) {
|
||||
|
||||
@@ -25,6 +25,8 @@ import { PythonRuntimeWorker } from './runtime/python-worker';
|
||||
import { NodeForkWorker } from './runtime/node-fork-worker';
|
||||
import { NodeThreadWorker } from './runtime/node-thread-worker';
|
||||
|
||||
const serverVersion = require('../../package.json').version;
|
||||
|
||||
export class PluginHost {
|
||||
worker: RuntimeWorker;
|
||||
peer: RpcPeer;
|
||||
@@ -283,12 +285,8 @@ export class PluginHost {
|
||||
|
||||
this.worker.stdout.on('data', data => console.log(data.toString()));
|
||||
this.worker.stderr.on('data', data => console.error(data.toString()));
|
||||
this.consoleServer = createConsoleServer(this.worker.stdout, this.worker.stderr);
|
||||
|
||||
this.consoleServer.then(cs => {
|
||||
const { pluginConsole } = cs;
|
||||
pluginConsole.log('starting plugin', this.pluginId, this.packageJson.version);
|
||||
});
|
||||
const consoleHeader = `server version: ${serverVersion}\nplugin version: ${this.pluginId} ${this.packageJson.version}\n`;
|
||||
this.consoleServer = createConsoleServer(this.worker.stdout, this.worker.stderr, consoleHeader);
|
||||
|
||||
const disconnect = () => {
|
||||
connected = false;
|
||||
|
||||
@@ -32,6 +32,7 @@ if (!semver.gte(process.version, '16.0.0')) {
|
||||
|
||||
process.on('unhandledRejection', error => {
|
||||
if (error?.constructor !== RPCResultError && error?.constructor !== PluginError) {
|
||||
console.error('pending crash', error);
|
||||
throw error;
|
||||
}
|
||||
console.warn('unhandled rejection of RPC Result', error);
|
||||
|
||||
Reference in New Issue
Block a user