Stream the live LVGL UI to a phone/desktop browser over the WS companion
server (VNC app) plus a headless REMOTE mode that renders the UI at a
browser-friendly resolution. Non-blocking per-client TX buffering, a
core-0 stream task guarded by a recursive mutex, an on-page Rotate
orientation toggle, and a small 480x288 render upscaled in the browser.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The device broadcast a PUSH_CODE_LOG_RX_DATA frame to every connected companion —
including BLE — for every LoRa packet it heard. BLE's ~16 frames/sec budget got
saturated on a busy mesh, delaying/dropping the frames that matter: chat messages
(#46) and repeater/room-server admin responses (#54, the "Streamsink" disconnects).
Skip the RX log on the BLE transport in writeFrameToAll; USB/TCP/WS still get it for
the on-device Monitor app. The MeshCore app never consumed it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- enableTcp() now calls startTcpServer(false) directly instead of relying
on the main loop — fixes TCP not restarting when wifi_started is false
(BLE-only mode, radio toggled off, or cold re-enable from USB).
- Add touchHasOtaUpdateSlot() guard to the OTA button creation block so
the update affordances stay hidden under Launcher (single app slot),
where ota url would fail silently.
- Fix toggleTcpCb alert race: snapshot isTcpEnabled() before the toggle
so the alert text reflects the transition, not a post-action re-read
that could mismatch during OTA suspension.
- Replace global -w with -Wno-deprecated-declarations -Wno-unused-parameter
in both touch environments to keep third-party lib noise down while
surfacing real regressions in OTA, network, and companion paths.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Take ownership of the 26 files moved out of the core during the fork-minimize:
touch HW drivers (helpers/input/*), touch prefs/SD helpers + companion transport
servers + HTTP-OTA helpers (helpers/esp32/*, helpers/*Ota*.h), LVGL PSRAM
allocator, and touch diag. Three transport headers switched to lib-style
<helpers/...> includes for the new layout. platformio.ini builds them
(helpers/** filters + -I src) and pins MeshCore @ v1.16.0-wada.1 (the slimmed
fork). Both boards build green + size-identical from the published tag.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>