Skip to content

v2.9.4: node filters and saved settings for plugins

Latest

Choose a tag to compare

@maxg10 maxg10 released this 01 Nov 13:43

A release for plugins: they can now decide which nodes the map shows, and keep
their own settings on your MeshPulse. The first plugin to use both is
Circles, in the
plugin store now.

Circles, and what it needs from the core

Circles keeps your own circles of nodes (family, your own gear, nodes you keep
an eye on): rings in their colour on the map, a panel with when each was last
heard, and one switch, Only my circles, that hides every other node. Lines,
Live Pulse, Weather Overlay and Trails keep working for the nodes that stay.

For plugin authors, that takes two new calls:

  • api.nodes.addFilter(fn), removeFilter() and refilter(). A plugin's
    filter runs at the end of the core's filter chain and hides a node by
    returning false. Markers, lines, the No GPS list, Mesh Info and every other
    plugin follow it. Your own node always stays, and a filter that throws hides
    nothing.
  • api.config.save(updates, cb): a map plugin stores its settings on the
    host, through the same protected save the Config page uses, so the admin
    password applies and every browser sees the same values. A setting declared
    with "type": "hidden" stays off the Config page, for data a plugin edits in
    its own panel.

Details and examples in the
plugin developer guide.

Also in the store: Live Pulse 1.0.1 (nodes the map's filters hide do not
pulse) and Weather Overlay 1.0.4 (impossible sensor readings hidden).

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