Commit graph

7 commits

Author SHA1 Message Date
Macgyver Official
9e0e09b896 Prepare 2.3.1 release
Bump Crosstalk to 2.3.1 and update packaging metadata, artifact names, and runtime requirements. Add a draft GitHub release workflow plus release notes, and refresh container/build configs and docs for the new release process.
2026-08-09 08:40:08 -04:00
Macgyver Official
145afbc245 Add allowlisted Iridium path persistence
Introduce a durable SQLite-backed path cache for the Iridium IMT interface so configured destination paths can be captured and restored after restart without enabling Reticulum transport. Add parsing and validation for `persistent_destinations`, support `persistent_path_max_age` expiry, restore logic in the worker loop, and capture logic after inbound packet injection. Update Raspberry Pi/docs example config with the new settings and safety notes, and add unit tests for cache behavior, destination parsing, and persistent path capture/restore lifecycle.
2026-08-09 07:35:36 -04:00
Macgyver Official
8621fb3db9 Harden satellite send policy and UI signal meter
Tightens satellite messaging behavior by rejecting outbound sends that cannot fit a single opportunistic packet (attachments, oversize payloads, or missing paths), forcing opportunistic delivery, and routing cancel requests through the satellite retry supervisor so proof waits/retries stop cleanly. Also adds a conversation-header satellite signal indicator that polls interface stats and shows 0–5 bar quality, with tests expanded for outbound validation and satellite-specific cancellation handling.
2026-07-30 11:48:10 -04:00
Macgyver Official
15e8bdaccf Add bounded Iridium LXMF retry policy
Introduces a satellite-specific retry policy that limits LXMF send attempts and spaces retries to a long proof window for enabled Iridium interfaces, while leaving non-satellite setups unchanged. It also updates Iridium transmit behavior to cap modem resubmissions per packet, adds backend validation and persistence for new retry/attempt settings, and expands the interface UI to configure and display these controls. New tests cover modem-attempt caps and satellite retry timing/termination behavior.
2026-07-30 09:07:40 -04:00
Macgyver Official
9ed52700d2 Add inbound duplicate packet suppression
Introduces RecentInboundPacketCache, a TTL+capacity-bounded cache that deduplicates exact IMT frame replays using SHA-256 digests. Replaces the boolean mt_message_ready flag with a deque of message IDs to properly track multiple queued MT messages. Duplicate frames are acknowledged but not injected into Reticulum. Adds tests for the new cache and updated receive flow.
2026-07-29 21:30:51 -04:00
Macgyver Official
53345fce8e Document Iridium setup and add receive tests
Adds comprehensive Raspberry Pi guidance for using a USB RockBLOCK 9704 with native Reticulum-over-IMT transport, updates the sample systemd service paths/user defaults for a Pi deployment, and notes Iridium support in the README. Also adds unit coverage for Iridium MT receive handling to ensure valid frames are injected and invalid frames are still acknowledged, and updates modal prompt input styling for improved dark-theme readability.
2026-07-29 12:05:08 -04:00
Macgyver Official
887221f473 Add Iridium IMT interface support
Introduce a native Reticulum `IridiumIMTInterface` for USB RockBLOCK 9704 devices, including IMT packet framing, a durable SQLite outbound queue, modem polling/retry handling, and runtime stats (signal bars and queued packets). Crosstalk now installs bundled external Reticulum interfaces into the active config directory and includes the new interface module in packaged builds.

Expose Iridium IMT configuration in the interface creation/edit UI, add Iridium-specific display/status details in interface cards, and add a new `/api/v1/announce/lxmf` route to announce only the LXMF identity on metered links. Also add example service/config docs and unit tests for codec and durable queue behavior.
2026-07-29 07:42:34 -04:00