BitcoinDesign / Bitcoin-Core-App

Tracking the design process for the Bitcoin Core App.
https://bitcoincore.app
MIT License
56 stars 11 forks source link

Warn that settings changed while node is running will not take into affect until the next startup #43

Open jarolrod opened 1 year ago

jarolrod commented 1 year ago

When a user makes changes to a setting after onboarding and when the node is running, those settings will not take into affect until the next node restart. The UI should provide a clear warning about this to the user.

In the Qt Widgets GUI this is accomplished like so, notice the red warning at the bottom of the screenshot:

Screen Shot 2023-02-06 at 1 00 10 AM

I think we could do something like the following in the screenshots below. Whenever a setting is changed, the main node setting page will display a warning at the bottom. And the gear icon in the setting screen can show a warning icon.

gear warning node setting page warning
setting-warning-a Screen Shot 2023-02-06 at 1 05 29 AM
GBKS commented 1 year ago

Here's a mock-up. I would not use red, seems too much like an error. I think it's also important that the copy makes it clear that it's about the changes the user has just made. It should not be passive or indirect ("...this change would require...", "Changes to settings...").

image

A slightly unrelated question here. Should there be 3 options for the mode: Light, Dark, and Automatic (= based on OS settings)?

yashrajd commented 1 year ago

A few suggestions:

For mobile: what does the restart requirement mean? Most users rarely/never quit an app on their phone. Can we relaunch the app for the user?

Happy to do mockups as needed...

GBKS commented 1 year ago

Good suggestions. Let's start with the logic.

  1. Which specific changes require a restart?
  2. Can we trigger a restart via a button press, both on desktop and mobile?
rabbitholiness commented 1 year ago

In short: any changes that touch Bitcoin :-)

yashrajd commented 1 year ago

Yes, and it makes total sense. Wonder if there are any exceptions/additional settings...

@jarolrod /@johnny9 will also look into the restart query and get back.

I'd like to work on this issue...

yashrajd commented 1 year ago

If I recollect correctly, @jarolrod said today that restart is possible but that would require some reworking of the codebase. So for now, we design for & communicate manual restart. Please correct if this is inaccurate in any way.

GBKS commented 1 year ago

While we're at it, let's design both versions, and keep the one we want eventually as a future issue to tackle. That way we don't have to come back to thinking through this specific issue months down the road.

yashrajd commented 1 year ago
Screenshot 2023-08-01 at 21 59 16
jarolrod commented 5 days ago

@GBKS do we want to go with @yashrajd suggestion here? If so can this go in the main design file? I'm working on a rework of optionsmodel to be able to take into account:

  1. All configuration values, and where they come from -> so we can show where a value is overriden from
  2. If a setting is modifable or not - a setting is modifiable if it is not overridden by bitcoin.conf or a terminal parameter
  3. Knowledge of when a value has changes, but a restart is required for the value to be applied

Will look something like this:

image