feat: Adds Request user info (#1279)

* Request user info

* safe calls

* Fix: Ensure NodeInfo is sent when requesting user info

The `requestUserInfo` function now correctly sends `NodeInfo` when requesting user info by using the `
toNodeInfo()` method on `ourNodeInfo`. This ensures the recipient receives the necessary information.

* fix: remove unused parameters, use service's node db for our node entity

---------

Co-authored-by: musznik <bymucha@gmail.com>
This commit is contained in:
James Rich 2024-10-03 03:02:13 -05:00 committed by GitHub
parent 83c3b484ad
commit f944a236ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 37 additions and 5 deletions

View file

@ -1928,7 +1928,18 @@ class MeshService : Service(), Logging {
removeByNodenum = nodeNum
})
}
override fun requestUserInfo( destNum: Int ) = toRemoteExceptions {
if (destNum != myNodeNum) {
sendToRadio(newMeshPacketTo(destNum
).buildMeshPacket(
channel = nodeDBbyNodeNum[destNum]?.channel ?: 0
) {
portnumValue = Portnums.PortNum.NODEINFO_APP_VALUE
wantResponse = true
payload = nodeDBbyNodeNum[myNodeNum]!!.user.toByteString()
})
}
}
override fun requestPosition(destNum: Int, position: Position) = toRemoteExceptions {
sendToRadio(newMeshPacketTo(destNum).buildMeshPacket(
channel = nodeDBbyNodeNum[destNum]?.channel ?: 0,