While nodeinfo broadcasts to all are only sent on a node's primary channel, Nodes may send NodeInfos directed to nodes that are only accessible on secondary channels when they are discovered. In Meshview this results in a node's reported channel being the secondary channel it most recently sent a NodeInfo on even when no broadcasts to all have been sent on that channel.
The correct behavior should be to ignore directed NodeInfos and only count NodeInfos without a destination when determining a node's primary channel.
Tested on v3.0.7
Reproduction steps:
Configure a network-connected node with UDP meshing enabled and a common secondary channel with default key that is uplinked to MQTT
Configure another node on the same network with UDP meshing enabled and the aformentioned secondary channel as its primary channel
Observe meshview as the nodes discover each other, it will incorrectly report the first node on the default channel as being on the secondary after the directed nodeinfo is sent, and this will persist until the first node broadcasts another nodeinfo to primary.
While nodeinfo broadcasts to all are only sent on a node's primary channel, Nodes may send NodeInfos directed to nodes that are only accessible on secondary channels when they are discovered. In Meshview this results in a node's reported channel being the secondary channel it most recently sent a NodeInfo on even when no broadcasts to all have been sent on that channel.
The correct behavior should be to ignore directed NodeInfos and only count NodeInfos without a destination when determining a node's primary channel.
Tested on v3.0.7
Reproduction steps:
Configure a network-connected node with UDP meshing enabled and a common secondary channel with default key that is uplinked to MQTT
Configure another node on the same network with UDP meshing enabled and the aformentioned secondary channel as its primary channel
Observe meshview as the nodes discover each other, it will incorrectly report the first node on the default channel as being on the secondary after the directed nodeinfo is sent, and this will persist until the first node broadcasts another nodeinfo to primary.
<!-- github-sync-id:4868259770 -->
It's worth noting I abused this bug to make my anthrocon specific meshview instance work (https://awoo.corg.ski) but it resulted in undesired behavior on the main WPAMesh meshview as a result.
It's worth noting I abused this bug to make my anthrocon specific meshview instance work (https://awoo.corg.ski) but it resulted in undesired behavior on the main WPAMesh meshview as a result.
<!-- github-comment-id:4952309562 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
While nodeinfo broadcasts to all are only sent on a node's primary channel, Nodes may send NodeInfos directed to nodes that are only accessible on secondary channels when they are discovered. In Meshview this results in a node's reported channel being the secondary channel it most recently sent a NodeInfo on even when no broadcasts to all have been sent on that channel.
The correct behavior should be to ignore directed NodeInfos and only count NodeInfos without a destination when determining a node's primary channel.
Tested on v3.0.7
Reproduction steps:
Configure a network-connected node with UDP meshing enabled and a common secondary channel with default key that is uplinked to MQTT
Configure another node on the same network with UDP meshing enabled and the aformentioned secondary channel as its primary channel
Observe meshview as the nodes discover each other, it will incorrectly report the first node on the default channel as being on the secondary after the directed nodeinfo is sent, and this will persist until the first node broadcasts another nodeinfo to primary.
It's worth noting I abused this bug to make my anthrocon specific meshview instance work (https://awoo.corg.ski) but it resulted in undesired behavior on the main WPAMesh meshview as a result.