WebHost: fix log fetching extra characters when there is non-ascii (#5515)

This commit is contained in:
black-sliver
2025-10-05 19:05:52 +00:00
committed by GitHub
parent fd879408f3
commit 60617c682e
2 changed files with 5 additions and 6 deletions

View File

@@ -271,9 +271,9 @@ def host_room(room: UUID):
or "Discordbot" in request.user_agent.string or "Discordbot" in request.user_agent.string
or not any(browser_token in request.user_agent.string for browser_token in browser_tokens)) or not any(browser_token in request.user_agent.string for browser_token in browser_tokens))
def get_log(max_size: int = 0 if automated else 1024000) -> str: def get_log(max_size: int = 0 if automated else 1024000) -> Tuple[str, int]:
if max_size == 0: if max_size == 0:
return "" return "", 0
try: try:
with open(os.path.join("logs", str(room.id) + ".txt"), "rb") as log: with open(os.path.join("logs", str(room.id) + ".txt"), "rb") as log:
raw_size = 0 raw_size = 0
@@ -284,9 +284,9 @@ def host_room(room: UUID):
break break
raw_size += len(block) raw_size += len(block)
fragments.append(block.decode("utf-8")) fragments.append(block.decode("utf-8"))
return "".join(fragments) return "".join(fragments), raw_size
except FileNotFoundError: except FileNotFoundError:
return "" return "", 0
return render_template("hostRoom.html", room=room, should_refresh=should_refresh, get_log=get_log) return render_template("hostRoom.html", room=room, should_refresh=should_refresh, get_log=get_log)

View File

@@ -58,8 +58,7 @@
Open Log File... Open Log File...
</a> </a>
</div> </div>
{% set log = get_log() -%} {% set log, log_len = get_log() -%}
{%- set log_len = log | length - 1 if log.endswith("…") else log | length -%}
<div id="logger" style="white-space: pre">{{ log }}</div> <div id="logger" style="white-space: pre">{{ log }}</div>
<script> <script>
let url = '{{ url_for('display_log', room = room.id) }}'; let url = '{{ url_for('display_log', room = room.id) }}';