Commit Graph
688 Commits
Author SHA1 Message Date
mikecarper e3c7f5efa3 Publish 1.17.1.9 USA Cascade picker and Mesh America catalogs
Point both stable providers and runtime controls to the validated v1.17.1.9-halo-keymind-cascade-dev-88c85108 family. Record completed package validation while retaining hardware coverage limitations. Give all documentation source pages their exact hosted links and mount the telemetry form only in the browser. Verify current combined Full and nRF52 Full/Reduced catalog fixtures.
2026-10-07 13:56:17 -07:00
mikecarper 9444c949c5 Preserve enabled RX gain from compact 1.14.1 preferences 2026-10-07 05:22:54 -07:00
mikecarper df4cbb75eb fix(esp32): defer station maintenance while an AP owns WiFi
Starting or restarting MQTT during browser OTA could remove the active AP by forcing STA mode. Defer shared MQTT startup and recovery, and Companion WiFi startup, pending credential reloads and saved-SSID retries, until the live SDK AP releases the driver. Preserve the setup owner's deliberate credential handoff and cooperative stop acknowledgement.

Validated 91 source host tests, including 20 new AP ownership cases and nine reverted controls under ASan/UBSan. Hardware and firmware build qualification remain separate; the Arduino mode snapshot is not atomic.
2026-10-07 02:44:18 -07:00
mikecarper 8c7d7d8839 Keep ESP32 access points compatible with LR transports
Protect standard access points from the shared ESP-IDF LR flag, defer incompatible raw ESP-NOW starts, and select RAM storage before LR writes. Track successful LR owners so setup and OTA access points reject a conflicting running transport before changing WiFi.

Run actual production policies, transport lifecycle methods, and WebConfig teardown branches against a shared-LR SDK model with runtime negative controls; include the regression in unit CI.
2026-10-07 02:07:06 -07:00
mikecarper 526af2a82b Keep WiFi test recovery retrying until the original network returns 2026-10-06 21:11:38 -07:00
mikecarper ba0245832e Test MQTT power saving through canonical credential snapshots 2026-10-06 20:22:18 -07:00
mikecarper dad32f099f Prepare Linux native Web Serial tests after pyserial 2026-10-06 20:20:31 -07:00
mikecarper d68a3c3448 Test shared WiFi reader silence on fresh ESP32 NVS 2026-10-06 19:55:17 -07:00
mikecarper d4b7217a4b Fix MQTT startup after ESP32 WebConfig provisioning 2026-10-06 19:28:10 -07:00
mikecarper 1f9ebbbd80 Commit WiFi OTA only after the complete upload request 2026-10-06 17:14:48 -07:00
mikecarper 2aef03aa8f Preserve multipart OTA MD5 after Update initialization
Arduino-ESP32 2.0.17 UpdateClass::begin() clears _target_md5 before
initializing the digest builder (Updater.cpp:123-126). The installed pinned
framework package is 3.20017.241212+sha.dcc1105b. Setting the multipart
digest before begin therefore skipped the final comparison in end(),
which only compares a nonempty _target_md5 (Updater.cpp:303-308).

Set the supplied MD5 after Update.begin succeeds. If the digest is rejected,
abort the begun update, release upload admission, and return HTTP 400 before
assigning an owner or extending its receive timeout.

Model the pinned begin-clears-digest behavior in the host fixture using
independent digest vectors. Verify malformed and mismatched digests, actual
byte corruption, disconnect cleanup, and later valid admission. Negative
controls restore the original ordering and remove abort/busy cleanup.

