Capabilities

data class Capabilities(val firmwareVersion: String?, forceEnableAll: Boolean = isDebug)(source)

Defines the capabilities and feature support based on the device firmware version.

This class provides a centralized way to check if specific features are supported by the connected node's firmware. Add new features here to ensure consistency across the app.

Note: Properties are calculated once during initialization for efficiency.

Constructors

Link copied to clipboard
constructor(firmwareVersion: String?, forceEnableAll: Boolean = isDebug)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Ability to mute notifications from specific nodes via admin messages.

Link copied to clipboard

Ability to request neighbor information from other nodes. Gated to UNRELEASED until working reliably.

Link copied to clipboard

Ability to send verified shared contacts. Supported since firmware v2.7.12.

Link copied to clipboard

Ability to toggle device telemetry globally via module config. Supported since firmware v2.7.12.

Link copied to clipboard

Ability to toggle the 'is_unmessageable' flag in user config. Supported since firmware v2.6.9.

Link copied to clipboard
Link copied to clipboard

Support for ESP32 Unified OTA. Supported since firmware v2.7.18.

Link copied to clipboard

Support for runtime lockdown mode (per-connection passphrase auth). Supported since firmware v2.8.0. Note: lockdown is also hardware-gated (nRF52 only) — the device advertises real support by sending a LockdownStatus, which is the authoritative signal and drives the actual UI state.

Link copied to clipboard

Support for the LoRa region→preset compatibility map and TINY presets. Supported since firmware v2.8.0. Older firmware never sends the map, so the UI keeps the preset list unconstrained and hides the new presets.

Link copied to clipboard

Support for the Mesh Beacon module (ModuleConfig.MeshBeaconConfig broadcast/listen). The proto is upstream but the firmware module traces to a community fork; gate the config editor to 2.8.0+ so older radios don't show a config they'd silently ignore.

Link copied to clipboard

Support for sharing contact information via QR codes. Supported since firmware v2.6.8.

Link copied to clipboard

Support for location sharing on secondary channels. Supported since firmware v2.6.10.

Link copied to clipboard

Support for Status Message module. Supported since firmware v2.8.0.

Link copied to clipboard

Support for TAK (ATAK) module configuration. Supported since firmware v2.7.19.

Link copied to clipboard

Support for the v2 TAK port (ATAK_PLUGIN_V2 = 78) with TAKPacketV2 + zstd dictionary compression. Supported since firmware v2.8.0. Firmware v2.7.x and earlier only support the legacy ATAK_PLUGIN port (72) with the original TAKPacket schema (PLI + GeoChat only, no compression), so the bridge falls back to that path for older nodes.