Capabilities
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.
Properties
Ability to mute notifications from specific nodes via admin messages.
Ability to request neighbor information from other nodes. Gated to UNRELEASED until working reliably.
Ability to send verified shared contacts. Supported since firmware v2.7.12.
Ability to toggle device telemetry globally via module config. Supported since firmware v2.7.12.
Ability to toggle the 'is_unmessageable' flag in user config. Supported since firmware v2.6.9.
Support for ESP32 Unified OTA. Supported since firmware v2.7.18.
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.
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.
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.
Support for sharing contact information via QR codes. Supported since firmware v2.6.8.
Support for location sharing on secondary channels. Supported since firmware v2.6.10.
Support for Status Message module. Supported since firmware v2.8.0.
Support for TAK (ATAK) module configuration. Supported since firmware v2.7.19.
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.