From 4407b3b38aaa70ce4bd84c8f036e24fff2332ce6 Mon Sep 17 00:00:00 2001
From: echicken <echicken@bbs.electronicchicken.com>
Date: Sun, 28 Apr 2024 02:47:52 +0000
Subject: [PATCH] Yeah

---
 src/lib/device.ts        | 10 +++++++---
 src/lib/socket-device.ts |  1 +
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/lib/device.ts b/src/lib/device.ts
index dcb1283..5784419 100644
--- a/src/lib/device.ts
+++ b/src/lib/device.ts
@@ -78,7 +78,9 @@ export default abstract class Device extends js.global.EventEmitter {
 	}
 
 	protected log(level: number, msg: string, time?: number, source?: string) {
-		const _msg = `${this.deviceTag} device ${this.configId}: ${msg}`;
+		let _msg = '';
+		if (js.global.server === undefined) msg += js.global.strftime('%Y-%m-%d %H:%M:%S ');
+		_msg += `${this.deviceTag} device ${this.configId}: ${msg}`;
 		this.emit('log', level, _msg, time, source);
 	}
 
@@ -184,8 +186,10 @@ export default abstract class Device extends js.global.EventEmitter {
 					this.ready = true;
 					if (this.readyEvent > -1) js.clearTimeout(this.readyEvent);
 					this.emit('ready');
-					// @ts-expect-error shut up
-					this.heartbeatEvent = js.setInterval(function () { this.sendHeartbeat(); }, this.heartbeatInterval, this)
+					if (this.heartbeatEvent < 0) {
+						// @ts-expect-error shut up
+						this.heartbeatEvent = js.setInterval(function () { this.sendHeartbeat(); }, this.heartbeatInterval, this);
+					}
 				}
 				break;
 			case 'metadata':
diff --git a/src/lib/socket-device.ts b/src/lib/socket-device.ts
index 21970f0..bd4cdb7 100644
--- a/src/lib/socket-device.ts
+++ b/src/lib/socket-device.ts
@@ -53,6 +53,7 @@ export default class SocketDevice extends Device {
 
 	protected readFromDevice(timeout: number = 0): Uint8Array | undefined {
 		if (timeout > 0) {
+			this.log(sbbsdefs.LOG_DEBUG, `waiting ${timeout} seconds for data`);
 			const stime = js.global.time();
 			while (!this.socket.data_waiting && js.global.time() - stime < timeout) {
 				js.global.mswait(5);
-- 
GitLab