6 Commits

Author SHA1 Message Date
callebtc
cbc59aaf8b feat(voice): add live push-to-talk 2026-07-31 17:40:37 +02:00
callebtc
44560b9792 Add Watch peer profiles and verification 2026-07-29 18:55:56 +02:00
callebtc
363f8c5aae fix: restore background peer availability alerts 2026-07-29 15:00:13 +02:00
callebtc
c7720d3847 Fix private media routing for contact conversations 2026-07-29 00:43:39 +02:00
callebtc
fbb13a33d5 Reject broadcast sends exceeding the receiver fragment cap
Receivers hard-cap reassembly at MAX_FRAGMENTS_PER_ID (256), but the
generic send path fragmented packets with no caller cap (0xFFFF), so
broadcast file transfers above ~120 KB were fully transmitted yet
undeliverable. FragmentingPacketSender now caps fragmentation at
MAX_FRAGMENTS_PER_ID and reports failure via a new
TransferProgressEvent.failed flag, which surfaces as
DeliveryStatus.Failed in the UI and as a file_send error in the debug
test hook instead of an indefinite wait.

Adds FragmentingPacketSenderTest and a file_oversize mesh-lab scenario
asserting sender-side rejection.
2026-07-28 13:17:35 +02:00
callebtc
41494d7c16 Add ADB-driven mesh test-hook framework and two-device mesh lab
Debug-only broadcast receiver (app/src/debug) exposes mesh operations over
ADB: scan, connect, Noise handshake, DMs, broadcast, announce, file
send/receive with SHA-256 verification, BLE toggle, state dumps, and raw
packet injection. tools/release_gate/mesh_lab.py orchestrates scenarios
(dm, broadcast, file, file_private, raw) on two live devices and emits
evidence JSON.
2026-07-28 13:05:49 +02:00