Skip to content

v2.8.2 — getTracker() answers for the first time

Choose a tag to compare

@maxg10 maxg10 released this 15 Sep 20:36
· 32 commits to main since this release

One fix, found the way these things usually are: a plugin drew a perfectly
reasonable conclusion from a wrong answer.

api.nodes.getTracker() is how a plugin asks which node is this mapper's own
radio. It read window._trackerNodeId — a global that nothing in the codebase
ever assigns
. So it had always returned null, to every plugin, since the day
it was written. The tracker's id arrives on the connection status message and
has been sitting in trackerInfo the whole time.

It reads trackerInfo now, with the global kept as an override.

Why it matters beyond the obvious: a plugin that asks a question and gets a wrong
answer does not fail loudly. The Lifelines plugin asked which node was yours, was
told "none", fell back to the busiest node on the graph, and reported perfectly
correct distances measured from the wrong place — with a label claiming it was
your node. Nothing crashed. The numbers were just quietly about someone else.

Updating

cd ~/meshpulse && git pull origin main && ./install.sh && sudo systemctl restart meshpulse

Docker

docker compose pull && docker compose up -d

Fresh Install

git clone https://github.com/maxg10/meshpulse.git
cd meshpulse
./install.sh