From ac4ec390b67f6a4017f70ac5fdf89d3514c434be Mon Sep 17 00:00:00 2001 From: Kevin Cheng Date: Sun, 8 Feb 2026 20:20:00 +0000 Subject: [PATCH] fix: resolve race condition where first message is overwritten by history load --- .../com/openclaw/dashboard/presentation/MainViewModel.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/openclaw/dashboard/presentation/MainViewModel.kt b/app/src/main/java/com/openclaw/dashboard/presentation/MainViewModel.kt index 6541376..0350f52 100644 --- a/app/src/main/java/com/openclaw/dashboard/presentation/MainViewModel.kt +++ b/app/src/main/java/com/openclaw/dashboard/presentation/MainViewModel.kt @@ -306,7 +306,11 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { ) ) } - _chatMessages.value = historyEvents + _chatMessages.update { currentMessages -> + // Keep messages that are not history (e.g. optimistic user messages or live AI deltas) + val pendingMessages = currentMessages.filter { !it.runId.startsWith("history-") } + historyEvents + pendingMessages + } } } }