Commit Graph
5469 Commits
Author SHA1 Message Date
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 2b3b50761b Regenerate WebConfig assets for DNS diagnostics 2026-10-06 13:12:08 -07:00
mikecarper e4c3ab1ca5 Run DNS restoration and diagnostics regressions in CI 2026-10-06 13:11:15 -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 b84539718e Merge observer DNS diagnostics and complete resolver restoration 2026-10-06 12:58:28 -07:00
mikecarper d0335c1346 Merge IoT power updates while retaining configured role defaults
Keep the current runtime RXPS preference layout, configurable role defaults, board FEM policy, and persisted radio overrides. Power saving and Companion Balanced RXPS already match the incoming policy; the retired fixed Companion helper has been replaced by runtime controls.
2026-10-06 12:57:30 -07:00
mikecarper c01d6ce581 Merge upstream dev while preserving local GPS and USB recovery 2026-10-06 12:56:19 -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 a4d991cd59 Record ESP32 power and AP regression qualification 2026-10-06 11:59:32 -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
Kevin Le 78e134b2ba Only kept enabled, level and preamble for RXPS defaults 2026-10-06 20:33:33 +07:00
mikecarper 101adf0d9e Record user-confirmed V4 button screen wake 2026-10-06 00:12:21 -07:00
mikecarper 0b03acf068 Record updated V4 build and native console qualification 2026-10-06 00:06:30 -07:00
mikecarper acc7c8e645 Wake Heltec V4 buttons from power-saving sleep 2026-10-05 23:51:26 -07:00
mikecarper 1f07f92ec0 Record qualified G2 OTA transitions and power-saving idle checks 2026-10-05 22:30:30 -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 7f5cde92a7 Document raw-UART console limits during power saving 2026-10-05 19:47:00 -07:00
mikecarper 25aebceb29 Verify asynchronous MQTT controls in wireless regressions 2026-10-05 19:33:49 -07:00