Honor saved WebUI off during unconfigured boot setup

An enabled MQTT bridge without a saved SSID forced WebConfig back on at boot,
even after set webui off. Its setup AP also suspended an enabled ESP-NOW bridge.

Use first-time MQTT setup as the default only when no WebUI choice is saved.
Apply the saved on/off setting afterward in Repeater and Room Server. Preserve
first-time provisioning and explicit starts.

Add executable boot regressions for both roles with unset, on and off WebUI
settings and configured/unconfigured WiFi. Update setup and picker guidance.
This commit is contained in:
mikecarper committed 2026-10-25 09:07:47 -07:00
1 parent 16399a019d
commit af69918094
7 files changed
+87 -20

No files matched your search

+7 -3
View File
@@ -2828,10 +2828,14 @@ void MyMesh::begin(FILESYSTEM *fs) {
#endif
#if defined(WITH_WEBCONFIG) && !defined(WEBCONFIG_NO_AUTO_AP)
bool start_webui = WebConfigServer::loadEnabled(false);
bool start_webui = false;
#ifdef WITH_MQTT_BRIDGE
// First-boot MQTT setup is a default, never an override of saved WebUI off.
start_webui = _prefs.bridge_enabled
&& !WebConfigServer::hasConfiguredWiFi(_cli.getObserverPrefs());
#endif
start_webui = WebConfigServer::loadEnabled(start_webui);
#ifdef WITH_MQTT_BRIDGE
start_webui = start_webui || (_prefs.bridge_enabled
&& !WebConfigServer::hasConfiguredWiFi(_cli.getObserverPrefs()));
if (start_webui && !WebConfigServer::hasConfiguredWiFi(_cli.getObserverPrefs())) {
#if defined(WITH_ESPNOW_BRIDGE)
if (espnow_bridge.isRunning()) espnow_bridge.end();