Ben Meadors
a1acad6dc4
Add support for Wi-Fi HaLow on Seeed XIAO ESP32-S3
2026-05-16 09:48:17 -05:00
Ben Meadors
2a91d186eb
Add max_session_seconds to LockdownAuth for session management
2026-05-15 15:14:29 -05:00
Jord
4827498188
Clamp direct position packets to channel precision ( fixes #8640 ) ( #10383 )
...
* Fix position precision for direct sends
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Clarify zero position precision logging
* Use const channel reference for position precision
* Use C linkage for position precision test entrypoints
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-14 20:51:44 -05:00
Ben Meadors
3a0c08b695
Merge pull request #10474 from meshtastic/2.8
...
Develop is 2.8 WIP now
2026-05-13 19:36:15 -05:00
Ben Meadors
7bdff8ff70
Bump protos
2026-05-13 14:33:15 -05:00
Ben Meadors
35b0590408
Develop is 2.8 WIP now
2026-05-13 13:50:17 -05:00
Ben Meadors
cbddf07bc8
Merge pull request #10472 from meshtastic/remove-arial
2026-05-13 12:01:02 -05:00
Jonathan Bennett
871194517d
Ble banner ( #8902 )
...
* Drop unneeded Sizeof() instances
* Use SimpleBanner for BLE pin
* Support for different font sizes on notification banner
* Fix NRF52 BLE cppcheck shadow warning
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/de12b52c-49d5-452a-b3fb-344724649270
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com >
Co-authored-by: Jason P <applewiz@mac.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-05-13 11:02:19 -05:00
Ben Meadors
5a1d2b9ef4
Refine nRF52 flash optimization comment for FONT_LARGE_LOCAL definition
2026-05-13 10:52:05 -05:00
Ben Meadors
9cd3a86938
Cleanup
2026-05-13 10:43:16 -05:00
Ben Meadors
748668b8e9
Remove ARIAL24 on NRF52
2026-05-13 10:13:53 -05:00
Ben Meadors
778d1ad90f
Merge remote-tracking branch 'origin/master' into develop
2026-05-13 09:40:16 -05:00
Ben Meadors
1ae4a538f5
Trunk
2026-05-13 09:27:05 -05:00
Andros Fenollosa
c756bbe2c1
Fix WiFi TCP/HTTP services not starting without USB serial connected ( #10460 )
...
Move WiFi.onEvent(WiFiEvent) registration before createSSLCert() to
prevent a race where the ESP32 auto-reconnects during cert generation
and fires GOT_IP before the handler is attached, causing
onNetworkConnected() to never run and the TCP/HTTP API services to
never initialize when booting without USB serial.
Also call onNetworkConnected() from reconnectWiFi() on all platforms
(not just RP2040) as a safety net; it is already guarded by
APStartupComplete so it only runs once.
2026-05-13 09:26:44 -05:00
Austin
4c3ba612bb
VSCode: Prepare for pioarduino transition ( #10471 )
...
Start reccomending the pioarduino VS Code extension instead of the PlatformIO extension.
pioarduino-based builds cannot complete correctly using the platformio extension. Normal platformio builds (nrf52, stm32) are unaffected//still work correctly.
Devs may need to delete their ~.platformio and .pio directories once after install in order to build properly.
2026-05-13 09:25:11 -05:00
Ben Meadors
75b7a7df4f
Missed one
2026-05-13 08:50:15 -05:00
Ben Meadors
59025e4820
Add initial support for Station G3 variant ( #10457 )
...
* Add initial support for Station G3 variant
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-13 08:07:24 -05:00
Ben Meadors
8110887be2
Turns out it's already excluded
2026-05-13 07:57:54 -05:00
Ben Meadors
5f734dabf9
Trunk
2026-05-13 06:44:51 -05:00
Andros Fenollosa
039ad42758
Fix WiFi TCP/HTTP services not starting without USB serial connected ( #10460 )
...
Move WiFi.onEvent(WiFiEvent) registration before createSSLCert() to
prevent a race where the ESP32 auto-reconnects during cert generation
and fires GOT_IP before the handler is attached, causing
onNetworkConnected() to never run and the TCP/HTTP API services to
never initialize when booting without USB serial.
Also call onNetworkConnected() from reconnectWiFi() on all platforms
(not just RP2040) as a safety net; it is already guarded by
APStartupComplete so it only runs once.
2026-05-13 06:43:36 -05:00
Ben Meadors
593909c26b
Radiolib excludes
2026-05-13 06:42:49 -05:00
renovate[bot]
0a7b3c723e
Update NeoPixel to v1.15.5 ( #10466 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-13 10:57:48 +02:00
Ben Meadors
29a61dc75c
Fix type declaration for ambientLightingThread and correct uint32_t usage in PacketHistory
2026-05-12 21:45:16 -05:00
Ben Meadors
eead467ce6
Added NodeDB fixtures and refactored to use std maps for better memory efficiency ( #10464 )
...
* Added NodeDB fixtures and refactored to use std maps for better efficiency
* Defer NodeDB save during xmodem transfer to prevent mid-transfer fsFormat
2026-05-12 17:23:29 -05:00
Ben Meadors
f3ae02c425
Cleanup comments
2026-05-12 16:32:00 -05:00
Ben Meadors
d9cb74e4dd
XModemAdapter: ensure file truncation before receiving and add isBusy() method to prevent concurrent writes
2026-05-12 15:38:56 -05:00
Dirk Mueller
7ff6641f97
Fix missing potential null termination in xmodem filename handling ( #10308 )
...
* Fix missing potential null termination in xmodem filename handling
The packet size max is 128 bytes, and the filename is 128 bytes, so
potentially there is no NUL at the end. use strlcpy() as that takes
care of null termination even if buffer size is exceeded.
* Protect against theoretical buffer overflows in BLE logging
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-05-12 06:26:13 -05:00
github-actions[bot]
cd5d608e8d
Upgrade trunk ( #10461 )
...
Co-authored-by: vidplace7 <1779290+vidplace7@users.noreply.github.com >
2026-05-12 06:07:09 -05:00
Ben Meadors
f7548e7c25
Remove gradient sync nonce and simplify replay handling ( #10459 )
...
* Remove gradient sync nonce and simplify replay handling
* Fix ONLY_CONFIG replay gating and stale gradient-sync comments
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/cfa93978-e2e0-4dc2-ba5f-b82b5b43cef8
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Add transport mechanism to replay packets for client filtering
* Comments
* Update protobuf definitions to include precision_bits in PositionLite
* Propagate position precision_bits and remove verbose NodeInfo sync log
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/41572cbc-408e-499d-b59e-00f330b5789f
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-05-11 21:42:07 -05:00
HarukiToreda
b960121464
BaseUI: remove legacy single-message runtime path and keep multimessage flow ( #10450 )
...
* cleanup
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-11 20:53:41 -05:00
Ben Meadors
b074645586
Change node pointer to const in JsonSerialize function
2026-05-11 17:16:32 -05:00
Ben Meadors
811dd427dd
Update protobufs
2026-05-11 16:36:35 -05:00
Ben Meadors
7f5184281d
Make power status logging less chatty and track battery presence transitions ( #10453 )
2026-05-11 16:09:33 -05:00
Jonathan Bennett
1c06b702dc
Merge remote-tracking branch 'origin/master' into develop
2026-05-11 15:07:22 -05:00
github-actions[bot]
59b4993861
Update protobufs ( #10456 )
...
Co-authored-by: jp-bennett <5630967+jp-bennett@users.noreply.github.com >
2026-05-11 15:06:37 -05:00
Jonathan Bennett
4446b0f1a2
Add variantDefaultConfig and set eth_enabled to default true ( #10454 )
2026-05-11 14:51:21 -05:00
Thomas Göttgens
64fd61706d
ThinkNode M7 ( #8077 )
...
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* rename variant and add guard macros
* older G3 operational. M7 next.
* Split out G3 and M7 to different variants. Completely new PCB design. The G3 stays on 'PRIVATE_HW'
* Define button behaviour and use all of the device flash
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: caveman99 <25002+caveman99@users.noreply.github.com >
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-05-11 11:46:13 -05:00
Jonathan Bennett
da61a0db7d
Refactor mutex handling in PhoneAPI.cpp
...
Replace LockGuard with explicit lock and unlock calls to avoid deadlock
2026-05-11 11:45:14 -05:00
Thomas Göttgens
8e99ffbe7e
ThinkNode M7 ( #8077 )
...
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* ThinkNode G3, ETH support WIP
* rename variant and add guard macros
* older G3 operational. M7 next.
* Split out G3 and M7 to different variants. Completely new PCB design. The G3 stays on 'PRIVATE_HW'
* Define button behaviour and use all of the device flash
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: caveman99 <25002+caveman99@users.noreply.github.com >
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-05-11 11:33:13 -05:00
Ben Meadors
8877608858
Protos
2026-05-11 09:32:55 -05:00
Ben Meadors
a23f923e64
Update subproject commit reference in protobufs
2026-05-11 08:09:39 -05:00
Ben Meadors
0522039830
Merge branch 'master' into develop
2026-05-11 08:09:10 -05:00
Ben Meadors
dfcb685963
Update protos
2026-05-11 08:08:15 -05:00
Ben Meadors
9bc25b34fd
Add guidance to use Throttle for time-based rate limiting in agent instructions
2026-05-11 07:42:04 -05:00
github-actions[bot]
33319aa4e2
Upgrade trunk ( #10451 )
...
Co-authored-by: vidplace7 <1779290+vidplace7@users.noreply.github.com >
2026-05-11 07:30:03 -05:00
Ben Meadors
d79e62fd2a
Chatty LLMs should pipe down
2026-05-10 10:20:10 -05:00
Ben Meadors
f6a954b97e
Implement rotating JSONL recorder for persistent logging ( #10428 )
...
* Implement rotating JSONL recorder for persistent logging
* Fixes
* Update documentation and clean up imports in command files
* Address remaining recorder review feedback
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/2541773c-869a-463f-9fae-8505272c06ff
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* recorder: fix lock re-entry deadlock on start() and force_rotate_all()
The previous "Fixes" commit added `_files_snapshot()` which acquires
`self._lock` so handlers don't race with `stop()` clearing `_files`.
But two callers were already holding `self._lock` when they invoked
methods that go through the snapshot:
- `start()` writes the `recorder_start` event from inside its `with
self._lock:` block. `_write_event` -> `_files_snapshot` re-acquires
the same non-reentrant `threading.Lock`, freezing process startup.
- `force_rotate_all()` calls `self.status()` (which also acquires
`self._lock`) while still holding the lock from rotating each file.
Both fixes release the lock before the call. The recorder_start marker
still lands in events.jsonl because the started/started_at flags are
already set when we write it.
Verified end-to-end against the standalone /tmp/verify_pr_fixes.py
harness — all 9 PR review-comment fixes pass, including pause/resume
event ordering and concurrent start/stop without KeyError.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
* Fix markdown linting issues in leakhunt.md and repro.md
* Handle recorder startup and query review fixes
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Tighten recorder follow-up tests
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Stabilize recorder startup tests
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Remove brittle recorder startup test
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Polish recorder follow-up errors
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Refine recorder startup and regex errors
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Clean up recorder follow-up nits
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/78540a9f-fe62-4350-b252-0ae5621f0b8a
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Trunk
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 09:22:40 -05:00
Ben Meadors
94bb21ecc7
2.8: NodeDB shrink, decoupling, and restructuring ( #10413 )
...
* 2.8: NodeDB refactor to decouple satellite entries and decrease size
* Regen
* Refactor node mute handling to use dedicated functions for clarity and consistency
* Develop ref
* Fix NodeDB review follow-ups
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/6b1d6cf6-ed6b-43b6-95cb-8e141757664e
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Address review validation nits
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/6b1d6cf6-ed6b-43b6-95cb-8e141757664e
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Trunk
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Extract legacy NodeDatabase migration
* Fix remaining NodeDB review issues
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/c76b9a5a-7244-4fbc-9ef0-98091d8caaea
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Fixes
* Trunk
* Fix latest review compile follow-ups
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/5198da01-ec4c-4c16-8a09-68b8e6d5d410
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Fix cppcheck style warnings
Agent-Logs-Url: https://github.com/meshtastic/firmware/sessions/e60287ba-4ece-46e0-83d8-a6d89664c0bb
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
* Change pointer type for mesh node in set_favorite function
* Change pointer types for mesh node references to const in multiple applets
* Add NodeDB layout v25 documentation and migration guidelines
* Remove tests for uninitialized PacketHistory state due to undefined behavior
* Fix code block formatting in copilot instructions
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-09 15:12:10 -05:00
Sylwester
1bcabb893b
mesh: bound the user-facing notification sprintf calls ( #10437 )
...
Two sites built ClientNotification messages with sprintf into a
fixed-size proto buffer with no length cap. The current format strings
fit comfortably, but a future caller editing either format string
without rechecking the buffer size would get a silent stack/heap
overrun. Switch to snprintf with sizeof so the bound is enforced at
the call site.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-05-09 13:32:42 -05:00
BJK
10a7f1042b
Fix screen geometry update for SH1107 display ( #10444 )
...
Added conditional block to update screen geometry for SH1107 128x128.
2026-05-09 13:20:50 -05:00