From 9d319b74604cfae1b150a5e5a50182d96ce54812 Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Thu, 11 Jan 2024 16:11:08 -0500 Subject: [PATCH 1/4] Fix unicode chars in terminal w/ texitiowrapper --- app/classes/shared/server.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/classes/shared/server.py b/app/classes/shared/server.py index 8448f656..48816d1c 100644 --- a/app/classes/shared/server.py +++ b/app/classes/shared/server.py @@ -1,5 +1,6 @@ from contextlib import redirect_stderr import os +import io import re import shutil import time @@ -115,14 +116,17 @@ class ServerOutBuf: ServerOutBuf.lines[self.server_id].pop(0) def check(self): + text_wrapper = io.TextIOWrapper( + self.proc.stdout, encoding="UTF-8", errors="ignore", newline="" + ) while True: if self.proc.poll() is None: - char = self.proc.stdout.read(1).decode("utf-8", "ignore") + char = text_wrapper.read(1) # modified # TODO: we may want to benchmark reading in blocks and userspace # processing it later, reads are kind of expensive as a syscall self.process_byte(char) else: - flush = self.proc.stdout.read().decode("utf-8", "ignore") + flush = text_wrapper.read() # modified for char in flush: self.process_byte(char) break From 90806b613cfeb2c3dd3deea75a7cc8c5527fad48 Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Fri, 12 Jan 2024 18:33:21 -0500 Subject: [PATCH 2/4] Fix log file output on page --- app/frontend/templates/panel/server_logs.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/templates/panel/server_logs.html b/app/frontend/templates/panel/server_logs.html index 9a4033a1..32f3cb66 100644 --- a/app/frontend/templates/panel/server_logs.html +++ b/app/frontend/templates/panel/server_logs.html @@ -192,7 +192,7 @@ const token = getCookie("_xsrf") let colors = true; if (!$("#stop_scroll").is(':checked')) { - let res = await fetch(`/api/v2/servers/${serverId}/logs?colors=${colors}`, { + let res = await fetch(`/api/v2/servers/${serverId}/logs?colors=${colors}&file=true`, { method: 'GET', headers: { 'X-XSRFToken': token From e57290a600b5a56924493241009351b560466b50 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Tue, 16 Jan 2024 19:48:01 +0000 Subject: [PATCH 3/4] Update changelog !689 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33e1d35c..1bcb4fa3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix bukkit and downstream fork MOTD crash ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/686)) - Fix bug where invalid server Id leads to stack ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/690)) - Fix indent on public status check box ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/691)) +- Fix unicode chars in terminal w/ textiowrapper ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/689)) ### Tweaks - Refactor Forge server initialisation flow for newer versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/687)) - Remove scroll bars from player management ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/693)) From 6d6c613fef0a3295f5a56325f796a99c4fe16d37 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Tue, 16 Jan 2024 20:00:28 +0000 Subject: [PATCH 4/4] Update changelog !689 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bcb4fa3..35257c29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - Fix bukkit and downstream fork MOTD crash ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/686)) - Fix bug where invalid server Id leads to stack ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/690)) - Fix indent on public status check box ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/691)) -- Fix unicode chars in terminal w/ textiowrapper ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/689)) +- Fix unicode chars in terminal & logs w/ textiowrapper ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/689)) ### Tweaks - Refactor Forge server initialisation flow for newer versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/687)) - Remove scroll bars from player management ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/693))