Preserve terminal output across log sessions

This commit is contained in:
npc0-hue
2026-08-31 04:59:03 +08:00
parent 4e9a2bfeaa
commit 9691dbcb3d
2 changed files with 9 additions and 8 deletions
@@ -169,9 +169,10 @@ export function ServerManagementTerminalDrawer({ open, serverId, serverName, plu
setLiveSessionId(nextSessionId);
if (previousSessionId === nextSessionId) return;
setStreams({ status: "ready", data: [] });
setLines(nextSessionId
? [terminalSystemLine("info", previousSessionId === undefined ? "已跟随当前受管进程输出会话。" : "Run 已切换到新的受管进程输出会话。", "SYSTEM", `session-${nextSessionId}`, serverTimeRef.current)]
: [terminalSystemLine("warn", "当前没有可跟随的受管进程输出;旧日志可从历史查看。", "SYSTEM", "session-empty", serverTimeRef.current)]);
setLines((current) => mergeTerminalLines(current, [nextSessionId
? terminalSystemLine("info", previousSessionId === undefined ? "已跟随当前受管进程输出会话。" : "Run 已切换到新的受管进程输出会话。", "SYSTEM", `session-${nextSessionId}`, serverTimeRef.current)
: terminalSystemLine("warn", "当前没有可跟随的受管进程输出;旧日志可从历史查看。", "SYSTEM", "session-empty", serverTimeRef.current)
]));
lockTerminalFollow();
});
events.addEventListener("stream", (event) => {