lightninglabs / lightning-node-connect

MIT License
78 stars 22 forks source link

Unable to reconnect to node via LNC when network connection was down (e. g. airplane mode was on) #78

Open myxmaster opened 1 year ago

myxmaster commented 1 year ago

I found this one while using Zeus, described it also there (https://github.com/ZeusLN/zeus/issues/1483), but it probably needs to be fixed on LNC side.

Problem

When connected to a node via LNC and the connection breaks during app usage, it cannot be recovered (when you bring network connection down/up while Zeus runs in background, LNC connection is not permanently broken - no idea what this is about...). Not even when restarting the app.

I already tried to debug this and found, that the connectServer() method of the LncModule does not return an error, but the isConnected() method returns false every time.

Reproduce (using Zeus)

Error: rpc error: code = Unavailable desc = error reading from server: error decrypting payload: error receiving from go-back-n connection: cannot receive, gbn exited

->Error is shown:

Failed to connect the LNC client to the proxy server

positiveblue commented 1 year ago

I think I have experienced this myself.

When you say LNC connection is not permanently broken - no idea what this is about...). Not even when restarting the app., what do you mean? Stopping the app and starting it again does not solve the problem?

myxmaster commented 1 year ago

When network connection is brought down/up while Zeus runs in background, next Zeus app start does have issues (crash or endless loading), but after restarting the app, it works again. That is not the case when network connection is brought down/up during app usage - this will kill LNC connection and it can't recover (until a timeout which I don't know how long it takes).

joergrs commented 10 months ago

I am facing the same issue from time to time. My LND with LightingTerminal-LNC is running on a machine in my LAN.

To reproduce the problem I have to do the following steps

  1. With the phone in my local Wifi, open up Zeus -> connection OK
  2. Kill Zeus and wait for a minute
  3. Turn off Wifi -> phones switches to mobile data
  4. Open Zeus -> "Failed to connect the LNC client to the proxy server"

Once it is in this state, I have to wait for some time (10 to 30 minutes?) until I can use Zeus again. No matter if I'm on WiFi or mobile data.

If it helps, I could try to make a screencast of the process.

A fix would be really awesome 😎 As if this would happen while just having purchased something in a store that accepts Lightning, it would really kill the mood 😉

Thanks!