From 83945995a541808a23fcb8013493ffd151f1fa15 Mon Sep 17 00:00:00 2001 From: RaffaelW Date: Fri, 20 Dec 2024 17:44:51 +0100 Subject: [PATCH 1/3] show warning for scanning networks only in access-point mode --- data/networks.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/networks.js b/data/networks.js index ac10ca4..a18e84c 100644 --- a/data/networks.js +++ b/data/networks.js @@ -7,8 +7,8 @@ const refreshIcon = refreshButton.querySelector("img"); let isLoading = false; refreshButton.addEventListener("click", async () => { - // check if interface is connected via WiFi - if (data.connection == 0 || data.connection == 1) { + // check if interface is in WiFi-AccessPoint mode + if (data.connection == 1) { alert( "Beim WLAN-Scan wird die Verbindung hardwarebedingt kurzzeitig" + "unterbrochen.\n" + From ecfa24a2d771c405297c82d975f010994bff6a93 Mon Sep 17 00:00:00 2001 From: RaffaelW Date: Fri, 20 Dec 2024 18:03:35 +0100 Subject: [PATCH 2/3] increased delay between submitting and reloading the config --- data/submit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/submit.js b/data/submit.js index f7e5924..bf40f53 100644 --- a/data/submit.js +++ b/data/submit.js @@ -58,7 +58,7 @@ export async function updateConfig(fetchOptions) { // wait for the esp to restart const delay = new Promise((resolve) => - setTimeout(() => resolve(), 500) + setTimeout(() => resolve(), 5000) ); await delay; From 4d58f864d0fe7641f13cc1d04eb59fc3f998349d Mon Sep 17 00:00:00 2001 From: RaffaelW Date: Fri, 20 Dec 2024 18:27:32 +0100 Subject: [PATCH 3/3] implemented retry mechanism for loading config data after esp restart --- data/submit.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/data/submit.js b/data/submit.js index bf40f53..5607381 100644 --- a/data/submit.js +++ b/data/submit.js @@ -55,18 +55,20 @@ export async function updateConfig(fetchOptions) { if (!res.ok) { throw new Error(`Response status: ${res.status}`); } - - // wait for the esp to restart - const delay = new Promise((resolve) => - setTimeout(() => resolve(), 5000) - ); - await delay; - - const data = await loadData(30 * 1000); - writeDataToInput(data); - hideLoadingScreen(); } catch (error) { console.error(error.message); showError(error.message); } + + for (let i = 0; i < 10; i++) { + try { + const data = await loadData(5000); + writeDataToInput(data); + hideLoadingScreen(); + + break; + } catch (error) { + // retry loading config until successful + } + } }