Filter deprecated Long Slow modem preset from picker#2048
Conversation
The app still offered the deprecated LoRaConfig.ModemPreset LONG_SLOW value for new selection. Mirroring how Android filters it out, exclude it from the selectable preset list via a new `isDeprecated` flag on `ModemPresets`. The `longSlow` case is kept so a radio already configured on it round-trips through protobuf and still renders its label, and the LoRa config picker keeps a currently-configured deprecated preset visible so it never shows blank. Adds unit tests covering exclusion from the selectable set and backward-compat display. Closes meshtastic#2020
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughIntroduces an ChangesDeprecate longSlow modem preset
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
|
@thebentern The red "Check docs coverage" check is a CI/permissions issue, not a problem with this change. |
What & why
Closes #2020.
The app still offered the deprecated
LoRaConfig.ModemPresetvalueLONG_SLOWfor new selection in the modem-preset picker. Per the upstream deprecated-fields audit this preset is being removed, and Android already filters it out. This change stops offering it for new selection while keeping full backward-compatibility for radios already configured on it.Changes
isDeprecatedflag toModemPresets(currently justlongSlow), following the same keep-the-case-but-filter pattern already used forrequiresFirmware2_8.ModemPresets.selectable(supports2_8:)now excludes deprecated presets, solongSlowno longer appears in the LoRa config picker or the discovery scan preset list.longSlowcase so an existing radio's value still round-trips through protobuf and renders its label.LoRaConfig'savailablePresets, a currently-configured deprecated preset is kept visible so the picker never shows a blank selection for an existinglongSlowconfig.longSlowis excluded from the selectable set (both firmware levels) and fromuserSelectable, and still exists for label display.Testing
MeshtasticTests/LoRaFirmwareGatingTestspass locally (11 tests, incl. the 2 new ones); no existing tests broken.main.PR Checklist
Summary by CodeRabbit
Bug Fixes
Tests