ajnart / homarr

Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr)
https://homarr.dev
MIT License
6.23k stars 289 forks source link

Pings for offline devices not showing correctly #2121

Closed duka10 closed 1 month ago

duka10 commented 2 months ago

Environment

Docker

Version

0.15.4

Describe the problem

After update to latest version, ping not showing correctly for offline devices. Its not showing as red dot, instead its shown as orange dot and loading. I tried on two different servers and its the same problem.

I'm aware that are working on version 1.0 and its probably not a big of deal to investigate this.

Logs

Exporting hostname... Migrating database... yarn run v1.22.19 $ ts-node ./migrate.ts Done in 3.38s. Starting production server... Listening on port 7575 url: http://cf8e430c95a9:7575 ERROR App [object Object] not found ℹ Saving updated configuration of 'default' config. ℹ Local icons repository directory exists and contains 0 icons ℹ Saving updated configuration of 'default' config. ℹ Local icons repository directory exists and contains 0 icons ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087 ERROR Unexpected response: connect ECONNREFUSED 192.168.1.211:8087

Context

Screenshot 2024-09-02 110319

Please tick the boxes

manuel-rw commented 2 months ago

Hi, thanks for the post. This behaviour sounds correct to me. The orange dot should only be there if the data hasn't been loaded yet. If your application is not reachable, it will show red. Am I missing something?

duka10 commented 2 months ago

Until this version when some device or machine was offline it was always shown as red dot to me. On both machines. But now these two are offline but they always shown them as orange instead of red.

duka10 commented 2 months ago

I revert back to 0.15.3 and you can see how pings was working earlier, at least on my machines. Maybe its some kind of settings which i missed. These machines with red dots are offline.

Screenshot 2024-09-02 220122

manuel-rw commented 2 months ago

Ah sorry, I think I misunderstood. Will look into this bug..

ajnart commented 2 months ago

Ah sorry, I think I misunderstood. Will look into this bug..

It's strange, were there any changes to this behavior in the latest update ?

@duka10 it absolutely never turns red ? Could you please open the "network" tab in chrome dev tools and reload the page to check if the networks requests are successfully coming back ?

manuel-rw commented 2 months ago

The network requests aren't going to be the problem @ajnart ... We changed the retries and such. Hence this is likely the issue.

manuel-rw commented 2 months ago

Can you try whether the image tag fix-app-ping-retry-interval resolves your issues?

duka10 commented 2 months ago

Ah sorry, I think I misunderstood. Will look into this bug..

It's strange, were there any changes to this behavior in the latest update ?

@duka10 it absolutely never turns red ? Could you please open the "network" tab in chrome dev tools and reload the page to check if the networks requests are successfully coming back ?

@ajnart No it never turns red, checked after hour, still orange and loading.

Screenshot 2024-09-04 080226

duka10 commented 2 months ago

Can you try whether the image tag fix-app-ping-retry-interval resolves your issues?

Unfortunatly no. This is Network tab with this image.

2

manuel-rw commented 2 months ago

Can you re-try? Updated the image

duka10 commented 2 months ago

Sure. I just redeploy new image but its still the same.

manuel-rw commented 2 months ago

Please post both your console and log (remove and URLs) then. Thank you. https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log

duka10 commented 2 months ago

Logs:

ERROR Unexpected response: connect ECONNREFUSED 192...*:3214

ERROR Unexpected response: connect ECONNREFUSED 192...*:8090

ERROR Unexpected response: connect ECONNREFUSED 192...*:8081

ERROR Unexpected response: connect ECONNREFUSED 192...*:8082

ERROR Unexpected response: connect ECONNREFUSED 192...*:3002

ERROR Unexpected response: connect ECONNREFUSED 192...*:7912

ERROR Unexpected response: connect ECONNREFUSED 192...*:3214

ERROR Unexpected response: connect ECONNREFUSED 192...*:8090

ERROR Unexpected response: connect ECONNREFUSED 192...*:8081

ERROR Unexpected response: connect ECONNREFUSED 192...*:8082

WARN There are apps that have missing configuration options: [Homepage] please input the correct secrets once again for the concerned app(s), save them, exit edit mode and reload the page.

WARN There are apps that have missing configuration options: [Homepage] please input the correct secrets once again for the concerned app(s), save them, exit edit mode and reload the page.

ERROR Unexpected response: connect ECONNREFUSED 192...*:3002

ERROR Unexpected response: connect ECONNREFUSED 192...*:7912

ERROR Unexpected response: connect ECONNREFUSED 192...*:3214

ERROR Unexpected response: connect ECONNREFUSED 192...*:8090

Console:

<< query #1039 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 26, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1040 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 26, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1041 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 26, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1042 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 26, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1043 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1044 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 info Ping of app "Portainer" (https://192.*.*.*:9443/#!/home) returned 200 (Accepted) _app-b66c87d9fd92e390.js:192:75 XHRGET http://192...*:7575/api/trpc/app.ping,app.ping,app.ping,app.ping,app.ping,app.ping?batch=1&input={"0":{"json":{"id":"15c22143-c0f8-462c-92c6-1ed37bf883d7","configName":"default"}},"1":{"json":{"id":"1f91bdef-d60d-4341-8bcf-70178599055b","configName":"default"}},"2":{"json":{"id":"a33bc334-b967-49b4-b11d-db584e90d91f","configName":"default"}},"3":{"json":{"id":"90284769-f53c-43d6-a5cb-2c08c1d6bd43","configName":"default"}},"4":{"json":{"id":"b06a6c05-3c50-4cb9-9b6e-0bb18ed8fcb1","configName":"default"}},"5":{"json":{"id":"8d2d368b-1f9d-429c-8c1b-35075e0bc6a0","configName":"default"}}} [HTTP/1.1 422 Unprocessable Entity 21ms]

