Commit Graph
969 Commits
Author SHA1 Message Date
Valentin V. Bartenev afd5fc2f98 Unify firmware version format with release builds. 2026-04-29 01:07:11 +03:00
Valentin V. Bartenev a99196c3ce Do not tokenize HW model in JSON payload.
Tokenization replaces dots and spaces with underscores
making it look ugly on the MeshCoreTel website.
2026-04-28 03:27:49 +03:00
Valentin V. Bartenev 68e951e204 Work around IDFv4 heap canary corruption on early connect failure.
When the MQTT WebSocket handshake fails before a connection is fully
established (e.g. "Sec-WebSocket-Accept not found"), the IDF v4
transport teardown path writes only 3 of the 4 bytes of the heap block
tail canary (expected 0xbaad5678, actual 0xbaad5600).  The subsequent
esp_mqtt_client_destroy() call frees that block, causing multi_heap_free
to detect the broken canary and abort:

  CORRUPT HEAP: Bad tail at 0x3fcb42a4. Expected 0xbaad5678 got 0xbaad5600
  assert failed: multi_heap_free multi_heap_poisoning.c:259 (head != NULL)

The fix is to check heap integrity with heap_caps_check_integrity_all(false)
between esp_mqtt_client_stop() and esp_mqtt_client_destroy().  If corruption
is detected, scan internal SRAM (0x3FC00000–0x3FD00000) for the truncated
canary pattern and restore it to the correct value before
destroy() runs.

The scan is a no-op when the heap is clean and is compiled out entirely
on IDF v5+, where the underlying bug does not exist.

