Commit Graph
1379 Commits
Author SHA1 Message Date
Ian McEwen c575547fae Merge branch 'review/pr-894'
Closes #894
2026-05-31 18:10:59 -07:00
Ian McEwen 0bef1370d7 tests of new BLEError functionality 2026-05-31 18:10:30 -07:00
Ian McEwen f9a1357816 Add a BLEError 'kind' field and branch on it instead of string matching 2026-05-31 18:03:26 -07:00
Ian McEwen 6909d3d21f make test more deterministic for reconnect count testing 2026-05-31 15:10:37 -07:00
Ian McEwen dbf4cabee1 Avoid deadlocking on potentially re-entrant _startConfig call, and don't reconnect when _wantExit 2026-05-31 15:03:58 -07:00
Ian McEwen 435e53eae2 Re-establish the OSError being raised to match former behavior, but still reconnect. TBD if this is quite the right approach. 2026-05-31 14:53:46 -07:00
Ian McEwen 12509bef30 Merge branch 'master' into review/pr-901 2026-05-31 14:30:04 -07:00
Ian McEwen 02485a88fb some pre-merge cleanup 2026-05-31 14:23:34 -07:00
Ian McEwen 4d3553b955 pylint/test fixes 2026-05-31 14:06:08 -07:00
Ian McEwen 95bd3ea7af pylint strikes again 2026-05-31 13:53:47 -07:00
Ian McEwen ce5bbcda68 Fix some leaks/hangs on close: unstarted StreamInterface streams & TCP reader unblock 2026-05-31 13:48:06 -07:00
Ian McEwen c2a01f8294 fix a missing paren in a comment 2026-05-31 13:35:24 -07:00
Ian McEwen 14f53398d7 Merge commit 'refs/pull/857/head' of github.com:meshtastic/python into tmp/merge-918-857 2026-05-31 12:52:02 -07:00
Ian McEwen 4d8091a7e3 Merge commit 'refs/pull/918/head' of github.com:meshtastic/python into tmp/merge-918-857 2026-05-31 12:52:01 -07:00
Ian McEwen 15ce4968db pylint fix 2026-05-31 12:48:18 -07:00
Ian McEwen 9c0b253103 Merge branch 'review/pr-883'
Closes #883
2026-05-31 12:43:49 -07:00
Ian McEwen c7f43b3100 Document the use of --ch-index along with --reply a little 2026-05-31 12:43:38 -07:00
Ian McEwen 8c7eb118fc Merge branch 'review/pr-917'
Closes #917
2026-05-31 12:30:49 -07:00
Ian McEwen badf7279af Update the other factory reset to use integer too 2026-05-31 12:30:34 -07:00
Ian McEwen 13c9f34589 Merge pull request #911 from syn-ack-ai/fix/position-precision-overwrite
Fix position overwrite by lower-precision data
2026-05-31 12:21:14 -07:00
Ian McEwen a7d13eb2c1 the fuzz 2026-05-31 10:17:27 -07:00
Ian McEwen 3916009dbd pylint cleanups 2026-05-31 10:01:39 -07:00
Ian McEwen 280323da8b Add tests of nanopb options injection 2026-05-31 09:52:20 -07:00
Ian McEwen 89d81c9c7a Inject options in nanopb .options files into the protobuf files used for code generation 2026-05-31 09:42:55 -07:00
Ian McEwen fddaad316a protobufs: v2.7.24 2026-05-31 09:00:56 -07:00
nightjoker7 bfe38ac0c7 StreamInterface: prevent socket/reader-thread leak on handshake failure in __init__
If connect() or waitForConfig() raises during __init__ (handshake timeout,
bad stream, config error), the reader thread started by connect() keeps
running and the underlying stream/socket stays open — but the caller never
receives a reference to the half-initialized instance, so they cannot call
close() themselves. The leak compounds on every retry from a caller's
reconnect loop.

Fix: wrap connect() + waitForConfig() in try/except; call self.close() on
any exception before re-raising. Also guard close() against RuntimeError
from joining an unstarted reader thread (happens when close() runs from
a failed __init__ before connect() could spawn it).

