From 79b2bad3961ef262b5d5a8c96c024a940c02b305 Mon Sep 17 00:00:00 2001 From: mstfyldz Date: Sun, 9 Aug 2026 20:25:35 +0300 Subject: [PATCH] fix: never auto-rename real case files from chat's first-message title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit chatMessage() was auto-generating and overwriting cases.title from the first chat message for ANY case_id, including real UYAP-imported dava dosyaları (kind='case') — not just the chat-only "Yeni Sohbet" threads (kind='chat') this was built for. Asking a real case a single question in Sohbet silently destroyed its court-derived title. Now gated on kind === 'chat'. Co-Authored-By: Claude Sonnet 5 --- src/controllers/chat.controller.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/controllers/chat.controller.ts b/src/controllers/chat.controller.ts index 5cffc74..8562c67 100644 --- a/src/controllers/chat.controller.ts +++ b/src/controllers/chat.controller.ts @@ -97,6 +97,12 @@ export const chatMessage = async (req: AuthenticatedRequest, res: Response) => { }); } + // kind='case' olan gerçek dava dosyalarının başlığı UYAP'tan/kullanıcıdan geliyor — + // bu asla otomatik yeniden adlandırılmamalı. Otomatik başlık üretimi SADECE + // kind='chat' (Sohbet'teki "Yeni Sohbet") kayıtları için geçerli. + const { data: caseRow } = await supabase.from('cases').select('kind').eq('id', caseId).maybeSingle(); + const caseKind = caseRow?.kind || 'case'; + const { data: userMessage, error: userMsgError } = await supabase .from('chat_messages') .insert([{ case_id: caseId, user_id: userId, role: 'user', content }]) @@ -170,11 +176,12 @@ export const chatMessage = async (req: AuthenticatedRequest, res: Response) => { .select().single(); if (aiMsgError) throw aiMsgError; - // Bu dosyanın ilk mesajıysa (kullanıcının bu isteklen önce hiç mesajı yoktu), - // ilk mesajdan kısa bir başlık üretip dosyayı yeniden adlandır. + // Bu dosyanın ilk mesajıysa (kullanıcının bu isteklen önce hiç mesajı yoktu) VE + // bu gerçek bir dava dosyası değil de dosyasız bir sohbetse, ilk mesajdan kısa + // bir başlık üretip yeniden adlandır. let newTitle: string | null = null; const isFirstMessage = !pastMessages || pastMessages.length <= 1; - if (isFirstMessage) { + if (isFirstMessage && caseKind === 'chat') { newTitle = await generateCaseTitle(content); if (newTitle) { const { error: titleError } = await supabase