Janez T
0e4f727e26
Add swarm mode transport doc
2026-03-07 14:13:54 +01:00
Janez T
7214c73aea
Remove gates and sync pubspec
2026-03-07 11:33:58 +01:00
Janez T
2bc0e21cf0
Remove 100ms BLE command delay
2026-03-07 09:23:29 +01:00
Janez T
f6c5a3a4ca
Add transmission timing details
2026-03-07 09:05:55 +01:00
Janez T
b0eded3780
Fix message bubble layout
2026-03-07 08:28:22 +01:00
Janez T
1856dce27a
Update iOS project version
2026-03-06 21:05:02 +01:00
Janez T
0e1a56d765
Log contact data without revealing
2026-03-06 20:47:02 +01:00
Janez T
2482f94cd0
Push meshcore_client and refresh pub
2026-03-05 20:58:29 +01:00
Janez T
0cb1d49804
Fix null check crash in TabBar
2026-03-05 11:41:15 +01:00
Janez T
234edf5bb0
Add message clear option
2026-03-05 11:04:41 +01:00
Janez T
c83eaa4d98
Limit direct payload hops
2026-03-05 08:30:06 +01:00
Janez T
5beac70644
Add auto contact toggle
2026-03-05 08:16:48 +01:00
Janez T
13b91e3cc9
Add packet trace storage flow
2026-03-05 07:50:42 +01:00
Janez T
1460bdb51f
fix: remove all auto-retry image fetch, user-initiated only
...
- No automatic IR1 requests; fragments arrive only when user taps load
- Bubble sends IR1 with missing indices only if partial session exists
(partial resume: only missing fragments requested, not the whole image)
- 30s timeout resets the loading spinner so user can tap retry again
- Saves LoRa airtime by never transmitting IR1 without explicit user action
2026-03-04 19:47:01 +01:00
Janez T
537d98e2d4
fix: image transfer 10s idle timeout with partial resume
...
- Replace 1.2s fixed retry with 10s idle debounce timer
- Timer resets on every received fragment (debounce)
- Timer also starts on IE1 envelope receipt (handles pull-only senders)
- IR1 always requests only missing indices (partial resume)
- Attempt counter no longer resets per fragment; bounded to 5 retries
- Max attempts raised to 5 (was 4)
2026-03-04 19:42:18 +01:00
Janez T
a0c4cdeede
Add voice image packet retry
2026-03-01 19:25:19 +01:00
Janez T
0e7ba5572d
Improve image zoom quality
2026-03-01 19:17:09 +01:00
Janez T
474fd02635
fix: retain voice codec settings now
...
ref:
2026-03-01 11:00:30 +01:00
Janez T
f96d8022ac
feat: add Codec2 voice messages over LoRa mesh (iOS/macOS only)
...
Push-to-talk voice messaging using the Codec2 ultra-low-bitrate speech
codec, transmitted as V: prefixed packets over the existing MeshCore
LoRa mesh pipeline.
Voice recording UI (long-press send button or + menu) is gated behind
Platform.isIOS || Platform.isMacOS since the `record` package only
supports microphone capture on those platforms in this build.
Key changes:
- VoiceRecorderService: streams 8kHz mono PCM chunks via `record` package
- VoicePlayerService: decodes Codec2 bytes to WAV and plays via audioplayers
- VoiceCodecService: async Codec2 encode/decode in background isolates
- VoiceProvider: reassembles multi-packet sessions, drives playback
- VoiceMessageBubble: shows packet progress, play/stop controls
- MessagesProvider: detects V: prefix, routes to VoiceProvider
- MessagesTab: PTT long-press gesture + recording indicator (iOS/macOS)
- Message model: isVoice + voiceId fields for session tracking
- Auto-selects codec mode from radio bandwidth (700C/1200/1300 bps)
- codec2_flutter + meshcore_client switched from path to git deps
2026-02-28 19:19:46 +01:00
Janez T
6bd7517180
fix: init tabs advert quick add
...
ref:
2026-02-28 11:29:28 +01:00
Janez T
baf49d27d8
feat: MeshCore SAR - Flutter BLE mesh radio companion app
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 10:11:33 +01:00