Commit graph

47 commits

Author SHA1 Message Date
Wouter Bijen
2cb08775c0 Clarify comment wording: 1 = direct (0 hops)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:40:17 +01:00
Wouter Bijen
c016db86d5 Address PR review: subtract-1 encoding and clamp max_hops
- Change > to >= so stored value 1 means direct/0-hop only (liamcottle)
- Clamp max_hops to 63 on write since getPathHashCount() caps at 63 (robekl)
- Update comments to reflect encoding: 0=no limit, 1=direct only, N=up to N-1 hops

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:37:22 +01:00
Wouter Bijen
00566741f6 Add configurable max hops filter for auto-add contacts
Filter auto-add of new contacts by hop count (issues #1533, #1546).
Setting is configurable from the companion app via extended
CMD_SET/GET_AUTOADD_CONFIG protocol (0 = no limit, 1-63 = max hops).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:41:41 +01:00
taco
df6687034a bootstrap RTC from contact.lastmod and improve slot overwrite logic
slot overwrite logic can now safely use contact.lastmod to find oldest contact for overwrite
2026-01-15 18:01:20 +11:00
taco
741564dd48 refactor: add populateContactFromAdvert() 2026-01-15 18:01:20 +11:00
taco
403ce1db08 contacts: granular autoadd and overwrite-oldest 2026-01-15 18:01:20 +11:00
Scott Powell
3af25495bb * Repeater: new anon request sub-type: ANON_REQ_TYPE_REGIONS (rate limited to max 4 every 3 mins)
* Companion: new CMD_SEND_ANON_REQ command (reply with existing RESP_CODE_SENT frame)
2026-01-03 12:02:15 +11:00
Scott Powell
676c317f78 * refactor: on-demand getSharedSecret() 2025-12-06 19:17:45 +11:00
taco
638f41d143 calculate shared_secret on demand 2025-12-06 16:21:17 +11:00
Scott Powell
d9ff3a4d02 * Mesh: new sendFlood() overload with transport codes.
* BaseChatMesh:  sendFloodScoped(), for overriding with some outbound 'scope' / TransportKey
* companion: new 'send_scope' variable.
2025-11-04 01:21:56 +11:00
Scott Powell
74dea260e5 * proposed change for re-trying reciprocal path transmit 2025-09-08 19:22:59 +10:00
Scott Powell
fcdf342db6 * Companion: experimental CMD_SEND_DISCOVERY_REQ -> PUSH_CODE_DISCOVERY_RESPONSE 2025-07-31 13:04:16 +10:00
Scott Powell
f87e856347 * companion: fix for CMD_IMPORT_PRIVATE_KEY, to re-calc shared secrets 2025-07-30 16:00:47 +10:00
Scott Powell
c26418016b Merge branch 'dev' into double-acks 2025-07-15 17:02:20 +10:00
Scott Powell
df33321bdc * companion: added CMD_SEND_BINARY_REQ (50) 2025-07-14 12:25:34 +10:00
Scott Powell
b1ca3d1eb1 * new PAYLOAD_TYPE_MULTIPART
* experimental double ACK's (at each hop), sent 300ms apart (direct mode only)
2025-06-23 01:14:08 +10:00
Scott Powell
9df3c8c663 * companion: new 'advert_loc_policy' pref. Defaults to ADVERT_LOC_NONE (ie. do Not share location in adverts) 2025-06-22 16:21:04 +10:00
Scott Powell
e6ce3c896d * companion: new CMD_GET_ADVERT_PATH -> RESP_CODE_ADVERT_PATH 2025-06-18 16:02:09 +10:00
Scott Powell
6e0b505a2a * companion: refactor of all filesystem access to new DataStore module 2025-06-06 15:30:35 +10:00
Scott Powell
26f01e0605 * companion: new CMD_SEND_TELEMETRY_REQ, PUSH_CODE_TELEMETRY_RESPONSE 2025-05-03 20:08:44 +10:00
Scott Powell
99774f10ac * new: SensorManager
* BasChatMesh: new onContactRequest(), for PAYLOAD_TYPE_REQ handling.
* companion, repeater and room_server: now with basic 'plumbing' to handle REQ_TYPE_GET_TELEMETRY_DATA (0x03).
* dependency: added CayenneLPP to libdeps
* all target.* modules now with a stub 'sensors' object.
2025-05-03 13:14:03 +10:00
Scott Powell
561d289ea5 Companion: new 'manual_add_contacts' pref. New PUSH_CODE_NEW_ADVERT frames 2025-04-12 21:43:30 +10:00
Scott Powell
fe4fdeb236 * redesigned TRACE packet structure 2025-03-17 17:56:12 +11:00
Scott Powell
9aa2edf9ba Merge branch 'dev' into trace
# Conflicts:
#	examples/companion_radio/main.cpp
#	src/Dispatcher.cpp
2025-03-15 15:12:50 +11:00
Scott Powell
b94fed4e4e * companion: channel names 2025-03-11 17:58:12 +11:00
Scott Powell
8c68dbb6e9 * Companion: new CMD_GET_CHANNEL, CMD_SET_CHANNEL 2025-03-11 14:50:40 +11:00
Scott Powell
e534e1b529 * companion: FIRMWARE_VER_CODE now bumped to 3.
* companion: new RESP_CODE_CONTACT_MSG_RECV_V3, and _CHANNEL_MSG_RECV_V3. (now with packet SNR included)
2025-03-07 14:17:37 +11:00
Scott Powell
b03aac18c0 Merge branch 'dev' into trace
# Conflicts:
#	src/Dispatcher.cpp
#	src/Mesh.cpp
#	src/helpers/BaseChatMesh.cpp
2025-03-07 12:14:26 +11:00
Scott Powell
1a4063bbe8 * companion radio: connection status now supported (Keep_alive pings, etc) 2025-03-02 20:15:13 +11:00
Scott Powell
88959b6b03 * companion radio: support for TXT_TYPE_SIGNED_PLAIN 2025-03-02 13:57:50 +11:00
Scott Powell
1209d54d2e * various changes for CLI support via companion radio 2025-02-27 12:51:00 +11:00
Scott Powell
d880a48b85 * companion radio: new CMD_SEND_LOGIN, CMD_SEND_STATUS_REQ 2025-02-24 14:05:17 +11:00
Scott Powell
0db15db625 * new Packet type: PAYLOAD_TYPE_TRACE 2025-02-17 19:22:31 +11:00
Scott Powell
a2fa4caa3f * companion radio: new CMD_EXPORT_CONTACT, CMD_IMPORT_CONTACT 2025-02-15 15:57:02 +11:00
Scott Powell
65580c76d0 * companion radio: new CMD_SHARE_CONTACT
* room server: push notify loop interval changed to 2 secs
2025-02-15 13:23:19 +11:00
Scott Powell
b8d467fbab * BaseChatMesh: sendLogin(), onContactResponse()
* companion radio: contacts file, new 'sync_since' field
2025-02-14 07:52:43 +11:00
Scott Powell
0eaa11c56f * BaseChatMesh::sendGroupMessage() added
* companion radio, RESP_CODE_CHANNEL_MSG_RECV, CMD_SEND_CHANNEL_TXT_MSG
2025-02-13 10:18:48 +11:00
Scott Powell
eb7fec6f1d * companion radio: new command frames: CMD_SET_ADVERT_LATLON, CMD_REMOVE_CONTACT 2025-02-11 12:02:27 +11:00
Scott Powell
466caebd9a * Terminal Chat: "set ..." commands, save to "node_prefs" file, consistent with the other firmwares 2025-02-03 13:56:57 +11:00
Scott Powell
9af5adb861 * BaseChatMesh::sendMessage(), new est_timeout (OUT) param 2025-01-30 14:03:31 +11:00
Scott Powell
f46263a263 * ContactInfo, added gps_lat, gps_lon
* companion_radio: now also save gps_lat, gps_lon
* BaseChatMesh: now parses gps_lat, gps_lon out of Advertisement
2025-01-29 13:56:39 +11:00
Scott Powell
e53f0d0725 * refactored BaseChatMesh::sendMessage(), added timestamp param 2025-01-29 02:11:46 +11:00
Scott Powell
d9dc76f197 * new helper for ESP32: SerialBLEInterface
* Some refactoring in BaseChatMesh and Terminal Chat
* new companion_radio example
2025-01-28 20:30:15 +11:00
Scott Powell
40c3dfa20b * fixes for various targets (BaseChatMesh not compiling for non-terminal chat targets) 2025-01-26 15:40:32 +11:00
Scott Powell
42af720b02 * fix for RAK terminal chat 2025-01-26 07:00:56 +11:00
Scott Powell
6d5e69ae04 * support for GroupChannels in BaseChatMesh, and terminal chat 2025-01-26 00:46:36 +11:00
Scott Powell
00a9e93754 * simple_secure_chat now with a proper CLI
* new: BaseChatMesh class, for abstract chat client
2025-01-25 22:03:25 +11:00