diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt index e59e7c453..1852d88f0 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt @@ -1973,6 +1973,7 @@ class ChatViewModel : ViewModel() { /** Main, после подтверждённого join worker: убрать все ссылки на удаляемую БД и завершить её ожидающие отправки. */ fun clearState() { cancelDmStart(); _dmStartFailed.value = false; _dmOpen.value = null + openingDmFiles.clear() ++channelRefreshRevision; ++messageRefreshRevision; ++jumpRevision ++editRevision; ++replyRevision for (id in submissions.keys.toList()) submissionResult(id, false) diff --git a/tools/chatgui/src/messagelist.cpp b/tools/chatgui/src/messagelist.cpp index 4ad596e33..e22e07cbc 100644 --- a/tools/chatgui/src/messagelist.cpp +++ b/tools/chatgui/src/messagelist.cpp @@ -869,6 +869,7 @@ MessageList::MessageList(DbManager* db, AudioRecorder* recorder, QWidget *parent void MessageList::loadChannel(const QString& channelId) { QPointer prevFocus = QApplication::focusWidget(); + if (channelId.isEmpty()) m_openingDmFiles.clear(); const auto conversations = m_db && isDmChannel(channelId) ? m_db->getDmConversations() : QList(); quint64 generation = 0;