diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 88ec83e..d29e884 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -48,8 +48,6 @@ PODS:
- geolocator_apple (1.2.0):
- Flutter
- FlutterMacOS
- - integration_test (0.0.1):
- - Flutter
- ObjectBox (4.4.1)
- objectbox_flutter_libs (0.0.1):
- Flutter
@@ -82,7 +80,6 @@ DEPENDENCIES:
- flutter_compass (from `.symlinks/plugins/flutter_compass/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`)
- - integration_test (from `.symlinks/plugins/integration_test/ios`)
- objectbox_flutter_libs (from `.symlinks/plugins/objectbox_flutter_libs/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
@@ -116,8 +113,6 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
geolocator_apple:
:path: ".symlinks/plugins/geolocator_apple/darwin"
- integration_test:
- :path: ".symlinks/plugins/integration_test/ios"
objectbox_flutter_libs:
:path: ".symlinks/plugins/objectbox_flutter_libs/ios"
package_info_plus:
@@ -144,7 +139,6 @@ SPEC CHECKSUMS:
flutter_compass: b236ab69b61545cce89fd58527f401a7587d5cc1
flutter_local_notifications: 395056b3175ba4f08480a7c5de30cd36d69827e4
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
- integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e
ObjectBox: 7da4aceb5013d041bfafdbc6d744a26918b09757
objectbox_flutter_libs: 09b1dec1b4cd27bf1a5f9bae7ccaa7e43588bf31
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
diff --git a/ios/Runner.app.dSYM.zip b/ios/Runner.app.dSYM.zip
index 8f42367..a14fc2d 100644
Binary files a/ios/Runner.app.dSYM.zip and b/ios/Runner.app.dSYM.zip differ
diff --git a/ios/Runner.ipa b/ios/Runner.ipa
index c55cf5d..a8c7d02 100644
Binary files a/ios/Runner.ipa and b/ios/Runner.ipa differ
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index f74df6c..c7f7c0e 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -489,7 +489,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -511,7 +511,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
@@ -530,7 +530,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
@@ -547,7 +547,7 @@
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
@@ -679,7 +679,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -702,7 +702,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
- CURRENT_PROJECT_VERSION = 32;
+ CURRENT_PROJECT_VERSION = 34;
DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 367c92a..663132c 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -43,7 +43,7 @@
CFBundleSignature
????
CFBundleVersion
- 32
+ 34
LSRequiresIPhoneOS
NSBluetoothAlwaysUsageDescription
diff --git a/ios/fastlane/report.xml b/ios/fastlane/report.xml
index 2a2340a..144ea73 100644
--- a/ios/fastlane/report.xml
+++ b/ios/fastlane/report.xml
@@ -5,24 +5,22 @@
-
+
-
+
-
+
-
-
-
+
diff --git a/lib/screens/messages_tab.dart b/lib/screens/messages_tab.dart
index 9704d96..a349f92 100644
--- a/lib/screens/messages_tab.dart
+++ b/lib/screens/messages_tab.dart
@@ -171,14 +171,41 @@ class _MessagesTabState extends State {
: sarMessage;
if (sendToChannel) {
+ // Create message ID
+ final messageId = '${DateTime.now().millisecondsSinceEpoch}_channel_sent';
+ final timestamp = DateTime.now().millisecondsSinceEpoch ~/ 1000;
+
+ // Get current device's public key (first 6 bytes)
+ final devicePublicKey = connectionProvider.deviceInfo.publicKey;
+ final senderPublicKeyPrefix = devicePublicKey?.sublist(0, 6);
+
+ // Create sent message object
+ final sentMessage = Message(
+ id: messageId,
+ messageType: MessageType.channel,
+ senderPublicKeyPrefix: senderPublicKeyPrefix,
+ pathLen: 0,
+ textType: MessageTextType.plain,
+ senderTimestamp: timestamp,
+ text: fullMessage,
+ receivedAt: DateTime.now(),
+ deliveryStatus: MessageDeliveryStatus.sending,
+ channelIdx: 0,
+ // SAR marker data is automatically added by SarMessageParser.enhanceMessage in MessagesProvider
+ );
+
+ // Add to messages list with "sending" status
+ messagesProvider.addSentMessage(sentMessage);
+
// Send to public channel (ephemeral, over-the-air only)
await connectionProvider.sendChannelMessage(
channelIdx: 0,
text: fullMessage,
+ messageId: messageId,
);
if (!mounted) return;
- ToastLogger.warning(
+ ToastLogger.success(
context,
'${sarType.getLocalizedName(context)} marker broadcast to public channel',
);