lightninglabs / lnc-web

Lightning Node Connect npm module for web
https://docs.lightning.engineering/lightning-network-tools/lightning-terminal/lnc-npm
48 stars 17 forks source link

On methods that return a stream - `onError` throws an error when the stream ends #86

Open secondl1ght opened 1 year ago

secondl1ght commented 1 year ago

I discovered this when using the sendPaymentV2 method. I use the onMessage and onError streams that are returned. When the stream ends (the payment being sent has the 'SUCCEEDED' status), onError throws an error called EOF. I am assuming this means 'End-of-file' https://en.wikipedia.org/wiki/End-of-file.

I am able to escape this by checking for if (error.message === 'EOF') but it would be nice if this didn't happen. I don't think a stream being terminated should be treated as an error.

In situations where you want to alert the user of an error ex. with an Alert or Toast, you will always have to escape this normal ending of stream condition.

I have only tested this with sendPaymentV2 so it may only be an issue with this method, but I am guessing it may affect other ones as well.

jamaljsr commented 1 year ago

This is something we faced as well but were fine with checking for EOF at the app level. However, I do agree it would be better to handle this gracefully in lnc-web as long as it won't break anything. Thanks for the feedback.