Conversation
Two fixes: 1. "Not in your radio's database" warning never clears - deviceNodeNums was only populated during initial config sync. Now also adds nodes when NodeInfo packets arrive over the mesh, which is when keys are exchanged. 2. Security config settings (Debug Log API, Serial Enabled, etc.) don't persist after save - missing Proto3 default handling for security config booleans in getCurrentConfig(), and cached config not updated after save. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
Claude finished @Yeraze's task —— View job Comprehensive PR ReviewI've thoroughly analyzed this pull request that fixes two distinct issues: persistent device DB warnings and security config persistence problems. ✅ Code Quality & Best PracticesDevice DB Warning Fix (
Security Config Persistence
|
Summary
"Not in your radio's database" warning never clears:
deviceNodeNumswas only populated during initial config sync (processNodeInfoProtobuf). When a node later sent NodeInfo over the mesh (exchanging keys), the set was never updated, so the warning persisted indefinitely. Now adds nodes todeviceNodeNumsinprocessNodeInfoMessageProtobufwhen NodeInfo arrives over the mesh.Security config settings don't persist after save: Two sub-issues:
getCurrentConfig()was missing Proto3 default handling for security config booleans (debugLogApiEnabled,serialEnabled,isManaged,adminChannelEnabled). Proto3 omitsfalsevalues, so these came back asundefinedinstead offalse.actualDeviceConfigwas not updated, so the frontend read stale values until the next config resync. AddedupdateCachedDeviceConfig()method and call it after successful security config saves.Test plan
🤖 Generated with Claude Code