-
Notifications
You must be signed in to change notification settings - Fork 50
Settings design questions
Russell Yanofsky edited this page Jun 2, 2020
·
6 revisions
In-progress wiki page to summarize design questions raised in various settings pull requests. Meant to serve as discussion summary and informal decision log.
- Precedence of command line, static config, dynamic settings
- GUI handling of conflicting settings
- Keep "Options set in this dialog are overridden by the command line" overlay and show persistent value, or drop and show active value?
- Static config feature to disable dynamic settings
- Static config feature to override precedence
- Dynamic settings storage
- ini format, json format, other format?
- preserve comments?
- Default handling empty settings
- Treat as unset, or treat as errors, or something else?
- Default handling negated int settings
- Treat as 0, error, or something else?
- Default handling negated string settings
- Treat as empty string, error, or something else?
- Default handling negated list settings
- Treat as empty list, error, or something else?
- Drop
IsArgSet
method?- No known use cases for calling
IsArgSet
method without also callingIsArgNegated
method- In cases where
IsArgSet
is called correctly withIsArgNegated
, code can be simplified by usingGetArg*
calls instead - In cases where
IsArgSet
is called incorrectly withoutIsArgNegated
, there are strange behaviors and arguable bugs like-norpcwallet
connecting to the/wallet/0/
endpoint
- In cases where
- No known use cases for calling
- Drop
ForceSetArg
and/orSoftSetArg
methods?- Unclear if these help more code clarity more than they hurt. There are no cases where they are ever needed to provide functionality. They are just a way of injecting external data into the ArgsManager object that could be stored equivalently (and maybe with less complexity and ambiguity) by respective ArgsManager clients.
- #11082 Add new bitcoin_rw.conf file that is used for settings modified by this software itself luke-jr
- #12833 move QSettings to bitcoin_rw.conf where possible Sjors
- #13818 More intuitive GUI settings behavior when -proxy is set Sjors
- #15454 Remove the automatic creation and loading of the default wallet achow101
- #15935 Add /settings.json persistent settings storage ryanofsky
- #15936 Unify bitcoin-qt and bitcoind persistent settings ryanofsky
- #15937 Add loadwallet and createwallet load_on_startup options ryanofsky