feat(#304): surface Offband capabilities in Device Info

A capability-gated control that doesn't appear is indistinguishable from
a broken one. Diagnosing "the FEM LNA toggle is missing" on real hardware
required a rebuild, because the caps byte was never surfaced and the app
debug log records nothing in a release build unless logging is enabled.

Adds an "Offband capabilities" row to Device Info showing the raw caps
byte, firmware version code, and which gated features it grants, e.g.
"0x02 (v16) - block". That turned an unexplained missing toggle into a
one-look answer: firmware v16 running, FEM LNA bit clear, client correct.

Also logs the same values at device-info parse for anyone who does have
logging on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
pull/317/head
Strycher 2 days ago
parent d60627a059
commit 94d61c75eb

@ -4731,6 +4731,16 @@ class MeshCoreConnector extends ChangeNotifier {
// FEM LNA state rides one byte past the caps byte on v16+ (#304). Primary // FEM LNA state rides one byte past the caps byte on v16+ (#304). Primary
// read on connect a 0xC3 GET is only the fallback. // read on connect a 0xC3 GET is only the fallback.
_femLnaEnabled = parseFemLnaState(frame); _femLnaEnabled = parseFemLnaState(frame);
// Capability-gated features are invisible when a bit is clear, which looks
// identical to a bug. Log the raw inputs so "the toggle didn't appear" can
// be told apart from "this radio says it can't". (#304)
_appDebugLogService?.info(
'Offband caps=0x${(_offbandCaps ?? 0).toRadixString(16).padLeft(2, '0')} '
'verCode=${_firmwareVerCode ?? 0} frameLen=${frame.length} '
'femLnaByte=${_femLnaEnabled == null ? 'absent' : (_femLnaEnabled! ? '1' : '0')} '
'femCapable=$supportsOffbandFemLna blockCapable=$supportsOffbandBlock',
tag: 'Device',
);
// Caps just landed; (re)evaluate GPS polling in case a `gps=1` custom-var // Caps just landed; (re)evaluate GPS polling in case a `gps=1` custom-var
// frame arrived before this device-info reply set support. (#144) // frame arrived before this device-info reply set support. (#144)
_reconcileGpsPolling(); _reconcileGpsPolling();

@ -236,6 +236,7 @@
"settings_infoStatus": "Status", "settings_infoStatus": "Status",
"settings_infoFirmware": "Firmware", "settings_infoFirmware": "Firmware",
"settings_infoModel": "Model", "settings_infoModel": "Model",
"settings_infoOffbandCaps": "Offband capabilities",
"settings_infoBattery": "Battery", "settings_infoBattery": "Battery",
"settings_infoPublicKey": "Public Key", "settings_infoPublicKey": "Public Key",
"settings_publicKeyCopied": "Public key copied", "settings_publicKeyCopied": "Public key copied",

@ -1174,6 +1174,12 @@ abstract class AppLocalizations {
/// **'Model'** /// **'Model'**
String get settings_infoModel; String get settings_infoModel;
/// No description provided for @settings_infoOffbandCaps.
///
/// In en, this message translates to:
/// **'Offband capabilities'**
String get settings_infoOffbandCaps;
/// No description provided for @settings_infoBattery. /// No description provided for @settings_infoBattery.
/// ///
/// In en, this message translates to: /// In en, this message translates to:

@ -590,6 +590,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Батерия'; String get settings_infoBattery => 'Батерия';

@ -585,6 +585,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Akku'; String get settings_infoBattery => 'Akku';

@ -575,6 +575,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Battery'; String get settings_infoBattery => 'Battery';

@ -586,6 +586,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batería'; String get settings_infoBattery => 'Batería';

@ -590,6 +590,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batterie'; String get settings_infoBattery => 'Batterie';

@ -588,6 +588,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Akku'; String get settings_infoBattery => 'Akku';

@ -588,6 +588,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batteria'; String get settings_infoBattery => 'Batteria';

@ -561,6 +561,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'バッテリー'; String get settings_infoBattery => 'バッテリー';

@ -561,6 +561,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => '배터리'; String get settings_infoBattery => '배터리';

@ -582,6 +582,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batterij'; String get settings_infoBattery => 'Batterij';

@ -590,6 +590,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Bateria'; String get settings_infoBattery => 'Bateria';

@ -588,6 +588,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Bateria'; String get settings_infoBattery => 'Bateria';

@ -587,6 +587,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Батарея'; String get settings_infoBattery => 'Батарея';

@ -582,6 +582,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batéria'; String get settings_infoBattery => 'Batéria';

@ -579,6 +579,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Baterija'; String get settings_infoBattery => 'Baterija';

@ -577,6 +577,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Batteri'; String get settings_infoBattery => 'Batteri';

@ -585,6 +585,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => 'Батарея'; String get settings_infoBattery => 'Батарея';

@ -553,6 +553,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get settings_infoModel => 'Model'; String get settings_infoModel => 'Model';
@override
String get settings_infoOffbandCaps => 'Offband capabilities';
@override @override
String get settings_infoBattery => '电池'; String get settings_infoBattery => '电池';

@ -403,6 +403,17 @@ class _SettingsScreenState extends State<SettingsScreen> {
_buildInfoRow(l10n.settings_infoFirmware, firmwareVersion), _buildInfoRow(l10n.settings_infoFirmware, firmwareVersion),
if (deviceModel != null) if (deviceModel != null)
_buildInfoRow(l10n.settings_infoModel, deviceModel), _buildInfoRow(l10n.settings_infoModel, deviceModel),
// Capability-gated controls vanish silently when a bit is clear,
// which is indistinguishable from a bug. Surface the raw inputs so
// "missing feature" can be diagnosed without enabling logging. (#304)
if (connector.offbandCaps != null)
_buildInfoRow(
l10n.settings_infoOffbandCaps,
'0x${connector.offbandCaps!.toRadixString(16).padLeft(2, '0')}'
' (v${connector.firmwareVerCode ?? 0})'
'${connector.supportsOffbandFemLna ? ' · FEM LNA' : ''}'
'${connector.supportsOffbandBlock ? ' · block' : ''}',
),
_buildBatteryInfoRow(context, connector), _buildBatteryInfoRow(context, connector),
if (connector.selfName != null) if (connector.selfName != null)
_buildInfoRow(l10n.settings_nodeName, connector.selfName!), _buildInfoRow(l10n.settings_nodeName, connector.selfName!),

@ -14,6 +14,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -21,6 +22,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -40,6 +42,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -74,6 +77,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -81,6 +85,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -100,6 +105,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -134,6 +140,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -141,6 +148,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -160,6 +168,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -194,6 +203,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -201,6 +211,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -220,6 +231,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -254,6 +266,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -261,6 +274,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -280,6 +294,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -314,6 +329,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -321,6 +337,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -340,6 +357,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -374,6 +392,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -381,6 +400,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -400,6 +420,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -434,6 +455,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -441,6 +463,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -460,6 +483,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -494,6 +518,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -501,6 +526,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -520,6 +546,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -554,6 +581,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -561,6 +589,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -580,6 +609,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -614,6 +644,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -621,6 +652,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -640,6 +672,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -674,6 +707,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -681,6 +715,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -700,6 +735,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -734,6 +770,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -741,6 +778,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -760,6 +798,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -794,6 +833,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -801,6 +841,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -820,6 +861,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -854,6 +896,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -861,6 +904,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -880,6 +924,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -914,6 +959,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -921,6 +967,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -940,6 +987,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",
@ -974,6 +1022,7 @@
"settings_gpsStatusNoResponse", "settings_gpsStatusNoResponse",
"settings_infoFirmware", "settings_infoFirmware",
"settings_infoModel", "settings_infoModel",
"settings_infoOffbandCaps",
"settings_publicKeyCopied", "settings_publicKeyCopied",
"settings_femLna", "settings_femLna",
"settings_femLnaSubtitle", "settings_femLnaSubtitle",
@ -981,6 +1030,7 @@
"appSettings_clockSystem", "appSettings_clockSystem",
"appSettings_clock12h", "appSettings_clock12h",
"appSettings_clock24h", "appSettings_clock24h",
"contacts_searchSensors",
"channels_notifications", "channels_notifications",
"channels_notifyAll", "channels_notifyAll",
"channels_notifyMentionsOnly", "channels_notifyMentionsOnly",
@ -1000,6 +1050,7 @@
"channels_qrAddConfirm", "channels_qrAddConfirm",
"channels_qrAdded", "channels_qrAdded",
"channels_qrExists", "channels_qrExists",
"listFilter_sensors",
"contacts_repeaterPathTraceVia", "contacts_repeaterPathTraceVia",
"snrIndicator_noNeighbors", "snrIndicator_noNeighbors",
"block_block", "block_block",

Loading…
Cancel
Save

Powered by TurnKey Linux.