Validation: python3 -B test/test_async_web_lifecycle.py -v passed 4/4,
including C++ ASan/UBSan execution and negative controls. No PlatformIO or
hardware validation was run in this worktree.
2026-10-06 14:42:20 -07:00
mikecarper 9db118db4b Terminate DNS diagnostics after partial address conversion 2026-10-06 13:18:38 -07:00
mikecarper 44640c5a56 Preserve valid DNS leases and cover bounded diagnostics 2026-10-06 13:11:15 -07:00
mikecarper 8da6b8518d Test repeater hidden discovery and observer compatibility 2026-10-06 13:02:20 -07:00
mikecarper dcaa5b514a test: extract USB sleep helper for official web console 2026-10-06 12:26:36 -07:00
mikecarper eacd608041 test: verify canonical Full matrix grouping 2026-10-06 12:07:53 -07:00
mikecarper e4b336de23 Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-06 11:59:54 -07:00
mikecarper fcde9d013c Merge remote-tracking branch 'origin/keymindCascade' into keymindCascade 2026-10-06 11:58:31 -07:00
mikecarper cd2107d761 test: qualify Full fixtures for local release staging 2026-10-06 11:57:21 -07:00
mikecarper 381c1ebb47 test: resolve inherited C6L USB console flags 2026-10-06 11:51:39 -07:00
mikecarper c06ddb76ae Preserve requested ESP-NOW across manual setup and master restore 2026-10-06 11:46:10 -07:00
mikecarper d0859f925d Fix ESP32 Full idle radio teardown and compact AP startup 2026-10-06 11:46:10 -07:00
mikecarper f1ffe53e8a Use real Mesh Solar hardware in resume regression fixture 2026-10-06 11:30:49 -07:00
mikecarper 0f0c92f4e2 Honor explicit resume for ordinary firmware builds 2026-10-06 11:29:52 -07:00
mikecarper d5d3e389e7 Keep T-Beam 1W outside programmable charger support 2026-10-06 11:23:03 -07:00
mikecarper bac70385da Scope charger controls to T-Beam and Mesh Solar flash budgets 2026-10-06 11:22:03 -07:00
mikecarper 86dc9ed3da Update GPS request fixture for bounded LPP replies 2026-10-06 11:21:56 -07:00
mikecarper 19cc68f0bc Clarify charger battery ratings and keep host checks portable 2026-10-06 11:05:05 -07:00
mikecarper 7df554364f Cover every T-Beam charger boot read failure 2026-10-06 10:57:33 -07:00
mikecarper 89c1feadeb Merge branch 'codex/charge-voltage-controls' into keymindCascade 2026-10-06 10:56:32 -07:00
mikecarper 613d9d7c43 Add persistent T-Beam charge voltage controls and report Mesh Solar limits 2026-10-06 10:56:32 -07:00
mikecarper c1d0311f95 Simplify firmware selection and canonical build menus 2026-10-06 10:46:11 -07:00
mikecarper 3177ccfafa Merge branch 'keymindCascade' of github.com:mikecarper/MeshCore into keymindCascade 2026-10-06 10:23:28 -07:00
mikecarper f442a10c56 Use C6L native USB and recover diagnostics-only Companion sessions 2026-10-06 10:14:59 -07:00
mikecarper 237ae30ee3 Publish Full-only ESP32 node releases and separate migration tools 2026-10-06 10:14:54 -07:00
mikecarper 8d9062664e Keep telemetry permission fixtures aligned with production prefs 2026-10-06 10:11:41 -07:00
mikecarper 8b1e846b09 Cover WiFi scan fixes across every ESP32 recipe 2026-10-06 09:58:40 -07:00
mikecarper 58f5d7f794 Bound telemetry replies and preserve Sensor send retries 2026-10-06 09:56:00 -07:00
mikecarper 5c1f1477f4 Merge branch 'keymindCascade' of github.com:mikecarper/MeshCore into keymindCascade 2026-10-06 09:43:16 -07:00
mikecarper 484008df19 Fix V4 setup AP startup and pre-AP network scans 2026-10-06 09:40:28 -07:00
mikecarper d36c50cc37 Identify failed resume qualification gates safely 2026-10-06 09:29:48 -07:00
mikecarper 7babdbc518 Fix Room and Sensor requests and add G3 Sensor builds
Bound ACL replies for encrypted routes, authorize Sensor ACL access using the actual Admin role, and preserve request retries after failed queue admission. Validate stored paths for replies, while keeping Room keep-alives direct-only.

Add both G3 RF-slot Sensor profiles, suppress battery alarms on unavailable measurements, and remove the unsupported Sensor WebConfig capability. Add executable regression coverage and CI checks.
2026-10-06 09:20:05 -07:00
mikecarper f9d1e80aee Preserve qualified release artifacts across resumed builds 2026-10-06 09:19:02 -07:00
mikecarper acc7c8e645 Wake Heltec V4 buttons from power-saving sleep 2026-10-05 23:51:26 -07:00
mikecarper 526a3d1aa4 Retry saved WebConfig WiFi when the MQTT worker is absent 2026-10-05 22:10:36 -07:00
mikecarper b81da36a00 Keep admitted WiFi OTA uploads alive through receive gaps 2026-10-05 21:45:06 -07:00
mikecarper 8ad4dbf02c Avoid reset pulses when serial test collectors reopen UART bridges 2026-10-05 20:44:17 -07:00
mikecarper 15c84a1198 Preserve raw UART console input while power saving is enabled 2026-10-05 20:11:10 -07:00
mikecarper 25aebceb29 Verify asynchronous MQTT controls in wireless regressions 2026-10-05 19:33:49 -07:00
mikecarper 96ed0c2c2c Keep bridge admission fixtures aligned with cooperative shutdown 2026-10-05 19:18:03 -07:00