Skip to content

Remember the flash Wi-Fi credentials for the Bigme F7 form too - #33

Merged
defl merged 1 commit into
mainfrom
feat/remember-flash-wifi
Jul 29, 2026
Merged

Remember the flash Wi-Fi credentials for the Bigme F7 form too#33
defl merged 1 commit into
mainfrom
feat/remember-flash-wifi

Conversation

@defl

@defl defl commented Jul 29, 2026

Copy link
Copy Markdown
Owner

The ESP32 Flash a screen form already pre-filled its Wi-Fi fields from the last flash; the Bigme F7 bootstrap form did not — so every F7 meant retyping an SSID and password that are the same for every screen on the network.

What changed

  • The credential-persist step that /flash/start ran inline is now a single _remember_flash_wifi() helper, called by both flash routes.
  • /flash/start_f7 persists what it provisioned. The F7 firmware has no fallback network, so it passes None for the second SSID/password and leaves a remembered fallback untouched rather than clearing it. A bootstrap with the Wi-Fi fields blank (flash only, no provisioning) persists nothing.
  • The F7 form pre-fills from the same remembered credentials as the ESP32 form, so either kind of flash fills in the other next time. The F7 console tokenizer can't take whitespace, so the F7 fields only pre-fill when the remembered values are space-free — otherwise the form would fill in a value it then rejects on submit.

Tests

Three new: the F7 route persists and leaves the fallback alone, a blank F7 bootstrap keeps what was remembered, and the ESP32 route still persists all four fields (a regression guard on the extracted helper). Full suite 804 passed / 5 skipped; ruff + pyright clean.

🤖 Generated with Claude Code

…7 too

The ESP32 flash form already pre-filled its Wi-Fi fields from the last
flash, but the Bigme F7 bootstrap form did not — so every F7 meant
retyping an SSID and password that are the same for every screen on the
network.

The persist step that /flash/start ran inline is now a single
_remember_flash_wifi() helper called by both flash routes, and the F7
form pre-fills from the same remembered credentials as the ESP32 one.
The F7 firmware has no fallback network, so its route passes None for
the second SSID/password and leaves a remembered fallback untouched
instead of clearing it. A bootstrap with the Wi-Fi fields left blank
(flash only, no provisioning) persists nothing.

The F7 console tokenizer cannot take whitespace, so the F7 fields only
pre-fill when the remembered values are space-free — otherwise the form
would helpfully fill in a value it then rejects on submit.

Tests: the F7 route persists and leaves the fallback alone, a blank
bootstrap keeps what was remembered, and the ESP32 route still persists
all four fields (a regression guard on the extracted helper).
@defl
defl merged commit 8100c15 into main Jul 29, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant