MeshCore Ninja Alpha
All software

Sestriere

Client Beta

Native Haiku OS MeshCore client with encrypted messaging, voice, images, topology and geographic maps, packet analysis, telemetry, repeater administration and an optional MQTT bridge.

Screenshots

Native Haiku messaging interface
Mesh topology and packet-flow visualization
Geographic map and line-of-sight tools
Node telemetry and network health

Details

Kind
Clients
Maturity
Beta
Maintainer
atomozero
Language
cpp
Licensing
Source available
Latest version
1.8 · 2026-03-15

Capabilities

Platforms

haiku

Interfaces

GUI

Connections

SerialUSBMQTT

Capabilities

MessagingContactsChannelsNode configurationRemote administrationMonitoringTelemetryPacket analysisMappingNotificationsBridging

Node roles

companionrepeaterroom-server

Install

Releases

from GitHub · updated 2026-06-23
  1. v1.8 # Latest 3 months ago · 2026-03-15 22:33 UTC

    Sestriere 1.8.0

    Native MeshCore LoRa mesh client for Haiku OS.

    New features

    • Voice messages — push-to-talk via Codec2, compatible with meshcore-sar (Alphaaaaa)
    • Image sharing — color WebP over LoRa with chunked transfer and drag-and-drop
    • SAR markers — search and rescue pin display in chat and geographic map
    • Line-of-Sight analysis — terrain profile between nodes via Open-Meteo elevation API
    • Multi-companion support — switch radios without mixing data, DB partitioned per device
    • Contact groups and muting — organize sidebar, silence notifications per contact/channel
    • Serial Monitor — CLI terminal for repeaters and standalone devices

    Improvements

    • Telemetry dashboard redesigned with card-based layout
    • Mission Control: Ping All, Trace Route quick actions
    • Geographic map: zoom/pan/tile state persisted across sessions
    • Deskbar replicant: lightweight add-on with Send Advert shortcut
    • Inline emoji rendering via Twemoji
    • Tile cache: corrupt PNG auto-recovery, 50 MB LRU eviction
    • Database: incremental vacuum after pruning, WAL fallback for Haiku compatibility
    • 56 automated tests (make test)

    Bug fixes

    • Fixed thread safety in child window access and database singleton
    • Fixed protocol compliance: full 32-byte pubkeys, frequency in kHz, V3 SNR offsets
    • Fixed GIF cache miss, image buffer overread, delivery status tracking
    • Fixed memory leaks in BMessageRunner and GIF picker threads
    • Replaced VLAs and non-reentrant libc calls (localtime_r, strlcpy)
  2. v1.7 # 4 months ago · 2026-03-06 20:49 UTC

    Sestriere 1.7 "Marconi"

    Native MeshCore LoRa mesh client for Haiku OS

    Sestriere is a native Haiku application for communicating over LoRa mesh networks via MeshCore-compatible radios. It provides a Telegram-style interface with real-time messaging, network visualization, telemetry dashboards, and a Wireshark-style packet analyzer — all built with the Be API.

    What's new in 1.7

    GIF Sharing — Send and receive animated GIFs via GIPHY. The built-in picker shows animated thumbnails in a grid, and only the short GIF ID travels over LoRa (zero overhead). Fully compatible with meshcore-open (Flutter).

    Emoji Rendering — Unicode emoji displayed as color PNG sprites with proper alpha blending over chat bubbles.

    Image Sharing — Send photos over LoRa using chunked transfer. Images are compressed, transmitted in fragments, auto-fetched on the receiving end, and displayed inline in the chat.

    SAR Markers — Search and Rescue markers (meshcore-sar protocol) parsed and displayed in chat and on the geographic map.

    OpenStreetMap Tiles — The geographic map now shows real OSM tiles with offline caching, plus world coastline rendering.

    Delivery Queue — Messages now use a FIFO queue with automatic retry and clear status (Pending, Sent, Confirmed, Failed).

    Ping All — Ping every contact in one click to check who's online.

    UI Polish — Compact default layout, flexible panel resizing, contact filter state (Chat/Repeater/Room) persisted across restarts.

    Requirements

    • Haiku OS R1/beta5 or later (x86_64)
    • MeshCore-compatible LoRa radio with USB serial
    • pkgman install mosquitto sqlite curl giflib

    Feedback and bug reports welcome!

  3. v1.4 # 4 months ago · 2026-02-22 13:41 UTC

    Solid as Alpine granite — a stability and code quality release.

    No flashy new features this time. Instead, we went deep under the hood to rebuild the foundations for what comes next.

    Architecture

    • Protocol parsing extracted from MainWindow into a dedicated ProtocolHandler class
    • Common utilities consolidated into Utils.h: FormatUptime, FormatTimeAgo, ParseHexPrefix, FormatContactKey
    • All magic numbers replaced with named constants across the entire codebase
    • Dead code removed: legacy MqttSettingsWindow, StatusBarView, unused message codes

    Security

    • Hardcoded credentials removed from source
    • All database queries migrated to parameterized prepared statements
    • User input validated before all protocol operations
    • Bounds checks on every incoming protocol frame

    Thread Safety

    • DatabaseManager singleton protected with mutex
    • Child window access guarded by new _LockIfVisible() helper
    • MQTT connect/disconnect race condition fixed
    • BMessageRunner lifecycle hardened: always NULL after delete, no use-after-free

    Protocol Bug Fixes

    • CMD_REMOVE_CONTACT and CMD_RESET_PATH now send full 32-byte public key (was 6-byte, causing silent failures)
    • CMD_SET_RADIO_PARAMS sends frequency in kHz as V3 spec requires (was Hz)
    • Packet Analyzer V3 message text offsets corrected
    • localtime() replaced with reentrant localtime_r() throughout
    • strtok() replaced with thread-safe strtok_r()
    • Blocking snooze() removed from LoginWindow UI thread

    UX Polish

    • All windows centered on screen (or on parent) instead of hardcoded pixel positions
    • Mission Control cards gracefully truncate long text in narrow windows
    • MQTT password field with show/hide toggle
    • Theme-aware Stats Window using system colors
    • Reduced minimum sizes for Telemetry and Packet Analyzer to fit smaller screens
    • Unified battery percentage formula across all views
Show all 4 releases →

Project signals

popularity 2026-06-23 verification 2026-06-23
GitHub stars
33
Forks
0
Watchers
2
Open issues
13
Contributors
2
Release downloads
35
Latest downloads
12
Source available
Yes
Releases available
Yes
Signed releases
No
CI builds
No
Documentation
Yes
  • The repository does not currently declare an SPDX license.
  • Requires Haiku system libraries plus Mosquitto, libcurl, giflib and Codec2.

Tags