Updated: Comment #44
Problem/Motivation
Import process cannot handle modules being enabled/disabled. This issue was discussed at length in Prague. The UI with respect to synching configuration probably needs to special case enabling and disabling of modules. Anything that triggers data deletion needs to notify the user. This is related to #2080823: Create API to discover content or config entities' soft dependencies and use this to present a confirm form on module uninstall but we should remember that during config import that core only support importing a complete config tree.
Proposed resolution
Make the configuration import a 2-step process: (1) handle any module changes, then (2) do the current import process. Account for the various scenarious outlined in #31
Remaining tasks
Waiting on #1969800: Add UUIDs to default configuration
User interface changes
None
Related Issues
#1199946: Disabled modules are broken beyond repair so the "disable" functionality needs to be removed
#1608842: Replace list of bootstrap modules, enabled modules, enabled themes, and default theme with config
#1890784: Refactor configuration import and sync functions
#1918926: Module dependencies are not respected when default configuration is imported
#1969800: Add UUIDs to default configuration
#2029771: Having installation profiles in system.module.yml causes config import to fail
#2029819: Implement a ThemeHandler to manage themes (@see ModuleHandler)
#2030073: Config cannot be imported in order for dependencies
Postponed until
#2030073: Config cannot be imported in order for dependencies