From aa7c1c4fbb7daf0d1c59af112bfd9a8e107d12a1 Mon Sep 17 00:00:00 2001 From: ekko <152005280+EKKOLearnAI@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:58:54 +0800 Subject: [PATCH] fix windows bridge logs and mobile headers (#1198) --- packages/client/src/views/hermes/KanbanView.vue | 4 ++++ packages/client/src/views/hermes/PerformanceView.vue | 7 +++++++ .../src/services/hermes/agent-bridge/hermes_bridge.py | 2 ++ tests/server/agent-bridge-python-concurrency.test.ts | 4 ++++ 4 files changed, 17 insertions(+) diff --git a/packages/client/src/views/hermes/KanbanView.vue b/packages/client/src/views/hermes/KanbanView.vue index 0b81154..c95f3fe 100644 --- a/packages/client/src/views/hermes/KanbanView.vue +++ b/packages/client/src/views/hermes/KanbanView.vue @@ -494,8 +494,12 @@ async function handleArchiveSelectedBoard() { @media (max-width: $breakpoint-mobile) { .page-header { padding: 16px 12px 16px 52px; + position: sticky; + top: 0; + z-index: 20; flex-direction: column; align-items: flex-start; + background: $bg-primary; gap: 10px; } diff --git a/packages/client/src/views/hermes/PerformanceView.vue b/packages/client/src/views/hermes/PerformanceView.vue index f7e7c38..7a9b538 100644 --- a/packages/client/src/views/hermes/PerformanceView.vue +++ b/packages/client/src/views/hermes/PerformanceView.vue @@ -466,6 +466,13 @@ onBeforeUnmount(() => { flex-direction: column; } + .page-header { + position: sticky; + top: 0; + z-index: 20; + background: $bg-primary; + } + .header-actions { width: 100%; } diff --git a/packages/server/src/services/hermes/agent-bridge/hermes_bridge.py b/packages/server/src/services/hermes/agent-bridge/hermes_bridge.py index a142263..e4a144d 100755 --- a/packages/server/src/services/hermes/agent-bridge/hermes_bridge.py +++ b/packages/server/src/services/hermes/agent-bridge/hermes_bridge.py @@ -2825,6 +2825,8 @@ class WorkerProcess: stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, + encoding="utf-8", + errors="replace", bufsize=1, **_hidden_subprocess_kwargs(), ) diff --git a/tests/server/agent-bridge-python-concurrency.test.ts b/tests/server/agent-bridge-python-concurrency.test.ts index e32f881..e1b90ea 100644 --- a/tests/server/agent-bridge-python-concurrency.test.ts +++ b/tests/server/agent-bridge-python-concurrency.test.ts @@ -600,6 +600,8 @@ class FakeProcess: def fake_popen(args, **kwargs): created["args"] = args created["env"] = kwargs["env"] + created["encoding"] = kwargs.get("encoding") + created["errors"] = kwargs.get("errors") return FakeProcess() original_popen = bridge.subprocess.Popen @@ -617,6 +619,8 @@ finally: assert created["env"]["HERMES_AGENT_BRIDGE_BROKER_PID"] == "4242" assert created["env"]["HERMES_AGENT_BRIDGE_WORKER_PROFILE"] == "default" +assert created["encoding"] == "utf-8" +assert created["errors"] == "replace" stop_event = threading.Event() seen_pids = []