52 Commits
Author SHA1 Message Date
shade 26b724c0f0 feat: manual Gitea build workflow, release publishing, README and docs update
- добавлен ручной workflow Gitea Actions (.gitea/workflows/build-mqtt-firmwares.yml):
  сборка MQTT-прошивок на сервере и публикация релиза
- добавлен posadmesh-tools/publish-gitea-release.sh для выгрузки собранных файлов
  в релиз Gitea (идемпотентно, фильтр по треку)
- README: происхождение проекта переписано (форк EastMesh, доработка энтузиастов
  из Сергиева Посада, ориентация на meshcoretel.ru), добавлены раздел
  «Отличия от upstream MeshCore» и журнал «Изменения в проекте»
- убраны упоминания Австралии, ссылки на eastmesh.au и региональные материалы;
  руководство по прошивке переведено на файлы релизов и esptool.py
- posadmesh-build.sh: вывод PlatformIO очищается от \r — на Windows групповые
  команды сборки не находили ни одной цели; companion-команды удалены,
  добавлены build-mqtt-firmwares и list-mqtt
- release-notes.yml: треки repeater-mqtt*, запись 2026.10.0 дополнена удалением
  companion и исправлением сборки, companion-wifi помечен как снятый с выпуска
- AGENTS.md: правило дописывать изменения в README
- .gitignore: .pio-home
2026-10-11 17:20:05 +03:00
shade c86ae584ab refactor: rebrand to PosadMesh, translate docs to Russian, drop legacy brokers
Build and deploy Docs site to GitHub Pages / github-pages (push) Canceled after 0s
PR Build Check / build (Heltec_v3_companion_radio_ble) (push) Canceled after 0s
PR Build Check / build (Heltec_v3_repeater) (push) Canceled after 0s
PR Build Check / build (Heltec_v3_room_server) (push) Canceled after 0s
PR Build Check / build (LilyGo_Tlora_C6_repeater_) (push) Canceled after 0s
PR Build Check / build (PicoW_repeater) (push) Canceled after 0s
PR Build Check / build (RAK_4631_companion_radio_ble) (push) Canceled after 0s
PR Build Check / build (RAK_4631_companion_radio_ethernet) (push) Canceled after 0s
PR Build Check / build (RAK_4631_repeater) (push) Canceled after 0s
PR Build Check / build (RAK_4631_repeater_ethernet) (push) Canceled after 0s
PR Build Check / build (RAK_4631_room_server) (push) Canceled after 0s
PR Build Check / build (RAK_4631_room_server_ethernet) (push) Canceled after 0s
PR Build Check / build (Tbeam_SX1276_repeater) (push) Canceled after 0s
PR Build Check / build (wio-e5-mini_repeater) (push) Canceled after 0s
PR Build Check / build (wio_wm1110_repeater) (push) Canceled after 0s
Run Unit Tests / test (push) Canceled after 0s
2026-10-07 19:04:39 +03:00
Jared Dohrman 7021f8c8ed docs: update release notes and formatting 2026-08-30 07:17:02 +00:00
Jared DohrmanandClaude Fable 5 866498299e fix(web): stop HTTPS panel heap fragmentation, add self-heal and heap counters
Both Clyde North observers stopped answering over WiFi after days of
uptime while LoRa and MQTT kept working. `memory` showed heap_min ~1KB
and a largest internal block of 19KB: the HTTPS listener was alive but
no mbedTLS handshake (~40KB contiguous) could be allocated.

The trigger was the Aug 9 lru_purge change: with a 2-socket pool, every
browser page-load burst evicted a live session and forced a fresh TLS
handshake, and the repeated 40KB alloc/free cycles fragmented internal
RAM. Before that change the pool simply jammed, so nothing churned.

