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 d89d631b..a6903be0 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 @@ -350,7 +350,16 @@ class ChatViewModel : ViewModel() { } 4 -> { if (repo != null) { LogManager.addLog("INFO", "VM", "CHANNEL_UPDATED — refreshChannels"); refreshChannels() } else { LogManager.addLog("WARN", "VM", "CHANNEL_UPDATED skipped — repo is NULL") } } 12 -> LogManager.addLog("INFO", "VM", "service started") - 13 -> { _attachmentPreparations.value = emptyMap(); LogManager.addLog("INFO", "VM", "service stopped") } + 13 -> { + _attachmentPreparations.value = emptyMap() + _pmInvite.value?.let { state -> + if (state.pending) _pmInvite.value = state.copy(pending = false, errorRes = R.string.invite_core_unavailable) + } + _linkJoin.value?.let { state -> + if (state.pending) _linkJoin.value = state.copy(pending = false, result = -7) + } + LogManager.addLog("INFO", "VM", "service stopped; pending invitation UI released") + } 48 -> { /* [request_id:8][result:4][peer:8][conv:8] */ if (data == null || data.size != 28) { LogManager.addLog("ERROR", "INVITE", "invalid PM invite result"); return } val buf = java.nio.ByteBuffer.wrap(data).order(java.nio.ByteOrder.LITTLE_ENDIAN)