Replies: 2 comments 1 reply
-
There are multiple components in the system that can rely on configuration settings. For instance, the user-agent itself can be customized with settings (think about user-agent CSS settings)... but components like the network/dns resolver would like to know if it needs to use a local resolver, doh, dnssect etc.. we can pass these options manually, but it would become a bit like prop-drilling in my opinion. Instead, we could have the store as a global dependency which all components can use. Since this is behind an interface, the implementation of the component store is not important right now. A simple text file will suffice for the time being. This setup will also allow to easily test different integration tests as we simply need to define a store with the correct settings in-memory and pass this to the given components. |
Beta Was this translation helpful? Give feedback.
-
Another thing is where we actually add settings. Do we have a configuration store that holds settings for all components available (so if we want to use a setting: I'd reckon the first option. This means that there is a large store of settings at a single point. It also means that it would be harder to get rid of obsolete settings, as we must check each component to see if the setting is still used. (we might internally keep track on when a setting has been called by the configuration store, this could provide a way to detect unused configuration settings, but it's a bit of overhead that we add (we might be able to add this to a configuration flag as well). |
Beta Was this translation helpful? Give feedback.
-
I want to be able to configure all settings through an cobfiguration store at gosub://config
This setup should show all configration parameters that are available in the engine, useragent en other components.
User should be able to see which config values have changed (bold) and should be able to reset
A quick filter should be available
Maybe import/export to json
Each config setting should consist of a clear helptext with what it is for.
Beta Was this translation helpful? Give feedback.
All reactions