fix: clear in mem cached values on nodedb, factory reset (#3680)

This commit is contained in:
Mac DeCourcy 2025-11-12 16:05:50 -08:00 committed by GitHub
parent bc8ff26167
commit e421d6708a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -366,7 +366,14 @@ constructor(
"Request factory reset error",
)
if (destNum == myNodeNum) {
viewModelScope.launch { nodeRepository.clearNodeDB() }
viewModelScope.launch {
// Clear the service's in-memory node cache first so screens refresh immediately.
val existingNodeNums = nodeRepository.getNodeDBbyNum().firstOrNull()?.keys?.toList().orEmpty()
meshService?.let { service ->
existingNodeNums.forEach { service.removeByNodenum(service.packetId, it) }
}
nodeRepository.clearNodeDB()
}
}
}
@ -377,7 +384,14 @@ constructor(
"Request NodeDB reset error",
)
if (destNum == myNodeNum) {
viewModelScope.launch { nodeRepository.clearNodeDB(preserveFavorites) }
viewModelScope.launch {
// Clear the service's in-memory node cache as well so UI updates immediately.
val existingNodeNums = nodeRepository.getNodeDBbyNum().firstOrNull()?.keys?.toList().orEmpty()
meshService?.let { service ->
existingNodeNums.forEach { service.removeByNodenum(service.packetId, it) }
}
nodeRepository.clearNodeDB(preserveFavorites)
}
}
}