lightning-node-connect icon indicating copy to clipboard operation
lightning-node-connect copied to clipboard

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

Open myxmaster opened this issue 2 years ago • 7 comments
trafficstars

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)

  • Connect to node via LNC (Lightning Node Connect)
  • Bring network connection down, e. g. by enabling airplane mode
  • Bring network connection up again
  • Refresh balance -> Error is shown after some time:

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

  • Click restart button

->Error is shown:

Failed to connect the LNC client to the proxy server

myxmaster avatar Jun 08 '23 14:06 myxmaster

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?

positiveblue avatar Jun 08 '23 16:06 positiveblue

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).

myxmaster avatar Jun 08 '23 18:06 myxmaster

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!

joergrs avatar Aug 23 '23 11:08 joergrs