diff --git a/mobile/android/fastlane/metadata/android/en-US/changelogs/66.txt b/mobile/android/fastlane/metadata/android/en-US/changelogs/66.txt
new file mode 100644
index 0000000000000..92efe649cbf64
--- /dev/null
+++ b/mobile/android/fastlane/metadata/android/en-US/changelogs/66.txt
@@ -0,0 +1,7 @@
+* Fix crash at first start related to uninitialized hive key
+* Fix invalid creation time on local asset show 1970 as year
+* Fix Home page app bar icons don't conform to theme change
+* Fix endless 'Building timeline' loop after changing the number of assets per row
+* Show current upload asset
+* Add to album from asset detail view
+* Add multi selected assets to album
diff --git a/mobile/ios/Podfile.lock b/mobile/ios/Podfile.lock
index ffa1e578874ff..e5e07ac814d54 100644
--- a/mobile/ios/Podfile.lock
+++ b/mobile/ios/Podfile.lock
@@ -13,6 +13,8 @@ PODS:
- FMDB/standard (2.7.5)
- image_picker_ios (0.0.1):
- Flutter
+ - integration_test (0.0.1):
+ - Flutter
- package_info_plus (0.4.5):
- Flutter
- path_provider_ios (0.0.1):
@@ -42,6 +44,7 @@ DEPENDENCIES:
- flutter_web_auth (from `.symlinks/plugins/flutter_web_auth/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
+ - integration_test (from `.symlinks/plugins/integration_test/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- photo_manager (from `.symlinks/plugins/photo_manager/ios`)
@@ -69,6 +72,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/fluttertoast/ios"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
+ integration_test:
+ :path: ".symlinks/plugins/integration_test/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_ios:
@@ -95,6 +100,7 @@ SPEC CHECKSUMS:
fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_picker_ios: b786a5dcf033a8336a657191401bfdf12017dabb
+ integration_test: a1e7d09bd98eca2fc37aefd79d4f41ad37bdbbe5
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604
diff --git a/mobile/ios/Runner.xcodeproj/project.pbxproj b/mobile/ios/Runner.xcodeproj/project.pbxproj
index d534c6b54d587..dd8d31f36831f 100644
--- a/mobile/ios/Runner.xcodeproj/project.pbxproj
+++ b/mobile/ios/Runner.xcodeproj/project.pbxproj
@@ -360,7 +360,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 79;
+ CURRENT_PROJECT_VERSION = 82;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -495,7 +495,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 79;
+ CURRENT_PROJECT_VERSION = 82;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -522,7 +522,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 79;
+ CURRENT_PROJECT_VERSION = 82;
DEVELOPMENT_TEAM = 2F67MQ8R79;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
diff --git a/mobile/ios/Runner/Info.plist b/mobile/ios/Runner/Info.plist
index 75778dcef7c29..2fc4034c7dbfd 100644
--- a/mobile/ios/Runner/Info.plist
+++ b/mobile/ios/Runner/Info.plist
@@ -17,11 +17,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.42.0
+ 1.43.0
CFBundleSignature
????
CFBundleVersion
- 79
+ 82
LSRequiresIPhoneOS
MGLMapboxMetricsEnabledSettingShownInApp
diff --git a/mobile/ios/fastlane/Fastfile b/mobile/ios/fastlane/Fastfile
index cb081dd485227..1db9a768db5ed 100644
--- a/mobile/ios/fastlane/Fastfile
+++ b/mobile/ios/fastlane/Fastfile
@@ -19,7 +19,7 @@ platform :ios do
desc "iOS Beta"
lane :beta do
increment_version_number(
- version_number: "1.42.0"
+ version_number: "1.43.0"
)
increment_build_number(
build_number: latest_testflight_build_number + 1,
diff --git a/mobile/ios/fastlane/report.xml b/mobile/ios/fastlane/report.xml
index 43f650412592a..5fa9a5e939d9c 100644
--- a/mobile/ios/fastlane/report.xml
+++ b/mobile/ios/fastlane/report.xml
@@ -5,32 +5,32 @@
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/mobile/lib/modules/album/ui/add_to_album_bottom_sheet.dart b/mobile/lib/modules/album/ui/add_to_album_bottom_sheet.dart
index a98608296bc74..4ba31de2695d2 100644
--- a/mobile/lib/modules/album/ui/add_to_album_bottom_sheet.dart
+++ b/mobile/lib/modules/album/ui/add_to_album_bottom_sheet.dart
@@ -7,7 +7,6 @@ import 'package:immich_mobile/modules/album/providers/asset_selection.provider.d
import 'package:immich_mobile/modules/album/providers/shared_album.provider.dart';
import 'package:immich_mobile/modules/album/services/album.service.dart';
import 'package:immich_mobile/modules/album/ui/add_to_album_sliverlist.dart';
-import 'package:immich_mobile/modules/album/ui/album_thumbnail_listtile.dart';
import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/ui/drag_sheet.dart';
@@ -15,7 +14,6 @@ import 'package:immich_mobile/shared/ui/immich_toast.dart';
import 'package:openapi/api.dart';
class AddToAlbumBottomSheet extends HookConsumerWidget {
-
/// The asset to add to an album
final List assets;
@@ -38,7 +36,7 @@ class AddToAlbumBottomSheet extends HookConsumerWidget {
return null;
},
- [],
+ [],
);
void addToAlbum(AlbumResponseDto album) async {
@@ -46,7 +44,7 @@ class AddToAlbumBottomSheet extends HookConsumerWidget {
assets,
album.id,
);
-
+
if (result != null) {
if (result.alreadyInAlbum.isNotEmpty) {
ImmichToast.show(
@@ -59,7 +57,7 @@ class AddToAlbumBottomSheet extends HookConsumerWidget {
msg: 'Added to ${album.albumName}',
);
}
- }
+ }
ref.read(albumProvider.notifier).getAllAlbums();
ref.read(sharedAlbumProvider.notifier).getAllSharedAlbums();
@@ -67,7 +65,6 @@ class AddToAlbumBottomSheet extends HookConsumerWidget {
Navigator.pop(context);
}
-
return Card(
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.only(
@@ -91,15 +88,20 @@ class AddToAlbumBottomSheet extends HookConsumerWidget {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Text('Add to album',
+ Text(
+ 'Add to album',
style: Theme.of(context).textTheme.headline2,
),
TextButton.icon(
icon: const Icon(Icons.add),
label: const Text('Create new album'),
onPressed: () {
- ref.watch(assetSelectionProvider.notifier).removeAll();
- ref.watch(assetSelectionProvider.notifier).addNewAssets(assets);
+ ref
+ .watch(assetSelectionProvider.notifier)
+ .removeAll();
+ ref
+ .watch(assetSelectionProvider.notifier)
+ .addNewAssets(assets);
AutoRouter.of(context).push(
CreateAlbumRoute(
isSharedAlbum: false,
diff --git a/mobile/lib/modules/album/ui/album_thumbnail_listtile.dart b/mobile/lib/modules/album/ui/album_thumbnail_listtile.dart
index 2366924a85e96..2801ec00df301 100644
--- a/mobile/lib/modules/album/ui/album_thumbnail_listtile.dart
+++ b/mobile/lib/modules/album/ui/album_thumbnail_listtile.dart
@@ -56,9 +56,10 @@ class AlbumThumbnailListTile extends StatelessWidget {
return GestureDetector(
behavior: HitTestBehavior.opaque,
- onTap: onTap ?? () {
- AutoRouter.of(context).push(AlbumViewerRoute(albumId: album.id));
- },
+ onTap: onTap ??
+ () {
+ AutoRouter.of(context).push(AlbumViewerRoute(albumId: album.id));
+ },
child: Padding(
padding: const EdgeInsets.only(bottom: 12.0),
child: Row(
diff --git a/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart b/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart
index b14e5dc81a0d0..393d0fcba9d61 100644
--- a/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart
+++ b/mobile/lib/modules/asset_viewer/views/gallery_viewer.dart
@@ -6,7 +6,6 @@ import 'package:hive/hive.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/hive_box.dart';
import 'package:immich_mobile/modules/album/ui/add_to_album_bottom_sheet.dart';
-import 'package:immich_mobile/modules/album/ui/add_to_album_list.dart';
import 'package:immich_mobile/modules/asset_viewer/providers/image_viewer_page_state.provider.dart';
import 'package:immich_mobile/modules/asset_viewer/ui/exif_bottom_sheet.dart';
import 'package:immich_mobile/modules/asset_viewer/ui/top_control_app_bar.dart';