breez / breez-sdk-greenlight

MIT License
244 stars 44 forks source link

SDK should be ready for payment right after connect #516

Open roeierez opened 1 year ago

roeierez commented 1 year ago

Right now we have some cases where trying to send payment right after connect (on existing node) returns with no route. It seems that when the connect returns we are not making sure the node is connected to the lsp which is for sure one case that causes this issue. We can start with this fix.

ok300 commented 1 year ago

@JssDWt from what you've seen, were they outgoing payments or incoming payments those that failed with no_route right after connect?

roeierez commented 1 year ago

@ok300 the issue is for sending and I was able to reproduce it. I added connect to lsp peer as part of the connect method and it didn't solve the issue. In addition Talking to @cdecker my understanding is that greenlight already holds the pay request until the lsp peer is connected. It turns out that there is an issue there and the pay is released before the channel is really active. I will leave this open until is fixed in gl.

JssDWt commented 1 year ago

@roeierez It was not about sending. It happened on node_info, receive_payment and lnurl_withdraw. Several types of issues:

I don't think I specifically had issues with connect regarding sent payments. no_route was not an issue specifically. (there were cases of no_route, bit they were in the other direction, where the sdk was the recipient)

roeierez commented 1 year ago

@JssDWt the list above I believe is not one issue but different use cases where each use case is a potential issue :) I suggest to open issue for every use case but this specific issue is about getting no route when attempting to send immediately after connect. It is reproducible. The transport error I believe is this one: https://github.com/breez/breez-sdk/issues/511 Please open an issue for service not available if you can as I am not aware of the exact details.