Skip to content

QML "hidden wallet" feature #10688

Description

@SomberNight

It would be neat if there was a feature in the qml gui where a wallet could be marked as hidden: it would not show up in the list of wallets but it could still be opened somehow. For example, maybe a user could have a watch-only wallet for their cold storage, on their phone, as a hidden wallet.


There are several UI/UX questions that arise:

  1. how to mark/unmark a wallet as hidden
  2. how to open a hidden wallet
    • we could repurpose the wizard: user clicks "Create Wallet" and on the "New Wallet" screen, they enter a "Wallet name"
      • we already check if the name is available and only enable the "Next" button if it is
      • if the user sets the name to the name of an existing hidden wallet, we enable the "Next" button, and clicking it opens it
  3. what to do if the last wallet used when the app is cold-started is a hidden wallet? (config.CURRENT_WALLET)
    • I guess we should not auto-open it
    • maybe prevent the situation from happening in the first place by not setting config.CURRENT_WALLET to a hidden wallet?

In the past I had considered question (1) to be the most problematic (especially the "unmark" from hidden part).
But now I just realised we have it already implemented!!! It is already there!
@f321x implemented renaming wallet files in #10573, and this interacts with the little-known feature where if your wallet file name starts with a ., it won't get listed, lol.
So if you prepend the dot, you mark it as hidden; if you remove the dot, you unmark it.

So now only question (2) needs to be handled and implemented (and (3), but that's probably easy) :D

Alternatively, we should probably disallow prepending dots to wallet file names as users will not be able to open those wallets, but that would just be lame.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions