Connection issues when updating item description #8263

Open
opened 2026-02-05 13:37:44 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @Hinfty on GitHub (Jan 16, 2026).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

Connection issues eg in home wifi that only affect description or datetime updating after the new photo was successfully uploaded.

In example below, I wait for photo to upload fine in home wifi, then immediately edit description.
When editing description the app errors out with connection timeout refering to my (inactive) tailnet. At this moment I have not been in tailscale for around 2h and the photo uploaded fine, so editing description should work fine.

The error persists until I force close the app and reopen. Then it works fine.

Upload and edit seem to be handled differently, maybe this can be resolved.

By now I'm pretty annoyed by internal/external connection ussues and have even added home wifi IP to the external list of IPs but in this example the app still doesn't switch to the internal IP reliably.

The OS that Immich Server is running on

Pios

Version of Immich Server

Latest

Version of Immich Mobile App

Latest

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Oneplus 8

Your docker-compose.yml content

Irrelevant

Your .env content

Irrelevant

Reproduction steps

  1. Take photo
  2. Open app after some idle time
  3. Wait for image to upload
  4. Swipe up to edit description or timestamp
  5. Description does not save, cursor keeps flashing logs spam errors
    ...

Relevant log output

ApiException 400: Socket operation failed: PUT /assets/e72a30a6-21af-452b-a747-eefe7648c9a8 (Inner exception: ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 100.94.96.47, port = 47712, uri=http://100.94.96.47:2283/api/assets/e72a30a6-21af-452b-a747-eefe7648c9a8)

#0      IOClient.send (package:http/src/io_client.dart:227)
<asynchronous suspension>
#1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:93)
<asynchronous suspension>
#2      ApiClient.invokeAPI (package:openapi/api_client.dart:97)
<asynchronous suspension>
#3      AssetsApi.updateAsset (package:openapi/api/assets_api.dart:1105)
<asynchronous suspension>
#4      ActionService.updateDescription (package:immich_mobile/services/action.service.dart:222)
<asynchronous suspension>
#5      ActionNotifier.updateDescription (package:immich_mobile/providers/infrastructure/action.provider.dart:352)
<asynchronous suspension>
#6      _SheetAssetDescriptionState.saveDescription (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet.widget.dart:336)
<asynchronous suspension>



---------------------------------------
#0      State.context (package:flutter/src/widgets/framework.dart:959)
#1      _SheetAssetDescriptionState.saveDescription (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet.widget.dart:342)
<asynchronous suspension>

Additional information

Originally created by @Hinfty on GitHub (Jan 16, 2026). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug Connection issues eg in home wifi that only affect description or datetime updating after the new photo was successfully uploaded. In example below, I wait for photo to upload fine in home wifi, then immediately edit description. When editing description the app errors out with connection timeout refering to my (inactive) tailnet. At this moment I have not been in tailscale for around 2h and the photo uploaded fine, so editing description should work fine. The error persists until I force close the app and reopen. Then it works fine. Upload and edit seem to be handled differently, maybe this can be resolved. By now I'm pretty annoyed by internal/external connection ussues and have even added home wifi IP to the external list of IPs but in this example the app still doesn't switch to the internal IP reliably. ### The OS that Immich Server is running on Pios ### Version of Immich Server Latest ### Version of Immich Mobile App Latest ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Device make and model Oneplus 8 ### Your docker-compose.yml content ```YAML Irrelevant ``` ### Your .env content ```Shell Irrelevant ``` ### Reproduction steps 1. Take photo 2. Open app after some idle time 3. Wait for image to upload 4. Swipe up to edit description or timestamp 5. Description does not save, cursor keeps flashing logs spam errors ... ### Relevant log output ```shell ApiException 400: Socket operation failed: PUT /assets/e72a30a6-21af-452b-a747-eefe7648c9a8 (Inner exception: ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 100.94.96.47, port = 47712, uri=http://100.94.96.47:2283/api/assets/e72a30a6-21af-452b-a747-eefe7648c9a8) #0 IOClient.send (package:http/src/io_client.dart:227) <asynchronous suspension> #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) <asynchronous suspension> #2 ApiClient.invokeAPI (package:openapi/api_client.dart:97) <asynchronous suspension> #3 AssetsApi.updateAsset (package:openapi/api/assets_api.dart:1105) <asynchronous suspension> #4 ActionService.updateDescription (package:immich_mobile/services/action.service.dart:222) <asynchronous suspension> #5 ActionNotifier.updateDescription (package:immich_mobile/providers/infrastructure/action.provider.dart:352) <asynchronous suspension> #6 _SheetAssetDescriptionState.saveDescription (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet.widget.dart:336) <asynchronous suspension> --------------------------------------- #0 State.context (package:flutter/src/widgets/framework.dart:959) #1 _SheetAssetDescriptionState.saveDescription (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet.widget.dart:342) <asynchronous suspension> ``` ### Additional information
Author
Owner

@Hinfty commented on GitHub (Jan 18, 2026):

And we still have the same Problem vice versa: updating location outside of wifi after successfully uploading an image:

ApiException 400: Socket operation failed: PUT /assets (Inner exception: ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 192.168.178.54, port = 46340, uri=http://192.168.178.54:2283/api/assets)

#0 IOClient.send (package:http/src/io_client.dart:227)

#1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93)

#2 ApiClient.invokeAPI (package:openapi/api_client.dart:97)

#3 AssetsApi.updateAssets (package:openapi/api/assets_api.dart:1225)

#4 ActionService.editLocation (package:immich_mobile/services/action.service.dart:160)

#5 ActionNotifier.editLocation (package:immich_mobile/providers/infrastructure/action.provider.dart:299)

#6 _SheetLocationDetailsState.editLocation (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart:57)

@Hinfty commented on GitHub (Jan 18, 2026): And we still have the same Problem vice versa: updating location outside of wifi after successfully uploading an image: ApiException 400: Socket operation failed: PUT /assets (Inner exception: ClientException with SocketException: Connection timed out (OS Error: Connection timed out, errno = 110), address = 192.168.178.54, port = 46340, uri=http://192.168.178.54:2283/api/assets) #0 IOClient.send (package:http/src/io_client.dart:227) <asynchronous suspension> #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) <asynchronous suspension> #2 ApiClient.invokeAPI (package:openapi/api_client.dart:97) <asynchronous suspension> #3 AssetsApi.updateAssets (package:openapi/api/assets_api.dart:1225) <asynchronous suspension> #4 ActionService.editLocation (package:immich_mobile/services/action.service.dart:160) <asynchronous suspension> #5 ActionNotifier.editLocation (package:immich_mobile/providers/infrastructure/action.provider.dart:299) <asynchronous suspension> #6 _SheetLocationDetailsState.editLocation (package:immich_mobile/presentation/widgets/asset_viewer/bottom_sheet/sheet_location_details.widget.dart:57) <asynchronous suspension>
Author
Owner

@mmomjian commented on GitHub (Jan 19, 2026):

Sorry to hear about this. Seems closely related to #15220 but we will see what others in the team think.

@mmomjian commented on GitHub (Jan 19, 2026): Sorry to hear about this. Seems closely related to #15220 but we will see what others in the team think.
Author
Owner

@alextran1502 commented on GitHub (Jan 19, 2026):

Can you capture a screenshot of the URL switching screen? feel free to blur out the domain name

@alextran1502 commented on GitHub (Jan 19, 2026): Can you capture a screenshot of the URL switching screen? feel free to blur out the domain name
Author
Owner

@Hinfty commented on GitHub (Jan 19, 2026):

@mmomjian closely related in that it's the same malfunction, but I guess with the difference that the item upload works fine just 2 seconds ago and it's the metadata update that then fails.

@alextran1502 settings attached, all configured via IP directly. Tailscale and local.
Als mentioned, local IP I added some time as backup in case the external/internal detection does not work reliably. But no success avoiding this issue, it seems.

Image

@Hinfty commented on GitHub (Jan 19, 2026): @mmomjian closely related in that it's the same malfunction, but I guess with the difference that the item upload works fine just 2 seconds ago and it's the metadata update that then fails. @alextran1502 settings attached, all configured via IP directly. Tailscale and local. Als mentioned, local IP I added some time as backup in case the external/internal detection does not work reliably. But no success avoiding this issue, it seems. ![Image](https://github.com/user-attachments/assets/1215a372-3ab9-4083-9a08-7a77a07f9a20)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#8263