mesh-client
Client StableCross-platform Electron desktop client for Meshtastic, MeshCore and Reticulum (LXMF) on macOS, Linux and Windows. Supports BLE, USB serial, Wi-Fi/TCP and MQTT; keeps local SQLite history, routing diagnostics, 16-language UI, TAK CoT gateway, PKI remote admin, mapping, telemetry and automated CI releases.
- Maintainer
- Colorado Mesh ↗
- Kind
- Clients
- Maturity
- Stable
- Language
- TypeScript
- Licensing
- Open source
- Latest version
- 5.25.0 · 2026-07-31
- License
- MIT
- Platforms
- Linux macOS Windows
Screenshots
Capabilities
Interfaces
- ✓ GUI
Connections
- ✓ BLE
- ✓ Serial
- ✓ USB
- ✓ TCP
- ✓ MQTT
Capabilities
- ✓ Messaging
- ✓ Contacts
- ✓ Channels
- ✓ Node configuration
- ✓ Remote administration
- ✓ Monitoring
- ✓ Telemetry
- ✓ Packet analysis
- ✓ Mapping
- ✓ Firmware update
- ✓ Automation
- ✓ Notifications
- ✓ Bridging
- ✓ Key management
Node role
- ✓ Companion
- ✓ Repeater
- ✓ Room server
Install
Releases
from GitHub · updated 2026-08-05v5.25.0 # Latest 7 days ago · 2026-07-31 19:25 UTC
[v5.25.0] - 2026-07-31
Highlights
- Reticulum at scale: local LXMF PN hosting, Direct→remote-PN delivery fallback, inbound LXMF recovery under announce/
wire_packetstorms, IFAC private networks, RMAP/RNCP hardening, and peer ceilings toward 100k. - Chat & App UX: inline image embeds + YouTube previews, always-visible message actions, color save/restore, 24-hour clocks, Nomad page identity fixes and retries.
- Architecture: Meshtastic/MeshCore packet ingress is PacketRouter-only with identity-store writes; pnpm 11 + Flatpak offline packaging; broad audit/security/i18n follow-ups.
- Polish: RMAP X of Y publish status, RNCP unreachable-dest blocking + pending-offer UX, Linux Web Bluetooth chooser fix for AppImage/deb/rpm.
- Release tooling: Safer pnpm 11 / hoisted-dedupe release path, MetaInfo version from
package.json, andpnpm run release --finishrecovery.
What's Changed
Reticulum — messaging & propagation
- Local PN hosting — Announce,
/offer//get, autopeer, and persisted peering policy under Network → Advanced PN hosting, with enable/danger-zone confirms and TS↔Rust policy drift checks (#731) - Direct→PN fallback — One-shot deposit via preferred remote PN when Direct fails; Chat shows Stored at propagation node; link-timeout no longer races fallback to Failed; manual Retry reuses the failed bubble and keeps Completes green (#725, #731)
- Propagation sync reliability — Pin PN identity during sync; LXMF delivery announce (+ settle / path refresh) before remote Sync; Establishing stall ~45s; auto-sync from last success with failure cooldown; clearer
NoLinkProof/ establish errors; mid-sync refresh keeps active attempt stamps (#718, #720, #723, #731) - Discovered PNs — Opt-in UI from
lxmf.propagationannounces (Add / Add & prefer); persist/rehydrate discovered public keys (#718, #720) - Inbound LXMF under large meshes — Stop live
wire_packetWS flood; buffer +GET /api/v1/lxmf/recentcatch-up on connect/reconnect/events_lagged; coalesceannounce.receivedstorms; Diagnosticsreticulum/announce-bus-pressure; poll packets while Sniffer/Stats open (#738, #739) - Large-mesh peers — Toward 100k peer/destination caps; longer mega-mesh refresh; skip warm dumps; larger WS added batches; Probe/Path no longer force full path-table dumps; Peers panel cheaper prepares; shared
reticulum:proxycap 120→300/min with expected rate-limit backoff (#745)
Reticulum — interfaces, map, BLE, Remote, RRC
- IFAC private networks —
network_name/passphraseon add/edit; Advanced key=value editor; preserve unknown INI keys viaextra_config; live stats merge keeps IFAC/seed fields for edit forms (#722, #724) - Interface modes — Docs for rnsd modes + in-UI
modeDescriptionsunder Connection → Interfaces (#708) - RMAP — Discovery announce egress overlay so Boundary hubs (e.g. rmap.world) receive announces; Interfaces RMAP checkbox uses the same restart confirm as Network publish; persist announce interval / reachable / height prefs to SQLite; X of Y publishing covera …
- Reticulum at scale: local LXMF PN hosting, Direct→remote-PN delivery fallback, inbound LXMF recovery under announce/
v5.24.1 # 18 days ago · 2026-07-21 00:06 UTC
[v5.24.1] - 2026-07-20
Highlights
- MeshCore repeater admin: paginated Neighbors with Load more, clearer disconnect toasts, and safer CLI quick commands.
- Reticulum RNode: Wi‑Fi TCP keepalive so idle links stop dropping around ~6s, plus clearer macOS BLE pairing (in-panel PIN, 60s passkey window, less reconnect thrash).
What's Changed
Features
- MeshCore repeater admin — Paginated Neighbors with Load more (Repeaters panel + node detail), disconnect toasts for Status/Telemetry/Neighbors, and safer CLI quick pills (
clock,clock sync,clear stats,advert,board) (#697)
Bug Fixes
- Reticulum RNode TCP keepalive — Overlay rsReticulum activity keepalive so Wi‑Fi RNodes do not idle-FIN around ~6s (#698)
- macOS BLE RNode pairing UX — Surface Admin Start pairing PIN in-panel (never Meshtastic
123456), extend connect grace/hints to ~60s for the OS passkey window, latchblePairingTimedOutinto Connection + Diagnostics, and debounce pairing-transition reconnect thrash (#698) - Meshtastic node delete — Wire Node Detail Confirm delete to the Meshtastic runtime so the button actually removes the node (#695)
- Meshtastic disconnect teardown — Abort inbound
fromDevicepipe before awaitingtoDevice.close, tolerate abrupt writable close errors, and reduce reconnect flakiness after serial/BLE disconnect (#693)
Other Changes
- Faster pre-commit — Staged-related Vitest (
test:staged), staged ESLint with cache, and path-gatedcheck:*scanners; PR CI andpnpm run releasestill run the full suite (#696) - Patches / deps — Track upstream patch PRs in
patches/README.mdand Ratspeak overlay registry; syncusbMSVC C++17 build flags; routine dependency bumps (#693, #694)
Breaking Changes
(None)
Full Changelog
v5.24.0 # 20 days ago · 2026-07-19 00:29 UTC
[v5.24.0] - 2026-07-18
Highlights
Reticulum grows into a full comms suite this release: a new Relay Chat (RRC) IRC-style multi-hub client, a Remote tab for
rnshshells andrncpfile transfer, watch-folder Nomad hosting with an upgraded Micron renderer, identity slots, propagation-node rename/delete, and much faster Peers at large path-table sizes. A broad protocol-parity pass adds QR generation/scan,lxm://deep links, GPX export, LoRa signal metering, Meshtastic module event history, and per-send MeshCore flood-scope presets (now behind a split Send button). Messaging is more resilient (one-click location share, chat outbox drain on reconnect, extended reconnect budgets, humanized send-NAK errors), and cold-start BLE is serialized so an RNode connects before the RF radios. MeshCore MQTT now steers non-Colorado users to LetsMesh by default.What's Changed
Features
- Reticulum Remote tab (rnsh + rncp) — New Remote tab (Shell / Transfer / Saved / Settings) with an xterm shell, file send/fetch/listen, saved address book + inbound policy, and Chat DM
rncpcontrols; trust-boundary hardening (picker-backed save dirs, size/offer caps, allow/block lists) (#692, implements #688, #689) - Reticulum Relay Chat (RRC) — IRC-style multi-pane client with up to 8 concurrent hub sessions, Favourites/Discovered hub picker, rooms + nicklist,
/-command router,@mentionunread badges + tray/toast notifications, and SQLite-persisted room history with retention pruning (#680, fixes #648) - Watch-folder Nomad hosting + Micron rendering — Host bounded static Nomad Network sites from a watched folder with auto-restore and filesystem watching; vendored RFnexus Micron parser adds table/anchor/partial support (#683, closes #613)
- Protocol parity tools — Meshtastic module event history, LoRa signal metering, GPX export, MeshCore MCU temperature parsing, per-send flood-scope overrides, QR generation + camera/file ingest, custom
lxm://deep links, cross-platform camera permissions, and Reticulum identity slots with restart-based switching + contact fingerprint verification (9890611e, fixes #218, #477) - MeshCore flood-scope presets — User-managed scope list (seeded from the radio hashtag, cap 20) replacing Colorado/Denver hardcodes; scope now lives behind a chevron split-Send menu instead of an always-visible select (#692)
- Messaging resilience — One-click chat location share (OSM text + optional Meshtastic waypoint) with outbox enqueue on failure, chat outbox drain on RF reconnect, extended BLE/serial reconnect budgets (8 attempts) with transport-aware "reconnecting N/M" banner, conservative/aggressive Store & Forward catch-up setting, and a hung-only Reticulum sidecar health watchdog (#692)
- Reticulum propagation node management — Rename/delete remote propagation nodes with confirm dialog and persistence guards (#679)
- Scale Reticulum Peers — Incremental
peers_updatedpatches, path-table TTL, forced?refresh=1dumps, batched Map updates, and retention parity (hard 100k ceiling / 50k user cap) keep the UI responsive at ~50k peers ([#677](https://github.com/Colorado-Mesh/mesh-client/pull/677 …
- Reticulum Remote tab (rnsh + rncp) — New Remote tab (Shell / Transfer / Saved / Settings) with an xterm shell, file send/fetch/listen, saved address book + inbound policy, and Chat DM
Project signals
- GitHub stars
- 82
- Forks
- 10
- Watchers
- 1
- Open issues
- 8
- Contributors
- 7
- Release downloads
- 23,621
- Latest downloads
- 1,971
- Source available
- Yes
- Releases available
- Yes
- Signed releases
- No
- CI builds
- Yes
- Documentation
- Yes
- README lists screenshots in docs/images/; no local screenshots downloaded yet.
- Multi-protocol client; supports Meshtastic, MeshCore and Reticulum via an AGPL Rust sidecar.