Janez T
96feb75712
feat: save all pending work
...
ref:
2026-03-06 20:01:56 +01:00
Janez T
7807ad7471
Compare meshcore repos for bugs
2026-03-05 19:54:49 +01:00
Janez T
b8f03079e7
Fix channel data sending bug
2026-03-05 19:39:03 +01:00
Janez T
ab0c531a4b
Add toast for image fetch failures
2026-03-05 13:07:53 +01:00
Janez T
9709511e90
Fix image bubble contact lookup
2026-03-05 11:56:34 +01:00
Janez T
162d5333ce
Hide tab bar when single tab
2026-03-05 11:51:23 +01:00
Janez T
0cb1d49804
Fix null check crash in TabBar
2026-03-05 11:41:15 +01:00
Janez T
2d9cb0ddb9
Add tic tac toe DM game
2026-03-05 09:57:14 +01:00
Janez T
f4e3f2e834
Limit media fetch hops and warn user
2026-03-05 08:39:58 +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
6a52e7cfa1
Add stats pills and RFC009 date
2026-03-05 08:12:48 +01:00
Janez T
b6aa0bcfaa
Bump iOS project version
2026-03-05 07:36:21 +01:00
Janez T
3036ba620c
Add codec2 avif meshcore details
2026-03-04 13:25:54 +01:00
Janez T
a8c4bee976
Fix missing MeshCoreBleService APIs
2026-03-02 10:09:09 +01:00
Janez T
b59144e2d7
Polish README and codec2 vendor
2026-03-02 08:41:10 +01:00
Janez T
e13143aead
Add retry for failed media packets
2026-03-02 08:04:16 +01:00
Janez T
0e7ba5572d
Improve image zoom quality
2026-03-01 19:17:09 +01:00
Janez T
be7fe6c4b0
Fix null-aware marker usage
2026-03-01 14:04:41 +01:00
Janez T
474fd02635
fix: retain voice codec settings now
...
ref:
2026-03-01 11:00:30 +01:00
Janez T
f7d4c024d4
fix: revert iOS AppDelegate to standard Flutter template
...
FlutterImplicitEngineDelegate and FlutterImplicitEngineBridge are not
part of the stable Flutter SDK (3.35.x). Use the standard AppDelegate
pattern with GeneratedPluginRegistrant.register(with: self) instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 19:57:41 +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