- Send `Connection: close` and trigger a session close on one-shot
  responses (pages, favicon, redirect, login, 401s) so page-load bursts
  release their sockets immediately. The authenticated /api/* polling
  connection keeps keep-alive so it does not pay a handshake per poll.
- Gate WebPanelServer::start() on internal heap headroom (56KB free /
  32KB largest), retrying every 15s instead of every loop tick.
- Self-heal: when the panel is idle and the largest internal block drops
  below 24KB, stop and re-create the server to return its pools.
- Count the MQTT teardown path that deliberately abandons a client on a
  heap-integrity failure.
- Expose the above as `heals:`/`deferred:` in `get web.status` and
  `leaked:` in `get mqtt.status`.
- Fix the stats page Channel/Gateway cells showing `--`: the /api/stats
  summary JSON never carried channel, gateway health, or the watchdog
  count (only the `get wifi.status` string did).
- Add eastmesh-tools/web-heap-check.sh to read heap/service health over
  the API and optionally stress the panel with browser-style bursts.
- Release notes 2026.8.3 for both observer tracks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 10:53:53 +00:00
Jared DohrmanandClaude Fable 5 4445fb9f4d docs(release): add 1.17.1 and 2026.8.2 notes across release tracks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 08:50:47 +10:00
Jared DohrmanandClaude Fable 5 f94229879f docs: document companion app roaming over the recovery AP
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 18:41:54 +10:00
Jared DohrmanandClaude Fable 5 5054b02c62 docs(release): add 2026.8.1 notes for observer display bring-up fix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 18:09:16 +10:00
Jared DohrmanandClaude Fable 5 7639e92287 fix(web): evict stale keep-alive connections so the panel stays reachable
With max_open_sockets=2 and no LRU purge, clients that vanish without
closing (lid shut, out of range) permanently occupy the pool on both the
HTTPS panel and the port-80 redirect listener; after enough uptime every
new connect is reset (Firefox PR_CONNECT_RESET_ERROR) until reboot.
Enable lru_purge_enable on both servers so a new connection evicts the
least-recently-used one instead of being refused.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 17:09:21 +10:00
Jared DohrmanandClaude Fable 5 0be8f8838a docs(release): add recovery AP notes to companion-wifi 1.17.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:59:54 +10:00
Jared DohrmanandClaude Fable 5 c6698c5bad docs(release): add v1.17.0 and 2026.8.0 notes across release tracks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:34:17 +10:00
Jared DohrmanandClaude Fable 5 e5cbd082c9 docs(release): add 2026.7.0 notes for observer-eastmesh tracks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:16:35 +10:00
Jared DohrmanandClaude Opus 4.8 7fab384e4c docs: remove public references to the MQTT bridge track
De-emphasize the observer-eastmesh-bridge-mqtt feature in public-facing
docs (the community prefers not to surface another MQTT-backed mesh):

- eastmesh-docs: drop the track from index/releases/boards track lists,
  the custom-cli "MQTT Bridge Settings" section, and the web-panel peer
  broker fields; keep only a vague mention in local-builds.md.
- release-notes.yml: remove the track from the list and drop the
  2026.7.0 observer-eastmesh-bridge-mqtt entry.
- README: remove the "bidirectional MQTT mesh bridge" bullet and add the
  missing repeater-bridge-espnow track to "What This Repo Adds".

The feature, build envs, and CI are unchanged; this is visibility only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:33:42 +10:00
Jared DohrmanandClaude Opus 4.8 7176f62dae feat(mqtt): add packet counters to status; complete and reorganize MQTT bridge variants
MQTT status payload:
- Add packets_sent and packets_received (cumulative radio TX/RX totals)
  to the status `stats` object, aligning with the Waev/MeshMapper schema.

Variants (variants/eastmesh_mqtt -> variants/eastmesh):
- Rename the variant folder to variants/eastmesh.
- Add the remaining *_repeater_observer_mqtt_bridge envs (2 -> 36), one
  per observer board.
- Regroup envs by board (observer -> espnow -> mqtt_bridge) and add
  per-vendor section banners.

Docs & release notes:
- Update folder path references in README, AGENTS, and boards docs.
- Add observer-eastmesh and observer-eastmesh-bridge-espnow 2026.6.6
  release notes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:09:31 +10:00
Jared DohrmanandClaude Opus 4.8 d6fcabcb4c fix(mqtt-bridge): resolve release-notes conflict and clean up review nits
- Resolve leftover merge conflict markers in release-notes.yml from PR #73,
  keeping both the observer-eastmesh-bridge-espnow 2026.6.5 and the new
  observer-eastmesh-bridge-mqtt 2026.7.0 entries in track order
- Normalize the bridge-mqtt release entry `area:` values to the file's
  conventions (bridge -> mqtt, boards -> board)
- Remove dead bridge_peer_port > 65535 check in loadPrefsInt (uint16_t can
  never exceed 65535; the 0 -> 1883 default is handled at use)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 12:45:28 +10:00
prabathbr b2365c4ac0 Merge branch 'main' of https://github.com/xJARiD/MeshCore-EastMesh
* 'main' of https://github.com/xJARiD/MeshCore-EastMesh:
  docs: updated release notes for waev
  feat(mqtt): add Waev broker

# Conflicts:
#	release-notes.yml
2026-06-26 12:21:21 +10:00
Jared Dohrman a7a68c16cb docs: updated release notes for waev 2026-06-26 10:58:10 +10:00
prabathbr e706d9044c test with single radio - mqtt success at broker 2026-06-24 23:04:42 +10:00
Jared Dohrman dac0923899 chore: update release-notes 2026-06-23 09:25:52 +10:00
Jared Dohrman 9bce46c298 feat: add custom MQTT WSS transport 2026-06-09 19:09:33 +10:00
Jared Dohrman ec88d300c1 fix: stabilise observer wifi ota and s3 telemetry 2026-06-07 13:54:09 +10:00
Jared Dohrman cbfe1cec66 fix: harden observer boot and T-Beam S3 telemetry 2026-06-07 12:32:42 +10:00
Jared Dohrman 7232afc115 feat: update release notes and web panel controls 2026-06-07 08:35:09 +10:00
Jared Dohrman 8d05f0e586 docs: update release-notes 2026-06-03 12:03:42 +10:00
Jared Dohrman b69d10208d chore: standardise EastMesh observer release naming 2026-05-23 20:40:44 +10:00
Jared Dohrman 52813b539f chore: rename EastMesh observer release tracks 2026-05-23 20:26:10 +10:00
Jared Dohrman b52a57148c docs: add v1.4.0 release notes 2026-05-05 20:54:02 +10:00
Jared Dohrman fb19c04304 fix: tighten repeater CLI getters and build metadata 2026-05-01 08:38:38 +10:00
Jared Dohrman 27c86b8e5a fix: publish offline status and reconnect when mqtt.iata changes 2026-04-30 16:56:23 +10:00
Jared Dohrman 14d517d29c fix: publish offline status on clean mqtt disconnect 2026-04-30 16:50:31 +10:00
Jared Dohrman 6b43aebb9d docs: update repeater mqtt v1.3.14 notes 2026-04-30 15:02:36 +10:00
Jared Dohrman 4cefd24721 docs: update repeater-mqtt-eastmesh-v1.3.14 release notes 2026-04-30 11:16:01 +10:00
Jared Dohrman f886bb3244 fix: hide inactive GPS stats 2026-04-28 20:07:49 +10:00
Jared Dohrman 68772d6a89 docs: add repeater-mqtt-eastmesh-v1.3.13 release notes 2026-04-28 10:34:26 +10:00
Jared Dohrman 21468ea477 docs: add repeater-mqtt-eastmesh-v1.3.12 release notes 2026-04-27 12:32:20 +10:00
Jared Dohrman e31c19a848 update docs 2026-04-23 09:49:51 +10:00
Jared Dohrman d75e9b140c docs: add repeater-mqtt-eastmesh-v1.3.11 release notes 2026-04-23 09:37: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 274cb8b8c2 fix: reduce repeater battery polling 2026-04-22 08:50:07 +10:00
Jared Dohrman 0ad50e5bd0 repeater-mqtt-eastmesh-v1.3.8 2026-04-21 18:07:04 +10:00
Jared Dohrman 616d1c8213 docs: add repeater-mqtt-eastmesh-v1.3.8 release notes 2026-04-21 16:12:11 +10:00
Jared Dohrman bf57f342b3 fix: require configured mqtt iata before broker connect 2026-04-20 22:30:06 +10:00
Jared Dohrman b16d06f865 docs: add repeater-mqtt-eastmesh-v1.3.6 release notes 2026-04-20 09:04:22 +10:00
Jared Dohrman ec4b57aabf docs: add v1.15.0 releases 2026-04-19 12:24:38 +10:00
Jared Dohrman 46475859fe docs: add repeater-mqtt-eastmesh-v1.3.4 release notes 2026-04-18 14:52:44 +10:00
Jared Dohrman d4a3ec33f4 docs: add repeater-mqtt-eastmesh-v1.3.3 release notes 2026-04-17 18:07:24 +10:00
Jared Dohrman 006577bc00 docs: add repeater-mqtt-eastmesh-v1.3.3 release notes 2026-04-17 17:42:08 +10:00
Jared Dohrman 769414453e docs: add repeater-mqtt-eastmesh-v1.3.2 release notes 2026-04-17 12:23:00 +10:00
Jared Dohrman 47e2f2a67d docs(release): add repeater-mqtt-eastmesh-v1.3.1 release notes 2026-04-16 19:31:47 +10:00