velxio/backend
David Montero 0251bd25a0 fix(gateway): stop offering a link a SoftAP sketch can never open
The serial monitor turns any 192.168.4.x it sees into an "Open IoT Gateway"
link, because that is the subnet QEMU's slirp leases to a connected board. The
ESP32's SoftAP default address is the same 192.168.4.1, so a captive-portal
sketch got the same link. It cannot work: an access point never receives a DHCP
lease, so it never reaches 'got_ip', so it never registers the bridge the proxy
looks up. The click landed on a 404 whose text then told the user to make sure
the sketch connected to WiFi, which is precisely what that sketch had chosen not
to do. The user is doing everything right and the product is lying twice.

Gate the link on the status every family already reports: QEMU through
wifi_status_parser, the in-browser JS engines, and the Pico W's cyw43
peripheral all emit 'got_ip'. Without it the address stays plain text.

Measured on a XIAO ESP32S3 Sense, one sketch per mode:
  softAP  192.168.4.1   gateway links 1 -> 0
  station 10.13.37.42   gateway links 1 -> 1   (unchanged)

The 404 body is rewritten to name softAP as the likely cause and point at a
network that exists in the simulator, instead of accusing the sketch. Covered
by a test that fails if the accusatory sentence comes back.
2026-08-27 07:19:20 +02:00
..
app fix(gateway): stop offering a link a SoftAP sketch can never open 2026-08-27 07:19:20 +02:00
board-indexes fix(docker): vendor drazzy.com board index + seed missing indexes at boot 2026-07-17 06:41:44 +02:00
scripts perf(compile): memoize ldgen - 41% of every ESP-IDF build was re-parsing linker fragments 2026-08-20 05:29:56 +02:00
sdk feat(chips): programmable retro CPU chips with external ROM 2026-05-18 23:38:18 -03:00
tests feat(espidf): honor CDCOnBoot menu option in 4-part FQBNs 2026-08-19 16:39:59 +02:00
.env.example chore(oss): drop dead auth/DB dependencies from OSS image 2026-05-14 17:06:27 -03:00
Dockerfile fix(docker): vendor drazzy.com board index + seed missing indexes at boot 2026-07-17 06:41:44 +02:00
debug_qemu.py
…
mcp_server.py
…
mcp_sse_server.py
…
requirements.txt fix(ci): cap mcp below 2.0 — the backend suite has not run since 2026-07-29 2026-08-10 17:14:39 +02:00