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', );