Version
v1.0.33.0
Deployment Method
Web
Description
Configuring ImmichFrame with two accounts occasionally shows "Looks like your immich-server is offline or you misconfigured immichFrame. Check the container logs."
The logs show a 400 response for the asset on one account, but if I swap the immich url to the other account it works. So it seems like ImmichFrame is requesting an asset from the wrong account.
For example my logs show this:
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[100] Sending HTTP request GET http://immich-server2:2283/api/assets/7b73c9ed-4ec3-4102-9ed3-08db5aa98fb6/thumbnail?key=&size=preview
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 48.1182ms - 400
But if I go to "http://immich-server1:2283/api/assets/7b73c9ed-4ec3-4102-9ed3-08db5aa98fb6/thumbnail?key=&size=preview" instead of immich-server2, I get a 200 response with the image
I also don't see any issues at all if I comment out one of the accounts. All the images display correctly.
I looked through the issues and these seem similar, but not identical
#547
#494
Reproduction
Run docker compose up -d with the provided files
Access ImmichFrame on the web and cycle through the photos. Eventually I got the issue described above
Expectations
No response
Configuration
compose.yml
services:
immich-frame:
image: ghcr.io/immichframe/immichframe:v1.0.33.0
container_name: immich-frame
user: 1000:1000
ports:
- 8080:8080
environment:
TZ: "America/New_York"
volumes:
- ./immich-frame/settings.yml:/app/Config/Settings.yml
- ./api-keys:/app/Config/api-keys
restart: unless-stopped
Settings.yml
General:
AuthenticationSecret: null
ImageLocationFormat: 'City, State, Country'
UnitSystem: imperial
Interval: 45
TransitionDuration: 2
BaseFontSize: 17px
ShowWeatherDescription: false
ImageZoom: false
Layout: single
Accounts:
- ImmichServerUrl: http://immich-server1:2283
ApiKeyFile: "/app/Config/api-keys/server1.key"
ImagesFromDate: null
ShowMemories: false
ShowFavorites: false
ShowArchived: true
ShowVideos: false
ImagesFromDays: null
ImagesUntilDate: null
Albums:
- ee488ac7-2f99-4fe8-8167-3b81364998ab
- ImmichServerUrl: http://immich-server2:2283
ApiKeyFile: "/app/Config/api-keys/server2.key"
ImagesFromDate: null
ShowMemories: false
ShowFavorites: false
ShowArchived: true
ShowVideos: false
ImagesFromDays: null
ImagesUntilDate: null
Albums:
- ce5103ec-ad49-4036-8881-1ceec5f2834d
Logs
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[100] Start processing HTTP request GET http://immich-server1:2283/api/assets/4dc43f10-3a4a-4d99-b0db-e97e0c76e40b
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[100] Sending HTTP request GET http://immich-server1:2283/api/assets/4dc43f10-3a4a-4d99-b0db-e97e0c76e40b
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 15.1978ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[101] End processing HTTP request after 15.4614ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 16.3402ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[101] End processing HTTP request after 17.1784ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[100] Start processing HTTP request GET http://immich-server1:2283/api/albums?assetId=77ab845d-cae8-403b-8928-6a1bc8578a0a
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[100] Sending HTTP request GET http://immich-server1:2283/api/albums?assetId=77ab845d-cae8-403b-8928-6a1bc8578a0a
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 32.4077ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[101] End processing HTTP request after 32.6805ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[100] Start processing HTTP request GET http://immich-server1:2283/api/assets/77ab845d-cae8-403b-8928-6a1bc8578a0a
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[100] Sending HTTP request GET http://immich-server1:2283/api/assets/77ab845d-cae8-403b-8928-6a1bc8578a0a
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 15.8271ms - 200
immich-frame | 26-05-20 20:14:47 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[101] End processing HTTP request after 15.9693ms - 200
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[100] Start processing HTTP request GET http://immich-server2:2283/api/assets/7b73c9ed-4ec3-4102-9ed3-08db5aa98fb6/thumbnail?key=&size=preview
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[100] Sending HTTP request GET http://immich-server2:2283/api/assets/7b73c9ed-4ec3-4102-9ed3-08db5aa98fb6/thumbnail?key=&size=preview
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.ClientHandler[101] Received HTTP response headers after 48.1182ms - 400
immich-frame | 26-05-20 20:14:54 info: System.Net.Http.HttpClient.ImmichApiAccountClient.LogicalHandler[101] End processing HTTP request after 48.3124ms - 400
immich-frame | 26-05-20 20:14:54 fail: Microsoft.AspNetCore.Server.Kestrel[13] Connection id "0HNLMPNR6D5Q9", Request id "0HNLMPNR6D5Q9:00000006": An unhandled exception was thrown by the application. HTTP Response: {"message":"Not found or no asset.view access","error":"Bad Request","statusCode":400,"correlationId":"0zxq9d8i"} ImmichFrame.Core.Api.ApiException: The HTTP status code of the response was not expected (400). Status: 400 Response: {"message":"Not found or no asset.view access","error":"Bad Request","statusCode":400,"correlationId":"0zxq9d8i"}
at ImmichFrame.Core.Api.ImmichApi.ViewAssetAsync(Guid id, String key, Nullable`1 size, CancellationToken cancellationToken) in /source/ImmichFrame.Core/obj/immich-openapi-specsClient.cs:line 4115
at ImmichFrame.Core.Logic.PooledImmichFrameLogic.GetImageAsset(Guid id) in /source/ImmichFrame.Core/Logic/PooledImmichFrameLogic.cs:line 143
at ImmichFrame.Core.Logic.PooledImmichFrameLogic.GetAsset(Guid id, Nullable`1 assetType, String rangeHeader) in /source/ImmichFrame.Core/Logic/PooledImmichFrameLogic.cs:line 96
at ImmichFrame.WebApi.Controllers.AssetController.GetAsset(Guid id, String clientIdentifier, Nullable`1 assetType) in /source/ImmichFrame.WebApi/Controllers/AssetController.cs:line 87
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at CustomAuthenticationMiddleware.InvokeAsync(HttpContext context) in /source/ImmichFrame.WebApi/Helpers/CustomAuthenticationMiddleware.cs:line 23
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
Pre-Submission Checklist
Version
v1.0.33.0
Deployment Method
Web
Description
Configuring ImmichFrame with two accounts occasionally shows "Looks like your immich-server is offline or you misconfigured immichFrame. Check the container logs."
The logs show a 400 response for the asset on one account, but if I swap the immich url to the other account it works. So it seems like ImmichFrame is requesting an asset from the wrong account.
For example my logs show this:
But if I go to "http://immich-server1:2283/api/assets/7b73c9ed-4ec3-4102-9ed3-08db5aa98fb6/thumbnail?key=&size=preview" instead of immich-server2, I get a 200 response with the image
I also don't see any issues at all if I comment out one of the accounts. All the images display correctly.
I looked through the issues and these seem similar, but not identical
#547
#494
Reproduction
Run
docker compose up -dwith the provided filesAccess ImmichFrame on the web and cycle through the photos. Eventually I got the issue described above
Expectations
No response
Configuration
compose.yml services: immich-frame: image: ghcr.io/immichframe/immichframe:v1.0.33.0 container_name: immich-frame user: 1000:1000 ports: - 8080:8080 environment: TZ: "America/New_York" volumes: - ./immich-frame/settings.yml:/app/Config/Settings.yml - ./api-keys:/app/Config/api-keys restart: unless-stopped Settings.yml General: AuthenticationSecret: null ImageLocationFormat: 'City, State, Country' UnitSystem: imperial Interval: 45 TransitionDuration: 2 BaseFontSize: 17px ShowWeatherDescription: false ImageZoom: false Layout: single Accounts: - ImmichServerUrl: http://immich-server1:2283 ApiKeyFile: "/app/Config/api-keys/server1.key" ImagesFromDate: null ShowMemories: false ShowFavorites: false ShowArchived: true ShowVideos: false ImagesFromDays: null ImagesUntilDate: null Albums: - ee488ac7-2f99-4fe8-8167-3b81364998ab - ImmichServerUrl: http://immich-server2:2283 ApiKeyFile: "/app/Config/api-keys/server2.key" ImagesFromDate: null ShowMemories: false ShowFavorites: false ShowArchived: true ShowVideos: false ImagesFromDays: null ImagesUntilDate: null Albums: - ce5103ec-ad49-4036-8881-1ceec5f2834dLogs
Pre-Submission Checklist
This is a bug report and not a feature request
I have provided all of the required information to reproduce the bug (config, logs, etc.)
I have checked for related issues and checked the documentation