This fixes crash-on-reconnect observed with ESP32-S3 + IDF v4 + WSS transport.
2026-04-28 03:01:37 +03:00
Valentin V. Bartenev 03c365124b Fix truncation of LWT message.
It's just too small to fit the whole JSON that is put there
in refreshBrokerState().
2026-04-28 02:11:59 +03:00
Valentin V. Bartenev 46b0df7a4b Removed EastMesh MQTT broker support.
It's intended for Eastern Australia repeaters only.  Using original EastMesh
firmware is prefered in this case.
2026-04-28 00:52:26 +03:00
Valentin V. Bartenev f1912ff184 Added support for MeshCoreTel broker. 2026-04-27 03:15:00 +03:00
Jared Dohrman 4b83142b9e fix: start ota is now consistent across command sources 2026-04-23 09:27:48 +10:00
Jared Dohrman 5c50295552 fix: hide battery voltage range text for PMU-backed web stats 2026-04-22 18:06:29 +10:00
Jared Dohrman 46f0496865 feat: add mqtt client version to repeater app and cli 2026-04-22 13:29:03 +10:00
Jared Dohrman b1a32fa56b fix: make repeater stats battery display board-aware 2026-04-22 10:57:04 +10:00
Jared Dohrman bbab7c95d4 refactor: remove legacy battery reporting toggle path 2026-04-22 09:57:51 +10:00
Jared Dohrman 63e9368c84 fix: improve stats archive rotation and satellites trend handling 2026-04-21 19:14:17 +10:00
Jared Dohrman 2ad3b134f2 fix: suspend web panel for OTA 2026-04-21 18:19:33 +10:00
Jared Dohrman 0ad50e5bd0 repeater-mqtt-eastmesh-v1.3.8 2026-04-21 18:07:04 +10:00
Jared Dohrman 746396aee9 fix: sd card shares the radio SPI object 2026-04-21 16:01:19 +10:00
Jared Dohrman eb1a934849 fix: set radio using , separator 2026-04-21 14:13:57 +10:00
Jared Dohrman 4ae00fcf46 fix: http use ctrl_port = 32769 2026-04-21 13:36:49 +10:00
Jared Dohrman ec924e0c0d fix: add SD card support for TBEAM_1W 2026-04-21 13:18:50 +10:00
Jared Dohrman bf57f342b3 fix: require configured mqtt iata before broker connect 2026-04-20 22:30:06 +10:00
Jared Dohrman bcce0071f1 feat: open full web CLI access and add panel redirect flow 2026-04-20 08:59:24 +10:00
Jared Dohrman 2646d7177e Merge upstream/dev into develop 2026-04-19 12:21:01 +10:00
Scott Powell 49b37d5622 * minor bounds fix 2026-04-18 21:32:41 +10:00
liamcottle cfe4b0b9a5 bleuart service stay registered first to prevent gatt cache issues on android when already paired 2026-04-18 14:43:47 +12:00
Jared Dohrman 663f493817 web: cache repeater title across app and stats pages 2026-04-18 11:17:49 +10:00
Liam CottleandGitHub 77d737beb9 Merge pull request #2323 from txkbaldlaw/updated-companion-dfu-from-mt
Add support for Companion BLE OTA updates on nRF devices
2026-04-18 12:17:16 +12:00
Jared Dohrman d00fc588d3 fix(web-panel): apply 4-color thresholds to largest-block memory meters 2026-04-17 21:05:47 +10:00
Jared Dohrman e05c9bc09c Merge upstream/dev into develop 2026-04-17 17:54:47 +10:00
Jared Dohrman 64402c7f5e fix: improve web stats startup and memory indicators 2026-04-17 17:40:32 +10:00
Scott Powell d7a3d41843 Merge branch 'default-scope' into dev 2026-04-17 16:30:19 +10:00
Scott Powell 91f3fa0bdf * CLI: 'region put ...' now defaults to flood allowed 2026-04-17 15:11:10 +10:00
Scott Powell 7cdb056cb3 * CLI: 'region default ...' now auto-creates the region 2026-04-17 15:02:04 +10:00
Jared Dohrman 05fcffc838 fix: start web stats capture from boot on >=4MB PSRAM boards 2026-04-17 14:42:51 +10:00
Scott Powell 77d02e844f * bug fix 2026-04-17 14:38:03 +10:00
Jared Dohrman d412e3e84a fix: improve repeater stats UX and persist ESP32 fallback clock 2026-04-17 12:17:35 +10:00
txkbaldlaw b898e7a04e Add DFU to BLE Stack 2026-04-16 16:04:30 -05:00
Jared Dohrman b2ea2f882d fix(stats): lazy-init web stats and degrade non-PSRAM boards to live-only 2026-04-16 18:09:07 +10:00
Jared Dohrman 49e0993f73 fix(web): default web stats off on non-PSRAM boards 2026-04-16 17:27:07 +10:00
Jared Dohrman ec5406dcc6 fix: tune /stats radio RSSI graph for LoRa signal ranges 2026-04-15 19:05:54 +10:00
Jared Dohrman 656bfdbc67 fix: correct radio RSSI graph scaling on /stats 2026-04-15 18:56:59 +10:00
Jared Dohrman 4000742861 fix: tune /stats noise floor meter thresholds 2026-04-15 18:47:32 +10:00
Jared Dohrman 43b8f5879c fix: correct /stats descending meter ranges 2026-04-15 18:28:49 +10:00
Jared Dohrman 3919a6e36f fix: clean up web panel build filters and tune /stats signal meters 2026-04-15 17:59:23 +10:00
Jared Dohrman f67aaebe7e feat: add SD-backed stats archive and dedicated /stats web console 2026-04-15 17:12:32 +10:00
Scott Powell 576e9dfd45 * bug fix 2026-04-15 15:44:22 +10:00
Scott Powell 4131a455a2 * repeater: refactored 'region' CLI commands -> CommonCLI
* room server: added RegionMap, and new CommonCLI wiring, default_scope handling
* sensor: only minimal RegionMap wiring. Still needs work to handle default-scope
2026-04-15 13:32:49 +10:00
Scott Powell d131e8ae35 * companion: RegionMap now used in Datastore
* companion: new CMD_SET_DEFAULT_FLOOD_SCOPE
* support for regional builds with DEFAULT_REGION_SCOPE
2026-04-13 21:06:53 +10:00
Jared Dohrman de071cbb79 fix: reduce repeater web panel pressure and improve mqtt diagnostics 2026-04-13 09:42:32 +10:00
Scott Powell 6a939ed8f8 * RegionMap: new 'default' region 2026-04-12 22:06:10 +10:00
Liam CottleandGitHub a9de5bfc0c Merge pull request #1612 from weebl2000/default-button-low
Default button polarity to active-LOW across all firmware types
2026-04-12 23:30:28 +12:00
Liam CottleandGitHub 612aa66fc8 Merge pull request #2075 from pcmoore/working-ina3221
RFE: allow for INA3221 macro overrides in platform.io files
2026-04-12 22:49:17 +12:00