From e2c3c395971ed2235e6c6864aae453d2e843d35d Mon Sep 17 00:00:00 2001 From: Alden Bansemer Date: Sun, 3 Aug 2025 23:07:11 -0700 Subject: [PATCH 1/3] chore: tweak photo sphere fov and zoom speed constants (#20595) --- .../asset-viewer/photo-sphere-viewer-adapter.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte b/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte index 820c7f3fd4..cd9a010f78 100644 --- a/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte +++ b/web/src/lib/components/asset-viewer/photo-sphere-viewer-adapter.svelte @@ -63,8 +63,9 @@ touchmoveTwoFingers: false, mousewheelCtrlKey: false, navbar, - minFov: 10, - maxFov: 120, + minFov: 15, + maxFov: 90, + zoomSpeed: 0.5, fisheye: false, }); const resolutionPlugin = viewer.getPlugin(ResolutionPlugin) as ResolutionPlugin; From 4efbf36d821149986d2b487be7447c2b8a008364 Mon Sep 17 00:00:00 2001 From: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Date: Mon, 4 Aug 2025 11:37:50 +0530 Subject: [PATCH 2/3] chore: log asset name on hash failures (#20608) --- mobile/lib/domain/services/hash.service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/lib/domain/services/hash.service.dart b/mobile/lib/domain/services/hash.service.dart index 2a07320906..36a4b9efba 100644 --- a/mobile/lib/domain/services/hash.service.dart +++ b/mobile/lib/domain/services/hash.service.dart @@ -96,7 +96,7 @@ class HashService { if (hash?.length == 20) { hashed.add(asset.copyWith(checksum: base64.encode(hash!))); } else { - _log.warning("Failed to hash file for ${asset.id}"); + _log.warning("Failed to hash file for ${asset.id}: ${asset.name} created at ${asset.createdAt}"); } } From 3d633a81c4116df0bff2548403fab1c0b3892f87 Mon Sep 17 00:00:00 2001 From: Alexandre Garnier Date: Mon, 4 Aug 2025 08:23:11 +0200 Subject: [PATCH 3/3] fix(mobile): use right translation function for pluralized ICU message format (#20404) --- i18n/en.json | 3 +-- mobile/lib/widgets/map/map_asset_grid.dart | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/i18n/en.json b/i18n/en.json index 700ff60c53..a66c3faa9a 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -1252,7 +1252,7 @@ "manage_your_devices": "Manage your logged-in devices", "manage_your_oauth_connection": "Manage your OAuth connection", "map": "Map", - "map_assets_in_bounds": "{count, plural, one {# photo} other {# photos}}", + "map_assets_in_bounds": "{count, plural, =0 {No photos in this area} one {# photo} other {# photos}}", "map_cannot_get_user_location": "Cannot get user's location", "map_location_dialog_yes": "Yes", "map_location_picker_page_use_location": "Use this location", @@ -1260,7 +1260,6 @@ "map_location_service_disabled_title": "Location Service disabled", "map_marker_for_images": "Map marker for images taken in {city}, {country}", "map_marker_with_image": "Map marker with image", - "map_no_assets_in_bounds": "No photos in this area", "map_no_location_permission_content": "Location permission is needed to display assets from your current location. Do you want to allow it now?", "map_no_location_permission_title": "Location Permission denied", "map_settings": "Map settings", diff --git a/mobile/lib/widgets/map/map_asset_grid.dart b/mobile/lib/widgets/map/map_asset_grid.dart index 893c36d43f..488b8480f2 100644 --- a/mobile/lib/widgets/map/map_asset_grid.dart +++ b/mobile/lib/widgets/map/map_asset_grid.dart @@ -8,6 +8,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/entities/asset.entity.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/extensions/collection_extensions.dart'; +import 'package:immich_mobile/extensions/translate_extensions.dart'; import 'package:immich_mobile/models/map/map_event.model.dart'; import 'package:immich_mobile/providers/db.provider.dart'; import 'package:immich_mobile/providers/timeline.provider.dart'; @@ -229,9 +230,7 @@ class _MapSheetDragRegion extends StatelessWidget { @override Widget build(BuildContext context) { - final assetsInBoundsText = assetsInBoundCount > 0 - ? "map_assets_in_bounds".tr(namedArgs: {'count': assetsInBoundCount.toString()}) - : "map_no_assets_in_bounds".tr(); + final assetsInBoundsText = "map_assets_in_bounds".t(context: context, args: {'count': assetsInBoundCount}); return SingleChildScrollView( controller: controller,