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

Mobile app fails to show new assets #9295

Closed
1 of 3 tasks
natedawg opened this issue May 7, 2024 · 19 comments · Fixed by #9324
Closed
1 of 3 tasks

Mobile app fails to show new assets #9295

natedawg opened this issue May 7, 2024 · 19 comments · Fixed by #9324
Assignees
Labels
bug Something isn't working 📱mobile

Comments

@natedawg
Copy link
Contributor

natedawg commented May 7, 2024

The bug

The mobile app fails to refresh and show new photos that are visible on the web. Pull to refresh shows a error in the log.

The OS that Immich Server is running on

Docker on debian

Version of Immich Server

v1.10.3.1

Version of Immich Mobile App

v1.10.3.1

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

NA

Your .env content

NA

Reproduction steps

1. View the timeline on android.
2. Expect to see new photos that show up on the web.
3. New photos fail to load even on pull to refresh. A error is shown in the log.
...

Relevant log output

PlatformDispatcher - Catch all


type '_Map<String, dynamic>' is not a subtype of type 'String' in type cast


#0      _CastListBase.[] (dart:_internal/cast.dart:99)
#1      ListBase.toList (dart:collection/list.dart:225)
#2      AuditDeletesResponseDto.fromJson (package:openapi/model/audit_deletes_response_dto.dart:54)
#3      ApiClient.fromJson (package:openapi/api_client.dart:262)
#4      ApiClient.deserialize (package:openapi/api_client.dart:158)
<asynchronous suspension>
#5      AuditApi.getAuditDeletes (package:openapi/api/audit_api.dart:74)
<asynchronous suspension>
#6      AssetService._getRemoteAssetChanges (package:immich_mobile/shared/services/asset.service.dart:57)
<asynchronous suspension>
#7      SyncService._syncRemoteAssetChanges (package:immich_mobile/shared/services/sync.service.dart:161)
<asynchronous suspension>
#8      SyncService.syncRemoteAssetsToDb.<anonymous closure> (package:immich_mobile/shared/services/sync.service.dart:53)
<asynchronous suspension>
#9      AsyncMutex.run.<anonymous closure> (package:immich_mobile/utils/async_mutex.dart:15)
<asynchronous suspension>

Additional information

Using traefik as a reverse proxy.

@alextran1502
Copy link
Contributor

The current workaround is to logout and log back in, we are looking into identifying the root cause

@kitkatod
Copy link

kitkatod commented May 8, 2024

I'm also running into the issue described here, however the workaround of logging out/in on the Android app does not resolve the issue and items are still missing from the timeline. Even uninstalling/reinstalling the app does not seem to affect the behavior.

Images are displayed when viewing the album through the "Backup Albums" selection menu, however not on the timeline and never synced.

If this should be a separate issue opened let me know.

@alextran1502
Copy link
Contributor

@kitkatod @natedawg Can you help me with some data points that if

  1. You are connecting your instance over a reverse proxy/VPN?
  2. You are using Android?

@itzTheMeow
Copy link

I'm also having the same issue on the iOS app.
Using a VPN and my instance is behind an nginx reverse proxy.

Logging out and back in loads the new assets.

type '_Map<String, dynamic>' is not a subtype of type 'String' in type cast

#0      _CastListBase.[] (dart:_internal/cast.dart:99)
#1      ListBase.toList (dart:collection/list.dart:225)
#2      AuditDeletesResponseDto.fromJson (package:openapi/model/audit_deletes_response_dto.dart:54)
#3      ApiClient.fromJson (package:openapi/api_client.dart:262)
#4      ApiClient.deserialize (package:openapi/api_client.dart:158)
<asynchronous suspension>
#5      AuditApi.getAuditDeletes (package:openapi/api/audit_api.dart:74)
<asynchronous suspension>
#6      AssetService._getRemoteAssetChanges (package:immich_mobile/shared/services/asset.service.dart:57)
<asynchronous suspension>
#7      SyncService._syncRemoteAssetChanges (package:immich_mobile/shared/services/sync.service.dart:161)
<asynchronous suspension>
#8      SyncService.syncRemoteAssetsToDb.<anonymous closure> (package:immich_mobile/shared/services/sync.service.dart:53)
<asynchronous suspension>
#9      AssetService.refreshRemoteAssets (package:immich_mobile/shared/services/asset.service.dart:45)
<asynchronous suspension>
#10     AssetNotifier.getAllAsset (package:immich_mobile/shared/providers/asset.provider.dart:52)
<asynchronous suspension>

@alextran1502
Copy link
Contributor

Are you guys also have background backup enabled?

@alextran1502
Copy link
Contributor

If you guys install the app over the APK file in the release, can you try downloading this APK to see if it helps resolve the issue?

https://drive.google.com/file/d/1WLkzkqP4PLjdUFE17IJYwUdG-1xy4HnW/view?usp=sharing

@alextran1502 alextran1502 self-assigned this May 8, 2024
@itzTheMeow
Copy link

I do not have backup enabled.
Also all of my libraries are external.

@kitkatod
Copy link

kitkatod commented May 8, 2024

I can confirm I'm currently running Immich behind a Caddy reverse proxy, and Immich on a Pixel 8 Pro.

After uninstalling Immich on Android and installing the referenced APK it seems to be finding all of the assets it missed!

@alextran1502
Copy link
Contributor

@kitkatod Thank you for help me test the APK. Can you try taking a few photos, wait a bit, then go to the app and see if the app can detect those new photos?

@kitkatod
Copy link

kitkatod commented May 8, 2024

I just finished taking a few pictures. Images were uploaded quickly and appeared on the Immich website within seconds. I also followed the same steps after disabling wifi, and after a short delay images started to be uploaded.

@natedawg
Copy link
Contributor Author

natedawg commented May 8, 2024

@alextran1502

Can you help me with some data points that if

1. You are connecting your instance over a reverse proxy/VPN?

2. You are using Android?

I'm using traefik as a reverse proxy and Android with no background sync. Most assets are in a external library.

FYI There was a major Traefik release v3.0 this week. I have not had time to go over the release notes or do any migration if needed. However it looks like others here are using different proxies though.

I will test the apk later today,

@frejaya
Copy link

frejaya commented May 8, 2024

I've had this problem as well. It usually goes away eventually and I keep the icon feature turned off so I mostly ignore it but it's been troublesome for creating albums.

I'm running Immich on Synology NAS DSM with the built-in reverse proxy feature that Synology provides in the control panel of DSM. App on iOS

@alextran1502
Copy link
Contributor

I am hoping the APK is the fix for the solution so we can push out an update for the next release to fix this issue

@natedawg
Copy link
Contributor Author

natedawg commented May 8, 2024

Just tested the apk and it's working. New photos show up on Android when opening the app and when refreshing. There are no errors in the log.

@freemjohn
Copy link

#9389
Direct connection with stunnel does not fixes this issue.

@alextran1502
Copy link
Contributor

@freemjohn can you try the APK linked in this issue?

@freemjohn
Copy link

@freemjohn can you try the APK linked in this issue?

Harder than looks, can't just update, different signature, forced to resetup

@freemjohn
Copy link

freemjohn commented May 15, 2024

Looks like fixed in test version above(cant be updated) and latest update(thats the way) 1.105.1

@freemjohn
Copy link

Tested on +4 devices, still need to relogin or no new photos shown 2/4 devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working 📱mobile
Projects
None yet
7 participants