fix(#204): dynamically reset and reload chat title when creating or switching sessions (#247)

* fix(#204): dynamically reset and reload chat title when creating or switching sessions

* fix(#204): refresh session list on message completion to catch auto-generated titles
This commit is contained in:
M57 authored and GitHub committed 2026-06-21 19:45:08 +03:00
1 parent 0c192eddad
commit 4715c85185
1 file changed
+7 -1
@@ -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) {