fix(webui): emphasize temporary chat expiry

This commit is contained in:
Xubin Ren
2026-08-08 23:20:59 +08:00
parent 92eb91338a
commit af52fbcbc4
12 changed files with 40 additions and 11 deletions
+7 -1
View File
@@ -112,7 +112,13 @@ export function ThreadHeader({
>
<div className="font-medium">{t("temporaryChat.title")}</div>
<div className="mt-1 text-muted-foreground">
{t("temporaryChat.description")}
{t("temporaryChat.retention")}
</div>
<div className="mt-1 font-medium">
{t("temporaryChat.expiration")}
</div>
<div className="mt-1 text-muted-foreground">
{t("temporaryChat.externalEffects")}
</div>
</TooltipContent>
</Tooltip>
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Temporary chat",
"description": "Not saved to history or memory. Reloading, closing, or losing the connection ends these chats. Requests still go to your model provider, and tool actions may leave changes.",
"retention": "Not saved to history or memory.",
"expiration": "Reloading, closing, or losing the connection ends these chats.",
"externalEffects": "Requests still go to your model provider, and tool actions may leave changes.",
"clear": "Clear temporary chat",
"sectionTitle": "Temporary chats",
"closeAction": "Close temporary chat: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Chat temporal",
"description": "No se guarda en el historial ni en la memoria. Recargar, cerrar o perder la conexión finaliza estos chats. Las solicitudes siguen llegando al proveedor del modelo y las herramientas pueden dejar cambios.",
"retention": "No se guarda en el historial ni en la memoria.",
"expiration": "Recargar, cerrar o perder la conexión finaliza estos chats.",
"externalEffects": "Las solicitudes siguen llegando al proveedor del modelo y las herramientas pueden dejar cambios.",
"clear": "Borrar chat temporal",
"sectionTitle": "Chats temporales",
"closeAction": "Cerrar chat temporal: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Discussion temporaire",
"description": "Elle nest enregistrée ni dans lhistorique ni dans la mémoire. Recharger, fermer ou perdre la connexion met fin à ces discussions. Les requêtes sont tout de même envoyées au fournisseur du modèle et les outils peuvent laisser des modifications.",
"retention": "Elle nest enregistrée ni dans lhistorique ni dans la mémoire.",
"expiration": "Recharger, fermer ou perdre la connexion met fin à ces discussions.",
"externalEffects": "Les requêtes sont tout de même envoyées au fournisseur du modèle et les outils peuvent laisser des modifications.",
"clear": "Effacer la discussion temporaire",
"sectionTitle": "Discussions temporaires",
"closeAction": "Fermer la discussion temporaire : {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Obrolan sementara",
"description": "Tidak disimpan ke riwayat atau memori. Memuat ulang, menutup, atau kehilangan koneksi akan mengakhiri obrolan ini. Permintaan tetap dikirim ke penyedia model dan tindakan alat dapat meninggalkan perubahan.",
"retention": "Tidak disimpan ke riwayat atau memori.",
"expiration": "Memuat ulang, menutup, atau kehilangan koneksi akan mengakhiri obrolan ini.",
"externalEffects": "Permintaan tetap dikirim ke penyedia model dan tindakan alat dapat meninggalkan perubahan.",
"clear": "Hapus obrolan sementara",
"sectionTitle": "Obrolan sementara",
"closeAction": "Tutup obrolan sementara: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "一時チャット",
"description": "履歴やメモリには保存されません。再読み込み、ページを閉じる操作、接続切断で一時チャットは終了します。リクエストは引き続きモデルプロバイダーに送信され、ツール操作による変更は残る場合があります。",
"retention": "履歴やメモリには保存されません。",
"expiration": "再読み込み、ページを閉じる操作、接続切断で一時チャットは終了します。",
"externalEffects": "リクエストは引き続きモデルプロバイダーに送信され、ツール操作による変更は残る場合があります。",
"clear": "一時チャットを消去",
"sectionTitle": "一時チャット",
"closeAction": "一時チャット「{{title}}」を閉じる"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "임시 채팅",
"description": "기록이나 메모리에 저장되지 않습니다. 새로고침, 페이지 닫기 또는 연결 끊김 시 임시 채팅이 종료됩니다. 요청은 계속 모델 제공업체로 전송되며 도구 작업의 변경 사항은 남을 수 있습니다.",
"retention": "기록이나 메모리에 저장되지 않습니다.",
"expiration": "새로고침, 페이지 닫기 또는 연결 끊김 시 임시 채팅이 종료됩니다.",
"externalEffects": "요청은 계속 모델 제공업체로 전송되며 도구 작업의 변경 사항은 남을 수 있습니다.",
"clear": "임시 채팅 지우기",
"sectionTitle": "임시 채팅",
"closeAction": "임시 채팅 닫기: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Chat temporário",
"description": "Não é salvo no histórico nem na memória. Recarregar, fechar ou perder a conexão encerra estes chats. As solicitações ainda são enviadas ao provedor do modelo, e as ações das ferramentas podem deixar alterações.",
"retention": "Não é salvo no histórico nem na memória.",
"expiration": "Recarregar, fechar ou perder a conexão encerra estes chats.",
"externalEffects": "As solicitações ainda são enviadas ao provedor do modelo, e as ações das ferramentas podem deixar alterações.",
"clear": "Limpar chat temporário",
"sectionTitle": "Chats temporários",
"closeAction": "Fechar chat temporário: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "Trò chuyện tạm thời",
"description": "Không được lưu vào lịch sử hoặc bộ nhớ. Tải lại, đóng trang hoặc mất kết nối sẽ kết thúc các cuộc trò chuyện này. Yêu cầu vẫn được gửi đến nhà cung cấp mô hình và thao tác công cụ có thể để lại thay đổi.",
"retention": "Không được lưu vào lịch sử hoặc bộ nhớ.",
"expiration": "Tải lại, đóng trang hoặc mất kết nối sẽ kết thúc các cuộc trò chuyện này.",
"externalEffects": "Yêu cầu vẫn được gửi đến nhà cung cấp mô hình và thao tác công cụ có thể để lại thay đổi.",
"clear": "Xóa trò chuyện tạm thời",
"sectionTitle": "Trò chuyện tạm thời",
"closeAction": "Đóng trò chuyện tạm thời: {{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "临时聊天",
"description": "不会保存到历史记录或记忆。刷新、关闭页面或连接中断后,临时聊天会结束。请求仍会发送给模型提供商,工具操作也可能留下更改。",
"retention": "不会保存到历史记录或记忆。",
"expiration": "刷新、关闭页面或连接中断后,临时聊天会结束。",
"externalEffects": "请求仍会发送给模型提供商,工具操作也可能留下更改。",
"clear": "清空临时聊天",
"sectionTitle": "临时聊天",
"closeAction": "关闭临时聊天:{{title}}"
+3 -1
View File
@@ -51,7 +51,9 @@
},
"temporaryChat": {
"title": "臨時聊天",
"description": "不會儲存至歷史記錄或記憶。重新載入、關閉頁面或連線中斷後,臨時聊天會結束。請求仍會傳送給模型供應商,工具操作也可能留下變更。",
"retention": "不會儲存至歷史記錄或記憶。",
"expiration": "重新載入、關閉頁面或連線中斷後,臨時聊天會結束。",
"externalEffects": "請求仍會傳送給模型供應商,工具操作也可能留下變更。",
"clear": "清空臨時聊天",
"sectionTitle": "臨時聊天",
"closeAction": "關閉臨時聊天:{{title}}"
+3
View File
@@ -526,6 +526,9 @@ describe("App layout", () => {
const temporaryTooltip = await screen.findByRole("tooltip");
expect(temporaryTooltip).toHaveTextContent("Temporary chat");
expect(temporaryTooltip).toHaveTextContent("Not saved to history or memory");
expect(within(temporaryTooltip).getByText(
"Reloading, closing, or losing the connection ends these chats.",
)).toHaveClass("font-medium");
await user.unhover(heroTemporaryToggle);
fireEvent.click(within(sidebar).getByText("Existing topic"));