<< query #1045 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1046 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1047 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1048 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1049 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1050 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 XHRGET http://192...*:7575/api/trpc/app.ping,app.ping,app.ping,app.ping,app.ping,app.ping?batch=1&input={"0":{"json":{"id":"15c22143-c0f8-462c-92c6-1ed37bf883d7","configName":"default"}},"1":{"json":{"id":"1f91bdef-d60d-4341-8bcf-70178599055b","configName":"default"}},"2":{"json":{"id":"a33bc334-b967-49b4-b11d-db584e90d91f","configName":"default"}},"3":{"json":{"id":"90284769-f53c-43d6-a5cb-2c08c1d6bd43","configName":"default"}},"4":{"json":{"id":"b06a6c05-3c50-4cb9-9b6e-0bb18ed8fcb1","configName":"default"}},"5":{"json":{"id":"8d2d368b-1f9d-429c-8c1b-35075e0bc6a0","configName":"default"}}} [HTTP/1.1 422 Unprocessable Entity 41ms]

<< query #1051 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 46, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1052 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 47, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1053 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 47, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1054 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 48, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1055 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 48, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1056 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 48, context: {} } _app-b66c87d9fd92e390.js:32:409 XHRGET http://192...*:7575/api/trpc/app.ping,app.ping,app.ping,app.ping,app.ping,app.ping?batch=1&input={"0":{"json":{"id":"15c22143-c0f8-462c-92c6-1ed37bf883d7","configName":"default"}},"1":{"json":{"id":"1f91bdef-d60d-4341-8bcf-70178599055b","configName":"default"}},"2":{"json":{"id":"a33bc334-b967-49b4-b11d-db584e90d91f","configName":"default"}},"3":{"json":{"id":"90284769-f53c-43d6-a5cb-2c08c1d6bd43","configName":"default"}},"4":{"json":{"id":"b06a6c05-3c50-4cb9-9b6e-0bb18ed8fcb1","configName":"default"}},"5":{"json":{"id":"8d2d368b-1f9d-429c-8c1b-35075e0bc6a0","configName":"default"}}} [HTTP/1.1 422 Unprocessable Entity 22ms]

<< query #1057 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 28, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1058 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 28, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1059 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 28, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1060 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 29, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1061 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 29, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1062 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 29, context: {} } _app-b66c87d9fd92e390.js:32:409 XHRGET http://192...*:7575/api/trpc/app.ping,app.ping,app.ping,app.ping,app.ping,app.ping?batch=1&input={"0":{"json":{"id":"15c22143-c0f8-462c-92c6-1ed37bf883d7","configName":"default"}},"1":{"json":{"id":"1f91bdef-d60d-4341-8bcf-70178599055b","configName":"default"}},"2":{"json":{"id":"a33bc334-b967-49b4-b11d-db584e90d91f","configName":"default"}},"3":{"json":{"id":"90284769-f53c-43d6-a5cb-2c08c1d6bd43","configName":"default"}},"4":{"json":{"id":"b06a6c05-3c50-4cb9-9b6e-0bb18ed8fcb1","configName":"default"}},"5":{"json":{"id":"8d2d368b-1f9d-429c-8c1b-35075e0bc6a0","configName":"default"}}} [HTTP/1.1 422 Unprocessable Entity 21ms]

<< query #1064 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 26, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1065 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1066 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1067 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 27, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1068 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 28, context: {} } _app-b66c87d9fd92e390.js:32:409 << query #1069 app.ping
Object { input: {…}, result: TRPCClientError, elapsedMs: 28, context: {} } _app-b66c87d9fd92e390.js:32:409 XHRGET http://192...*:7575/api/trpc/app.ping,app.ping,app.ping,app.ping,app.ping,app.ping?batch=1&input={"0":{"json":{"id":"15c22143-c0f8-462c-92c6-1ed37bf883d7","configName":"default"}},"1":{"json":{"id":"1f91bdef-d60d-4341-8bcf-70178599055b","configName":"default"}},"2":{"json":{"id":"a33bc334-b967-49b4-b11d-db584e90d91f","configName":"default"}},"3":{"json":{"id":"90284769-f53c-43d6-a5cb-2c08c1d6bd43","configName":"default"}},"4":{"json":{"id":"b06a6c05-3c50-4cb9-9b6e-0bb18ed8fcb1","configName":"default"}},"5":{"json":{"id":"8d2d368b-1f9d-429c-8c1b-35075e0bc6a0","configName":"default"}}} [HTTP/1.1 422 Unprocessable Entity 23ms]

manuel-rw commented 2 months ago

@Meierschlumpf do you have an idea? I cannot reproduce this on my system. Is this possibly something with trpc?

timfischbach commented 2 months ago

I have the same issue:

Unable to retry app ping for app 'PVE-02' (4e0e7f1b-617c-4953-9419-b3e7903a29ac) TRPCClientError: Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 NextJS 54 Caused by: undefined 487-a5cf2f95659ef314.js:1:8386 NextJS 39

ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006 ERROR Unexpected response: connect EHOSTUNREACH 192.168.3.2:8006

Meierschlumpf commented 2 months ago

@Meierschlumpf do you have an idea? I cannot reproduce this on my system. Is this possibly something with trpc?

@manuel-rw when using the code from dev and specifying a local url that does not exist I also see only loading, but when I change it to retry: false it works for me