[Qt] add startup option to reset Qt settings#7006
Conversation
|
What kind of invalid settings is it? Do we save invalid values or values become invalid by time or by other reasons? Do you have an example? |
|
Otherwise we have to document this for users so they can find it. But I think it is cleaner to prevent it to happen. |
|
I think having a way of resetting the qt settings is nice, although i agree with @paveljanik that it should not be possible to "save" a invalid proxy over the GUI settings panel. You can test it yourself by setting a proxy in the GUI settings panel with the IP "0.0.0.0" (port doesn't matter). Open the settings window and allow the user to change it, would be a invasive change to the startup process. I have though about a "reset setting" button in a error dialog during startup,... but that also feels wrong. |
See #6749. |
|
I do not want the user to be redirected to But anyway, having this option is good anyway, lets document it :-) |
|
Well yes, a corrupted proxy setting should result in a warning, not a fatal error. But I suspect that's only one of the things that can go wrong. Having a 'reset to factory settings' can never hurt. |
Thinking about this a bit I'm not sure. It makes sense to have this fatal. Or at least have it disable all networking. |
|
Yes, proxy setting is very sensible (this is why I asked for other examples, because I have heard - and read in #6749 - only about proxy setting so far). |
|
I agree, the proxy setting is very sensible. A better approach would be to check the proxy when entering an IP in the QT settings panel. We shouldn't allow a invalid proxy so it would never lead to a startup error. |
|
Jonas: the setting can be invalidated by time, network issues etc... |
|
Or it can even be an attack. |
There is more than just fatal and warning. Couldn't we do a prompt with something like ? |
|
Hmm.. the only check where a invalid proxy can lead to a app startup error & termination is An attack would be possible, although not much different to an attack to However, I think this PR is useful in case of invalid or corrupt Qt settings. |
|
Yes, this PR is useful, but you shouldn't call it "Fixes #6749." |
|
Added a |
|
@MarcoFalke: right. It doesn't fix #6749, i'll just changes the PR description. Will work on a additional fix. |
|
What about removing |
868c49d to
f71bfef
Compare
|
Yes. The |
|
ACK Thanks! |
|
Concept ACK |
Fixes #6749.can cure issues like #6749.Setting a invalid Proxy (
-proxy) or TorProxy (-onion) over the GUI settings panel will result in anInitError()(terminate the app) during the next app startup. Qt stores its settings in the windows registry and similar infrastructures and are therefore non-trivial to flush.This PR adds a startup argument
-resetguisettingswhich resets all GUI settings and reenable a smooth startup.This does not affect the
bitcoin.conffile (different settings layer).I'm not entirely happy with this solution because some (most?) non expert users have problems starting bitcoin-qt with a command line argument because it involves opening a shell (cmd.exe, etc.).