From 81654a095b4754e83a8aabbfe5b7662c2f7c001e Mon Sep 17 00:00:00 2001 From: Mac DeCourcy <49794076+mdecourcy@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:30:25 -0800 Subject: [PATCH] fix: nodes seen before full user exchange not being updated in phone NodeDB (#3996) Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- .../com/geeksville/mesh/service/MeshService.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index 0372df12e..f63c3768d 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -561,7 +561,13 @@ class MeshService : Service() { hwModel = MeshProtos.HardwareModel.UNSET } - NodeEntity(num = n, user = defaultUser, longName = defaultUser.longName, channel = channel) + NodeEntity( + num = n, + user = defaultUser, + longName = defaultUser.longName, + shortName = defaultUser.shortName, + channel = channel, + ) } private val hexIdRegex = """!([0-9A-Fa-f]+)""".toRegex() @@ -1046,6 +1052,9 @@ class MeshService : Service() { "kept='${it.user.longName}' (hwModel=${it.user.hwModel}), " + "skipped default='${p.longName}' (hwModel=UNSET)", ) + // Ensure denormalized columns are updated from preserved user data + it.longName = it.user.longName + it.shortName = it.user.shortName // Still update channel and verification status it.channel = channel it.manuallyVerified = manuallyVerified @@ -1779,6 +1788,9 @@ class MeshService : Service() { "kept='${it.user.longName}' (hwModel=${it.user.hwModel}), " + "skipped default='${info.user.longName}' (hwModel=UNSET)", ) + // Ensure denormalized columns are updated from preserved user data + it.longName = it.user.longName + it.shortName = it.user.shortName } else { it.user = info.user.copy {