Restore interactive server terminal drawer

This commit is contained in:
npc0-hue
2026-08-10 23:43:17 +08:00
parent 1207ba6c5b
commit 0154f42485
7 changed files with 410 additions and 83 deletions
+11 -7
View File
@@ -10,6 +10,7 @@ import { ServersPage } from "./ServersPage";
import { UsersPage } from "./UsersPage";
import runtimeTaskProgressSource from "../components/RuntimeTaskProgress.tsx?raw";
import serverDeploymentWorkflowSource from "../components/ServerDeploymentWorkflow.tsx?raw";
import serverManagementTerminalSource from "../components/ServerManagementTerminalDrawer.tsx?raw";
import serverCreateSchemaSource from "../schemas/serverManagement.ts?raw";
import serversPageSource from "./ServersPage.tsx?raw";
import serverDetailPageSource from "./ServerDetailPage.tsx?raw";
@@ -213,23 +214,26 @@ describe("first-party console pages", () => {
}
});
it("removes raw log and command panels while preserving the safe terminal entry", () => {
it("removes page-level raw panels while preserving the historical terminal drawer", () => {
expect(serversPageSource).not.toContain("ServerLiveLogDrawer");
expect(serversPageSource).not.toContain("ServerManagementTerminalDrawer");
expect(serversPageSource).not.toContain("live-logs");
expect(serversPageSource).not.toContain("historical-logs");
expect(serversPageSource).not.toContain("requestLogBackfill");
expect(serversPageSource).not.toContain("管理终端");
expect(serverDetailPageSource).not.toContain("ServerManagementTerminalDrawer");
expect(serverDetailPageSource).toContain("ServerManagementTerminalDrawer");
expect(serverDetailPageSource).not.toContain("SourceRCONCommandPanel");
expect(serverDetailPageSource).not.toContain("ServerLiveLogDrawer");
expect(serverDetailPageSource).not.toContain('<span>实时日志</span>');
expect(serverDetailPageSource).not.toContain("openServerLogEvents");
expect(serverDetailPageSource).not.toContain("previewServerConfigDiff");
expect(serverDetailPageSource).not.toContain("approveServerConfigWrite");
expect(serverDetailPageSource).not.toContain("操作历史");
expect(serverDetailPageSource).toContain("<span>打开终端</span>");
expect(serverDetailPageSource).toContain("RemoteTerminalEntryDialog");
expect(serverManagementTerminalSource).toContain("openServerLogEvents");
expect(serverManagementTerminalSource).toContain("queueGameClientBridgeCommand");
expect(serverManagementTerminalSource).toContain("terminalQuickCommandCatalog");
expect(serverManagementTerminalSource).not.toContain("password");
expect(serverManagementTerminalSource).not.toContain("direct socket");
expect(serverDetailPageSource).toContain("runtimeObservationFreshness");
expect(serverDetailPageSource).toContain("Run 未验证");
expect(serverDetailPageSource).toContain("PluginPageSection");
@@ -322,7 +326,7 @@ describe("first-party console pages", () => {
expect(html).not.toContain("概览");
expect(html).toContain("管理");
expect(html).not.toContain("日志");
expect(html).not.toContain("管理终端");
expect(serverDetailPageSource).toContain("打开终端");
expect(html).not.toContain("配置");
expect(html).not.toContain("运行操作");
expect(html).not.toContain("插件控制");
@@ -335,9 +339,9 @@ describe("first-party console pages", () => {
expect(serverDetailPageSource).toContain("plugin:${page.key}");
expect(serverDetailPageSource).toContain("section === \"llm\"");
expect(serverDetailPageSource).toContain("打开终端");
expect(serverDetailPageSource).not.toContain("terminalQuickCommandCatalog");
expect(serverManagementTerminalSource).toContain("terminalQuickCommandCatalog");
expect(serverDetailPageSource).not.toContain("scumManagementRCONCommandRequest");
expect(serverDetailPageSource).not.toContain("queueGameClientBridgeCommand");
expect(serverManagementTerminalSource).toContain("queueGameClientBridgeCommand");
expect(serverDetailPageSource).not.toContain("commandHistory");
});