Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error after crop and save to gallery #11800

Open
1 of 3 tasks
lukanowa opened this issue Aug 15, 2024 · 14 comments · May be fixed by #13279
Open
1 of 3 tasks

Error after crop and save to gallery #11800

lukanowa opened this issue Aug 15, 2024 · 14 comments · May be fixed by #13279

Comments

@lukanowa
Copy link
Contributor

The bug

After cropping a photo and trying to save it to the gallery:
Screenshot_20240815_103146

The OS that Immich Server is running on

Unraid

Version of Immich Server

1.112.0-1

Version of Immich Mobile App

1.112.1 b154

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

.

Your .env content

.

Reproduction steps

1. Crop photo,
2. Save to gallery
3. Error: Null check operator used on a null value

Relevant log output

No response

Additional information

No response

@etymotic
Copy link

etymotic commented Aug 16, 2024

I have the same error when cropping images on Android. App version is 1.112.1 installed from github through Obtanium.

Docker logs for immich_server don't show anything unusual. I believe this must be an Android app problem and not a server problem.

@helloworld1987
Copy link

I have the same issue on Docker/Debian.

@Benedolt
Copy link

I get exactly the same issue. I didn't even crop, just rotate from the mobile app.

  • Android App v1.112.1 build.154
  • Server (Docker) v1.112.1

@mikerjensen
Copy link

Same issue, on a Pixel 7A. I think i've had about 2 successful crops out of about 10 attempts. Most of the crops don't appear anywhere on the phone or on the server, despite the 'Image saved' notification (which appears before the 'Null check operator...' notification.
Android App v1.112.1 build.154
Server (Docker) v1.112.1

Not sure it's related, but often when i launch the Android app, i just get the Immich logo frozen on the screen for a minute or so before loading the thumbnails.

@plord12
Copy link

plord12 commented Aug 26, 2024

I saw the same error when trying a rotate (no crop).

@jakev383
Copy link

Seeing the same issue on a Pixel 8, running Android 14. Immich android app version 1.112.1 build.154, server version 1.112.1 as a docker container.
On the Android app, I only have "Camera" selected as the album to backup, not "Recent" (picks up images I do not wish backed up in Immich).
Server logs do not really show much at this detail level, just the websocket connect and disconnect.

Steps to reproduce:

  1. Open app and select image to bring it to full screen
  2. Select Edit from bottom menu
  3. Select Crop from bottom menu
  4. Click rotate-right icon, then the checkmark at top right of screen
  5. Select "Save to gallery"
  6. App pauses for 10 seconds
  7. App shows "Images saved!" message
  8. 2 seconds later app shows "Null check operator used on null value" message
  9. Rotated/edited image is saved to device, but does not show in Immich Photo Browser

Turning the app log level to INFO, I believe this is the relevant log entries to coincide with the app error:

2024-08-26 12:25:01.853038 | SEVERE   | ImmichErrorLogger    | PlatformDispatcher - Catch all | Null check operator used on a null value |
#0      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1169)
#1      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1164)
#2      FToast.showToast (package:fluttertoast/fluttertoast.dart:247)
#3      ImmichToast.show (package:immich_mobile/widgets/common/immich_toast.dart:49)
#4      EditImagePage.build.<anonymous closure> (package:immich_mobile/pages/editing/edit.page.dart:107)
<asynchronous suspension>

2024-08-26 11:19:40.316636 | SEVERE   | ImmichErrorLogger    | PlatformDispatcher - Catch all | Null check operator used on a null value |
#0      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1169)
#1      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1164)
#2      FToast.showToast (package:fluttertoast/fluttertoast.dart:247)
#3      ImmichToast.show (package:immich_mobile/widgets/common/immich_toast.dart:49)
#4      EditImagePage.build.<anonymous closure> (package:immich_mobile/pages/editing/edit.page.dart:107)
<asynchronous suspension>

2024-08-26 11:19:07.126812 | SEVERE   | ImmichErrorLogger    | PlatformDispatcher - Catch all | Null check operator used on a null value |
#0      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1169)
#1      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1164)
#2      FToast.showToast (package:fluttertoast/fluttertoast.dart:247)
#3      ImmichToast.show (package:immich_mobile/widgets/common/immich_toast.dart:49)
#4      EditImagePage.build.<anonymous closure> (package:immich_mobile/pages/editing/edit.page.dart:107)
<asynchronous suspension>

2024-08-26 11:19:00.568383 | SEVERE   | ImmichErrorLogger    | PlatformDispatcher - Catch all | Null check operator used on a null value |
#0      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1169)
#1      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1164)
#2      FToast.showToast (package:fluttertoast/fluttertoast.dart:247)
#3      ImmichToast.show (package:immich_mobile/widgets/common/immich_toast.dart:49)
#4      EditImagePage.build.<anonymous closure> (package:immich_mobile/pages/editing/edit.page.dart:107)
<asynchronous suspension>

2024-08-26 11:18:52.252627 | SEVERE   | ImmichErrorLogger    | PlatformDispatcher - Catch all | Null check operator used on a null value |
#0      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1169)
#1      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1164)
#2      FToast.showToast (package:fluttertoast/fluttertoast.dart:247)
#3      ImmichToast.show (package:immich_mobile/widgets/common/immich_toast.dart:49)
#4      EditImagePage.build.<anonymous closure> (package:immich_mobile/pages/editing/edit.page.dart:107)
<asynchronous suspension>

2024-08-26 11:18:32.618419 | INFO     | AssetNotifier        | Load assets: 1090ms |
2024-08-26 11:18:32.618339 | INFO     | AlbumService         | Syncing completed. Changes: false |
2024-08-26 11:18:31.836496 | INFO     | AlbumService         | 'Recents' is not selected, keeping only selected albums |

@jakev383
Copy link

With version 1.113.0 it no longer displays the error message and seems to save the cropped image, although in a different location. Original image was at /storage/emulated/0/DCIM/Camera and crop save location is /storage/emulated/0/Pictures

@mikerjensen
Copy link

Yes, great progress, i'm now able to save cropped images to the server. Would be great if the cropped image could preserve the date of the original image. And maybe ask if the original (uncropped image) should be deleted?

@yashrajjain726
Copy link
Contributor

Great idea @mikerjensen , I would like to proceed, but just needs the confirmation if we wanted to have the functionality of deleting the orginal photo's once it is cropped and saved into new ones ?

@mikerjensen
Copy link

mikerjensen commented Oct 7, 2024 via email

@yashrajjain726
Copy link
Contributor

yashrajjain726 commented Oct 8, 2024

Great @mikerjensen , I can start working on this. But I think this card isn't relevant to the issue that we are proceeding on, so can we start with a new issue, where we can start there and close this issue, as this is fixed.

@yashrajjain726
Copy link
Contributor

Hey @mikerjensen , as you mentioned, I have added the new functionality of asking a user to delete the orginal image after the crop functionality.

@mikerjensen
Copy link

mikerjensen commented Oct 12, 2024 via email

@plord12
Copy link

plord12 commented Oct 15, 2024

With version 1.113.0 it no longer displays the error message and seems to save the cropped image, although in a different location. Original image was at /storage/emulated/0/DCIM/Camera and crop save location is /storage/emulated/0/Pictures

I see the same with 1.118.0. ie, on android -

Edit photo - say apply rotation
Save to gallery
"Image Saved" reported
Image is saved in /storage/Pictures directory and doesn't make it back to immich

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants