Update iOS project version

This commit is contained in:
Janez T
2026-03-06 21:22:51 +01:00
parent 1856dce27a
commit 70a6156e8a
5 changed files with 204 additions and 150 deletions

View File

@@ -489,7 +489,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -511,7 +511,7 @@
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
@@ -530,7 +530,7 @@
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
@@ -547,7 +547,7 @@
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
@@ -679,7 +679,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -702,7 +702,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 92; CURRENT_PROJECT_VERSION = 94;
DEVELOPMENT_TEAM = JND55328G8; DEVELOPMENT_TEAM = JND55328G8;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;

View File

@@ -43,7 +43,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>92</string> <string>94</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSBluetoothAlwaysUsageDescription</key> <key>NSBluetoothAlwaysUsageDescription</key>

View File

@@ -5,22 +5,22 @@
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000216"> <testcase classname="fastlane.lanes" name="0: default_platform" time="0.000555">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="1: increment_build_number" time="0.451844"> <testcase classname="fastlane.lanes" name="1: increment_build_number" time="0.42343">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="2: build_app" time="110.228647"> <testcase classname="fastlane.lanes" name="2: build_app" time="91.987634">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="3: upload_to_app_store" time="475.510001"> <testcase classname="fastlane.lanes" name="3: upload_to_app_store" time="184.536223">
</testcase> </testcase>

View File

@@ -466,7 +466,10 @@ class _MessagesTabState extends State<MessagesTab> {
); );
// Add to messages list with "sending" status // Add to messages list with "sending" status
messagesProvider.addSentMessage(sentMessage); messagesProvider.addSentMessage(
sentMessage,
contact: _selectedRecipient,
);
// Send message to selected recipient // Send message to selected recipient
final sentSuccessfully = await connectionProvider.sendTextMessage( final sentSuccessfully = await connectionProvider.sendTextMessage(
@@ -1498,8 +1501,13 @@ class _MessagesTabState extends State<MessagesTab> {
return Consumer<MessagesProvider>( return Consumer<MessagesProvider>(
builder: (context, messagesProvider, child) { builder: (context, messagesProvider, child) {
final messages = _getFilteredMessages(messagesProvider); final messages = _getFilteredMessages(messagesProvider);
final bottomInset = MediaQuery.of(context).viewPadding.bottom;
final composerBottomPadding = bottomInset > 0 ? 2.0 : 10.0;
return Column( return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () => FocusScope.of(context).unfocus(),
child: Column(
children: [ children: [
// Messages list with pull-to-refresh // Messages list with pull-to-refresh
Expanded( Expanded(
@@ -1509,19 +1517,25 @@ class _MessagesTabState extends State<MessagesTab> {
? LayoutBuilder( ? LayoutBuilder(
builder: (context, constraints) => builder: (context, constraints) =>
SingleChildScrollView( SingleChildScrollView(
physics: const AlwaysScrollableScrollPhysics(), keyboardDismissBehavior:
ScrollViewKeyboardDismissBehavior.onDrag,
physics:
const AlwaysScrollableScrollPhysics(),
child: ConstrainedBox( child: ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
minHeight: constraints.maxHeight, minHeight: constraints.maxHeight,
), ),
child: Center( child: Center(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment:
MainAxisAlignment.center,
children: [ children: [
Icon( Icon(
Icons.message_outlined, Icons.message_outlined,
size: 64, size: 64,
color: Theme.of(context).disabledColor, color: Theme.of(
context,
).disabledColor,
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
Text( Text(
@@ -1550,6 +1564,8 @@ class _MessagesTabState extends State<MessagesTab> {
) )
: ListView.builder( : ListView.builder(
controller: _scrollController, controller: _scrollController,
keyboardDismissBehavior:
ScrollViewKeyboardDismissBehavior.onDrag,
reverse: true, reverse: true,
padding: const EdgeInsets.all(8), padding: const EdgeInsets.all(8),
itemCount: messages.length, itemCount: messages.length,
@@ -1611,7 +1627,12 @@ class _MessagesTabState extends State<MessagesTab> {
SafeArea( SafeArea(
top: false, top: false,
child: Padding( child: Padding(
padding: const EdgeInsets.fromLTRB(10, 10, 10, 10), padding: EdgeInsets.fromLTRB(
10,
10,
10,
composerBottomPadding,
),
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Theme.of( color: Theme.of(
@@ -1860,20 +1881,52 @@ class _MessagesTabState extends State<MessagesTab> {
excludeFromSemantics: true, excludeFromSemantics: true,
child: GestureDetector( child: GestureDetector(
excludeFromSemantics: true, excludeFromSemantics: true,
onTap: canSendText
? () {
debugPrint(
'👆 [MessagesTab] Send button tapped '
'(canSendText=$canSendText, '
'textLength=${_textController.text.trim().length}, '
'recording=$_isRecording, '
'sendingVoice=$_isSendingVoice)',
);
_sendMessage();
}
: null,
onLongPressStart: onLongPressStart:
(_voiceSupported && (_voiceSupported &&
!_isSendingVoice) !_isSendingVoice)
? (_) => _startVoiceRecording() ? (_) {
debugPrint(
'🎙️ [MessagesTab] Send button long-press start '
'(voiceSupported=$_voiceSupported, '
'sendingVoice=$_isSendingVoice, '
'recording=$_isRecording)',
);
_startVoiceRecording();
}
: null, : null,
onLongPressEnd: onLongPressEnd:
(_voiceSupported && (_voiceSupported &&
_isRecording) _isRecording)
? (_) => _stopAndSendVoice() ? (_) {
debugPrint(
'🎙️ [MessagesTab] Send button long-press end '
'(recording=$_isRecording)',
);
_stopAndSendVoice();
}
: null, : null,
onLongPressCancel: onLongPressCancel:
(_voiceSupported && (_voiceSupported &&
_isRecording) _isRecording)
? () => _stopAndSendVoice() ? () {
debugPrint(
'🎙️ [MessagesTab] Send button long-press cancel '
'(recording=$_isRecording)',
);
_stopAndSendVoice();
}
: null, : null,
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@@ -2003,6 +2056,7 @@ class _MessagesTabState extends State<MessagesTab> {
), ),
), ),
], ],
),
); );
}, },
); );

View File

@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 2026.0306.2+12 version: 2026.0306.3+13
environment: environment:
sdk: ^3.9.2 sdk: ^3.9.2