From 92eb91338adf4800938aab8696ea55051080692e Mon Sep 17 00:00:00 2001
From: Xubin Ren <52506698+Re-bin@users.noreply.github.com>
Date: Sat, 8 Aug 2026 23:43:42 +0900
Subject: [PATCH] fix(webui): label temporary chat guidance
---
webui/src/components/thread/ThreadHeader.tsx | 5 ++++-
webui/src/tests/app-layout.test.tsx | 7 +++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/webui/src/components/thread/ThreadHeader.tsx b/webui/src/components/thread/ThreadHeader.tsx
index 181befb62..8cb15652e 100644
--- a/webui/src/components/thread/ThreadHeader.tsx
+++ b/webui/src/components/thread/ThreadHeader.tsx
@@ -110,7 +110,10 @@ export function ThreadHeader({
align="end"
className="max-w-72 rounded-xl border border-border/70 bg-popover px-3 py-2 text-[12px]/[1.4] text-popover-foreground shadow-[0_8px_24px_rgba(15,23,42,0.13)] dark:border-white/10"
>
- {t("temporaryChat.description")}
+
{t("temporaryChat.title")}
+
+ {t("temporaryChat.description")}
+
diff --git a/webui/src/tests/app-layout.test.tsx b/webui/src/tests/app-layout.test.tsx
index 96071dd2c..52e41b8e9 100644
--- a/webui/src/tests/app-layout.test.tsx
+++ b/webui/src/tests/app-layout.test.tsx
@@ -521,6 +521,13 @@ describe("App layout", () => {
expect(heroTemporaryToggle.compareDocumentPosition(themeToggle)
& Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy();
+ const user = userEvent.setup();
+ await user.hover(heroTemporaryToggle);
+ const temporaryTooltip = await screen.findByRole("tooltip");
+ expect(temporaryTooltip).toHaveTextContent("Temporary chat");
+ expect(temporaryTooltip).toHaveTextContent("Not saved to history or memory");
+ await user.unhover(heroTemporaryToggle);
+
fireEvent.click(within(sidebar).getByText("Existing topic"));
expect(window.location.hash).toBe("#/chat/websocket%3Aexisting-chat");
expect(screen.queryByRole("button", { name: "Temporary chat" })).not.toBeInTheDocument();