Discovered while debugging a real-world Meshtastic firmware crash where
a passive logger's retrying TCPInterface() calls against a node with
250-entry NodeDB produced a reconnect storm — every retry triggered a
full config+NodeDB dump on the node, compounding heap pressure, which
then exposed null-deref bugs in Router::perhapsDecode / MeshService
(firmware side fixed in meshtastic/firmware#10226 and #10229). The
client-side leak is independent of those firmware bugs and worth fixing
on its own.
2026-04-25 15:02:38 -05:00
Ben Meadors c5fc51ea37 Update factory reset to use integer for config reset 2026-04-17 05:03:56 -05:00
Ian McEwen 3cb9ce2a56 protobufs: v2.7.21 2026-04-10 11:40:56 -07:00
Benjamin BabeshkinandClaude Opus 4.6 8a842ed82b Fix local node position overwrite by low-precision echoes
When other nodes relay our position via map reports, they send it at
reduced precision (e.g., 13 bits). _onPositionReceive() was blindly
overwriting our locally-stored high-precision GPS position (32 bits)
with these degraded echoes.

The fix only protects the local node's position — since we have the
GPS internally, any lower-precision update is always an echo from the
mesh, never fresh data. Remote node positions are still updated
normally, as any position they broadcast reflects their current state.

Fixes #910

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 11:18:20 -07:00
Ian McEwen 80c40ef893 yolo away some pylint complaints 2026-03-02 10:22:21 -07:00
Ian McEwen 2494bb4c63 Merge pull request #828 from NekoCWD/nekocwd/hop-limits
FR: Add Hop Limits to send functions
2026-03-02 10:20:34 -07:00
Ian McEwen 1e4822fe87 Merge pull request #898 from skgsergio/feat/esp32-unified-ota
feat: Add ESP32 WiFi Unified OTA update support
2026-03-02 10:19:20 -07:00
Ian McEwen c7ee644ad2 update hopLimit docs to be in correct sections/include types 2026-03-02 10:15:14 -07:00
Ian McEwenandCopilot 9af5f22837 Apply trailing comma suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 10:10:52 -07:00
Ian McEwen 1d3bdf143a Merge pull request #871 from viric/traceroute-0hop
Fix traceroute timeout for case of 0-hops
2026-03-02 10:05:33 -07:00
Ian McEwenandCopilot 7129a9f963 Update meshtastic/mesh_interface.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 10:01:27 -07:00
Ian McEwen d8e438b225 Merge pull request #890 from h3lix1/traffic_module
Add traffic management module to the python libraries
2026-03-02 10:00:12 -07:00
Ian McEwen 6511d06e2f Apply suggestion from @ianmcorvidae 2026-03-02 09:56:44 -07:00
Ian McEwen 94c531e7ee protobufs: v2.7.19 2026-03-02 09:51:43 -07:00
Ian McEwen ad4f3f557e Merge pull request #908 from pdxlocations/fix-label-error
Fix: Update repeated field checks to use is_repeated property
2026-03-02 09:36:44 -07:00
Ian McEwen cd9199bc00 Apply suggestion from @ianmcorvidae 2026-03-02 09:34:36 -07:00
pdxlocationsandIan McEwen 04a23ae882 Update meshtastic/__main__.py
Co-authored-by: Ian McEwen <ianmcorvidae@ianmcorvidae.net>
2026-03-02 08:26:18 -08:00
pdxlocations b003214d1b Fix property fallback 2026-03-01 08:58:42 -08:00
pdxlocations 414a621091 add fallback for older protobuf dependency 2026-03-01 08:44:37 -08:00
pdxlocations a87065a081 fix: update repeated field checks to use is_repeated property 2026-02-28 22:11:11 -08:00
Catalin Patulea 942ce115f3 Fix '--get security' (incorrect AdminMessage.ConfigType value).
requestConfig was assuming that the order of fields in meshtastic.LocalConfig
matches the order of enum values in AdminMessage.ConfigType. This is true for
'device', 'position', etc. but is NOT true for 'security' due to the intervening
'version' field.

Look up LocalConfig fields by name, not index, to prevent this error in the future.

LocalConfig.security was introduced in https://github.com/meshtastic/protobufs/pull/553
2026-02-27 23:27:52 -05:00
Clive Blackledge d5eaecea07 Add traffic management unit tests 2026-02-25 01:47:53 -08:00
Clive Blackledge 545c3ab192 Add traffic management module to the config. 2026-02-25 01:47:53 -08:00
github-actions fee2b6ccbd Update protobufs 2026-02-14 16:48:14 +00:00
Sergio Conde 5721859314 fix: cleanup imports in tests 2026-02-14 15:05:11 +01:00