From 35f1eb0844f03529b6b00b77bfeb140ce6f7bb31 Mon Sep 17 00:00:00 2001 From: npc0-hue Date: Wed, 26 Aug 2026 15:47:34 +0800 Subject: [PATCH] Reduce server file refresh latency --- platform/service/job_channel.go | 2 +- platform_web/pages/ServerDetailPage.test.tsx | 2 +- platform_web/pages/ServerDetailPage.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/service/job_channel.go b/platform/service/job_channel.go index 4561ebf..67262dc 100644 --- a/platform/service/job_channel.go +++ b/platform/service/job_channel.go @@ -12,7 +12,7 @@ import ( ) const ( - defaultJobPollSeconds = 2 + defaultJobPollSeconds = 1 defaultJobMaxAttempts = 3 defaultJobInitialBackoffSeconds = 2 defaultJobMaxBackoffSeconds = 60 diff --git a/platform_web/pages/ServerDetailPage.test.tsx b/platform_web/pages/ServerDetailPage.test.tsx index f745557..3546d62 100644 --- a/platform_web/pages/ServerDetailPage.test.tsx +++ b/platform_web/pages/ServerDetailPage.test.tsx @@ -98,7 +98,7 @@ describe("ServerDetailPage config write approval", () => { it("keeps the server file manager list-first without plugin declaration gates", () => { expect(serverDetailPageSource).toContain("server-file-editor-overlay"); expect(serverDetailPageSource).toContain("refreshRuntimeList({ silent: true })"); - expect(serverDetailPageSource).toContain("window.setInterval(() => void loadList({ silent: true }), 2000)"); + expect(serverDetailPageSource).toContain("window.setInterval(() => void loadList({ silent: true }), 300)"); expect(serverDetailPageSource).toContain("if (!options.silent) setList({ status: \"loading\" })"); expect(serverDetailPageSource).toContain("serverFileListPendingLabel"); expect(serverDetailPageSource).not.toContain("server-file-layout"); diff --git a/platform_web/pages/ServerDetailPage.tsx b/platform_web/pages/ServerDetailPage.tsx index c62519b..0806f92 100644 --- a/platform_web/pages/ServerDetailPage.tsx +++ b/platform_web/pages/ServerDetailPage.tsx @@ -631,7 +631,7 @@ function ServerFilesSection({ instance, session, operations }: ServerFilesSectio useEffect(() => { if (workspace.status !== "ready" || !directoryKey || list.status !== "ready" || list.data.state !== "pending") return; - const timer = window.setInterval(() => void loadList({ silent: true }), 2000); + const timer = window.setInterval(() => void loadList({ silent: true }), 300); return () => window.clearInterval(timer); }, [directoryKey, list, loadList, workspace.status]);