From d287c70358ebcde39166fa612254c952d5ddaac2 Mon Sep 17 00:00:00 2001 From: wizardchen Date: Thu, 9 Jul 2026 00:06:53 +0800 Subject: [PATCH] feat(frontend): add inline session title rename in sidebar Allow users to rename chat sessions from the sidebar menu with inline editing, API persistence, and i18n feedback. --- frontend/src/api/chat/index.ts | 6 +- frontend/src/components/SessionSidebarRow.vue | 72 ++++++++++++++++++- frontend/src/components/menu.vue | 24 ++++++- .../src/components/sessionTitleEdit.test.ts | 17 +++++ frontend/src/components/sessionTitleEdit.ts | 5 ++ frontend/src/i18n/locales/en-US.ts | 3 + frontend/src/i18n/locales/ko-KR.ts | 3 + frontend/src/i18n/locales/ru-RU.ts | 3 + frontend/src/i18n/locales/zh-CN.ts | 3 + 9 files changed, 132 insertions(+), 4 deletions(-) create mode 100644 frontend/src/components/sessionTitleEdit.test.ts create mode 100644 frontend/src/components/sessionTitleEdit.ts diff --git a/frontend/src/api/chat/index.ts b/frontend/src/api/chat/index.ts index ff5b1c8d..6c2e57e6 100644 --- a/frontend/src/api/chat/index.ts +++ b/frontend/src/api/chat/index.ts @@ -26,6 +26,10 @@ export async function generateSessionsTitle(session_id: string, data: any) { return post(`/api/v1/sessions/${session_id}/generate_title`, data); } +export async function updateSession(session_id: string, data: { title: string; description?: string }) { + return put(`/api/v1/sessions/${session_id}`, data); +} + export async function knowledgeChat(data: { session_id: string; query: string; }) { return postChat(`/api/v1/knowledge-chat/${data.session_id}`, { query: data.query, channel: "web" }); } @@ -75,4 +79,4 @@ export async function stopSession(session_id: string, message_id: string) { export async function clearSessionMessages(session_id: string) { return del(`/api/v1/sessions/${session_id}/messages`); -} \ No newline at end of file +} diff --git a/frontend/src/components/SessionSidebarRow.vue b/frontend/src/components/SessionSidebarRow.vue index 8f534693..4a199cbc 100644 --- a/frontend/src/components/SessionSidebarRow.vue +++ b/frontend/src/components/SessionSidebarRow.vue @@ -17,7 +17,22 @@ @click.stop @change="emit('toggle-select')" /> - +
+ +
+ {{ item.title }} @@ -64,6 +79,7 @@