Split NETWORK_RADIO_CONFIG into individual env vars and add FEATURE_RADIO_CONFIG flag

- Replace single NETWORK_RADIO_CONFIG comma-delimited string with six
  individual environment variables: NETWORK_RADIO_PROFILE, _FREQUENCY,
  _BANDWIDTH, _SPREADING_FACTOR, _CODING_RATE, _TX_POWER
- Radio config fields now use raw numeric types (float/int) with units
  applied dynamically via RadioConfig.format_for_display()
- Add FEATURE_RADIO_CONFIG feature flag to control radio config panel
  visibility on the home page (default: enabled)
- Remove from_config_string class method (no backwards compatibility)
- Update Click CLI options, create_app() signature, and _build_config_json()
- Update docker-compose.yml, .env.example, README.md, AGENTS.md
- Add upgrading.md v0.12.0 section with migration instructions
- Add test coverage for schema, config, and feature flag
This commit is contained in:
Louis King
2026-06-07 14:35:40 +01:00
parent 187b0b7ce1
commit f7d9901c9b
16 changed files with 727 additions and 83 deletions
+7 -1
View File
@@ -285,7 +285,12 @@ services:
- NETWORK_NAME=${NETWORK_NAME:-MeshCore Network}
- NETWORK_CITY=${NETWORK_CITY:-}
- NETWORK_COUNTRY=${NETWORK_COUNTRY:-}
- NETWORK_RADIO_CONFIG=${NETWORK_RADIO_CONFIG:-}
- NETWORK_RADIO_PROFILE=${NETWORK_RADIO_PROFILE:-EU/UK Narrow}
- NETWORK_RADIO_FREQUENCY=${NETWORK_RADIO_FREQUENCY:-869.618}
- NETWORK_RADIO_BANDWIDTH=${NETWORK_RADIO_BANDWIDTH:-62.5}
- NETWORK_RADIO_SPREADING_FACTOR=${NETWORK_RADIO_SPREADING_FACTOR:-8}
- NETWORK_RADIO_CODING_RATE=${NETWORK_RADIO_CODING_RATE:-8}
- NETWORK_RADIO_TX_POWER=${NETWORK_RADIO_TX_POWER:-22}
- NETWORK_CONTACT_EMAIL=${NETWORK_CONTACT_EMAIL:-}
- NETWORK_CONTACT_DISCORD=${NETWORK_CONTACT_DISCORD:-}
- NETWORK_CONTACT_GITHUB=${NETWORK_CONTACT_GITHUB:-}
@@ -303,6 +308,7 @@ services:
- FEATURE_MEMBERS=${FEATURE_MEMBERS:-true}
- FEATURE_PAGES=${FEATURE_PAGES:-true}
- FEATURE_CHANNELS=${FEATURE_CHANNELS:-true}
- FEATURE_RADIO_CONFIG=${FEATURE_RADIO_CONFIG:-true}
command: ["web"]
healthcheck:
test: