Preserve member connection state when its refresh fails

This commit is contained in:
evgeny committed 2026-10-29 14:02:25 +01:00
1 parent 05ea602a3a
commit ef6a5673bd
2 files changed
+3 -3

No files matched your search

@@ -40,8 +40,8 @@ data class RadioCompressorSettings(val enabled: Boolean = true, val maxGainDb: I
* Поставщик Application: getString/getInt остаются синхронным API для JNI.
* Файловые операции возвращают Deferred общей очереди; await не блокирует UI и не передаёт ожидающему владение запросом.
* При формировании конфига настройки и keys.conf читаются один раз; чтение/запись utun.cfg сериализованы.
* UI принимает изменения через changes: сначала DataStore commit, затем runtime. Flow snapshots сохраняют
* последнее подтверждённое значение при ошибке чтения; Bluetooth-флаги меняются атомарно по отдельному биту.
* UI принимает изменения через changes: сначала DataStore commit, затем runtime. Наблюдение через changes
* сохраняет подтверждённый снимок UI при ошибке чтения; Bluetooth-флаги меняются атомарно по отдельному биту.
*/
class ConfigProvider(private val context: Context) {
val changes = SettingsOperations()
@@ -1521,7 +1521,7 @@ class ChatViewModel : ViewModel() {
val r = repo ?: return
val generation = membersRepository.generation
viewModelScope.launch {
val links = withContext(Dispatchers.IO) { r.getMemberLinks(nodeId) }
val links = withContext(Dispatchers.IO) { r.getMemberLinks(nodeId) } ?: return@launch
if (_selectedMember.value?.nodeId == nodeId && generation == membersRepository.generation) _memberLinks.value = links
}
}