From 0100f588916db155018565ee5769254b00d5e5f6 Mon Sep 17 00:00:00 2001 From: 134 Date: Thu, 25 Jun 2026 13:05:25 +0800 Subject: [PATCH] fix: include username in Claw chat payload --- app/api/canvas/clawd-chat/route.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/app/api/canvas/clawd-chat/route.ts b/app/api/canvas/clawd-chat/route.ts index bfa0afebd..dee09ee7d 100644 --- a/app/api/canvas/clawd-chat/route.ts +++ b/app/api/canvas/clawd-chat/route.ts @@ -41,6 +41,20 @@ function createConversationId(userId: string, chatId: string) { return `site-user-${userId}-canvas-${chatId}`; } +function getOpenClawUserName(user: { + id: string; + name?: string | null; + email?: string | null; +}) { + const name = String(user.name || "").trim(); + if (name) return name; + + const email = String(user.email || "").trim(); + if (email) return email; + + return user.id; +} + function isRequestFile(value: FormDataEntryValue): value is File { return ( typeof value === "object" && @@ -198,6 +212,7 @@ export async function POST(request: Request) { const userMessageId = parsed.userMessageId || generateUUID(); const assistantMessageId = generateUUID(); const conversationId = createConversationId(session.user.id, parsed.id); + const openClawUserName = getOpenClawUserName(session.user); const endpoint = `${config.baseUrl}/api/chat`; let upstreamPayload: unknown = null; @@ -215,13 +230,17 @@ export async function POST(request: Request) { body: JSON.stringify({ conversation_id: conversationId, user_id: session.user.id, - user_name: session.user.name || session.user.email || "", + user_name: openClawUserName, + username: openClawUserName, message: upstreamMessage, metadata: { source: "ai_chatbot_canvas", page: "/canvas", tenant: "default", chat_id: parsed.id, + user_id: session.user.id, + user_name: openClawUserName, + username: openClawUserName, spreadsheet_files: spreadsheetMarkdownResult?.files || undefined, spreadsheet_markdown_truncated: spreadsheetMarkdownResult?.truncated || undefined,