lightninglabs / lightning-terminal

Lightning Terminal: Your Home for Lightning Liquidity
MIT License
487 stars 82 forks source link

LND Account list gone from web GUI after 10 minutes #578

Open AndySchroder opened 1 year ago

AndySchroder commented 1 year ago

https://localhost:8443/connect looses it's list of accounts

Expected behavior

Show all accounts and allow them to be deleted and their balance adjusted.

Actual behavior

No accounts are shown

To reproduce

  1. Go to https://localhost:8443/connect
  2. Create a new session
  3. Custom permissions
  4. Create a custodial LND account.
  5. Go back to https://localhost:8443/connect
  6. Wait 10 minutes
  7. refresh https://localhost:8443/connect
  8. LND account is gone because the LNC pairing phrase has expired. The only way to deal with LND Accounts at this point is using litcli accounts.

System information

Standalone install on ubuntu

Remote lnd

v0.10.1-alpha, self compiled

levmi commented 1 year ago

Does this behavior exist if someone actually uses the pairing phrase for the account? Just curious!

Regardless, we should clean this up on our side for longer lasting pairing phrases for LND accounts. It's likely implemented this way as a legacy of a security measure for LNC pairing phrases overall.

AndySchroder commented 1 year ago

I think it is going away in your GUI because the pairing phrase has a limited usable time in order to be secure. However, the accounts don't seem to go away when using litcli.

I think your entire GUI should revolve around the idea that an account has a label (https://github.com/lightninglabs/lightning-terminal/issues/581) and the account is a non-transient object that is shown that can be managed in various ways (allowable actions, expiration, balance, spending rates(https://github.com/lightninglabs/lightning-terminal/issues/583), etc.). Then, part of managing an account (or at the end of creating an account), the user can use Lightning Node connect OR macaroons (https://github.com/lightninglabs/lightning-terminal/issues/580).

If you want to also have a part of the GUI that summarizes all temporary Lightning Node Connect pairing phrases that are active with a timeout countdown, that might be useful too, but right now it's unclear in the GUI what the page is and I really think you need both.

levmi commented 1 year ago

Generally agree with your thought process here. As context, I think we started off with a base UX focused on the LNC pairing phrase generation and maintenance as that feature came first. Then, when we launched LND accounts as an MVP, we sort of shoehorned that flow into the LNC pairing phrase generation UX. We didn't know at the time what the interest level would be in LND accounts and how much people would want to interact with them in the UX. Our hope was that we would get interest and feedback and then could prioritize more resourcing for it.

So, we were honestly waiting/hoping for this exact feedback to come in so that we could prioritize resourcing to build out more features for LND accounts along with a more dedicated UX flow. I think your feedback is spot on and is something that we'll start to work on from a design perspective initially and then implement. If you're interested, I would love to grab some time for a user interview at some point to flash potential designs and make sure that we end up covering all of the user flows that you're thinking about.

AndySchroder commented 1 year ago

Sure, you can find my contact information here: http://andyschroder.com/contact/ .