diff --git a/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatViewModel.kt b/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatViewModel.kt index 293e247f..6fca505a 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatViewModel.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatViewModel.kt @@ -359,6 +359,8 @@ class ChatViewModel( dao.upsert(msgToPersist.toEntity(sid)) } } + // Refresh session list to catch newly generated titles + loadSessions() } private fun handleMessageDone(event: WsEvent.MessageDone) { @@ -500,6 +502,7 @@ class ChatViewModel( isLoading = false, messages = emptyList(), streamingMessage = null, + chatTitle = "Hermes", ) } addSystemMessage("Session created", persist = true) @@ -783,6 +786,7 @@ class ChatViewModel( isLoading = true, messages = emptyList(), streamingMessage = null, + chatTitle = "Hermes", ) } streamingMessageId = null @@ -816,7 +820,7 @@ class ChatViewModel( streamingMessageId = null _uiState.update { - val title = it.sessions.find { s -> s.id == sessionId }?.title ?: it.chatTitle + val title = it.sessions.find { s -> s.id == sessionId }?.title ?: "Hermes" it.copy( isLoading = true, messages = emptyList(), @@ -841,6 +845,8 @@ class ChatViewModel( } // Step 3: Load fresh messages from REST and merge loadSessionMessages(sessionId) + // Step 4: Refresh session list to get latest titles + loadSessions() } private fun loadCachedMessages(sessionId: String) {