From 126a6f6f56961437587b2bcb35ff4b1b0aa20f32 Mon Sep 17 00:00:00 2001 From: modeco80 Date: Tue, 2 Apr 2024 10:45:53 -0400 Subject: [PATCH] add xat and fix qemu process bug --- backend/src/SocketComputerServer.ts | 8 ++++---- qemu/src/QemuVM.ts | 3 ++- webapp/src/index.html | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/src/SocketComputerServer.ts b/backend/src/SocketComputerServer.ts index 2c0f281..8d55184 100644 --- a/backend/src/SocketComputerServer.ts +++ b/backend/src/SocketComputerServer.ts @@ -14,7 +14,7 @@ import { WebSocket } from 'ws'; import Queue from 'mnemonist/queue.js'; // for the maximum socket.io experience -const kCanvasJpegQuality = 0.35; +const kCanvasJpegQuality = 0.25; class VMUser { public connection: WebSocket; @@ -300,7 +300,7 @@ class VirtualMachine extends EventEmitter { let buffer = canvas.toBuffer('image/jpeg', { quality: kCanvasJpegQuality }); await self.BroadcastMessage((encoder: Shared.MessageEncoder) => { - encoder.Init(buffer.length + 4); + encoder.Init(buffer.length + 8); encoder.SetDisplayRectMessage(0, 0, buffer); return encoder.Finish(); }); @@ -313,7 +313,7 @@ class VirtualMachine extends EventEmitter { let buffer = canvas.toBuffer('image/jpeg', { quality: kCanvasJpegQuality }); await this.BroadcastMessage((encoder: Shared.MessageEncoder) => { - encoder.Init(buffer.length + 4); + encoder.Init(buffer.length + 8); encoder.SetDisplayRectMessage(x, y, buffer); return encoder.Finish(); }); @@ -334,7 +334,7 @@ class VirtualMachine extends EventEmitter { }); await user.SendMessage((encoder: Shared.MessageEncoder) => { - encoder.Init(buffer.length + 4); + encoder.Init(buffer.length + 8); encoder.SetDisplayRectMessage(0, 0, buffer); return encoder.Finish(); }); diff --git a/qemu/src/QemuVM.ts b/qemu/src/QemuVM.ts index 4691303..e58cc90 100644 --- a/qemu/src/QemuVM.ts +++ b/qemu/src/QemuVM.ts @@ -89,7 +89,6 @@ export class QemuVM extends EventEmitter { await this.DisconnectQmp(); this.DisconnectDisplay(); await this.StopQemu(); - this.SetState(VMState.Stopped); } async Reset() { @@ -192,6 +191,8 @@ export class QemuVM extends EventEmitter { self.VMLog('QEMU exited with a non-zero exit code. This usually means an error in the command line. Stopping VM.'); await self.Stop(); } + } else { + this.SetState(VMState.Stopped); } }); } diff --git a/webapp/src/index.html b/webapp/src/index.html index 94da2fa..a6b93cd 100644 --- a/webapp/src/index.html +++ b/webapp/src/index.html @@ -27,6 +27,8 @@ To avoid misusage, we re-snapshot the computer every 15 minutes! [Source code]

+

Get computernewb chat group | Go to computernewb website
+

Not Powered by Socket.IO (Don't use this!!)