MeshEvent
Side-channel event from the SDK engine.
These are non-packet events: queue status updates, errors, key-verification prompts, etc. Emitted via RadioClient.events alongside RadioClient.packets and RadioClient.nodes.
Since
0.1.0
Inheritors
Types
Emitted when congestion metrics cross a threshold level. Clients should use metrics to decide whether to delay non-urgent sends.
Device reported FromRadio.rebooted = true — the radio restarted mid-session (crash, intentional reboot via admin, firmware update, or brownout). The engine treats this as a forced disconnect: pending sends fail, handshake state resets, and ConnectionState transitions to Disconnected. Higher-level reconnect policy (if any) then restarts the session from scratch.
An external source (another admin client) pushed a configuration change to the connected device. The engine has already applied the update to local state (RadioClient.config, RadioClient.channels). Subscribers should refresh any cached configuration.
The device announced a file in its on-device filesystem (sent during the handshake or after file operations).
The connected device reported a different NodeNum than the one previously persisted for this transport identity (e.g. factory reset, radio swap, or hostname re-pointed at a different physical radio).
Key verification prompt (e.g., "confirm the radio's public key").
The connected device reported its hardened-build lockdown state.
Emitted when the device's MQTT connection state changes to connected.
Emitted when the device's MQTT connection drops.
The device asked the host to relay an MQTT message on its behalf (MQTT client proxy).
Device emitted a notification.
A flow dropped messages due to subscriber backpressure.
Device's transmit queue status changed.
Security-relevant warning from the device, surfaced as typed sub-variants so that hosts can react without string-parsing. These arrive from org.meshtastic.proto.ClientNotification but the engine also still re-emits the raw Notification for callers that want the underlying wire payload.
Storage backend reported a persistent I/O failure (disk full, permission denied, locked database, etc.) and the engine has dropped into degraded mode. Subsequent storage writes are skipped for the remainder of the session; in-memory state continues to flow on RadioClient.packets, RadioClient.nodes, and RadioClient.events so the user-visible session is preserved, but nothing is written to disk until the next RadioClient.connect.
A transport-level error occurred.
An XModem file-transfer frame arrived from the device.