- Issue created by @quietone
- First commit to issue fork.
- last update
over 1 year ago 29,283 pass - @akozoriz opened merge request.
- Status changed to Needs review
over 1 year ago 10:39am 19 April 2023 - Status changed to Needs work
over 1 year ago 1:41pm 19 April 2023 - πΊπΈUnited States smustgrave
Not sure if putting a check here is the right course. Could be hiding a deeper issue.
Issue summary solution is TBD.
- πΊπ¦Ukraine akozoriz
@smustgrave For me, it's definitely what we should do - check if the value from the config is an array before sending it to the implode function. If config doesn't exist in our system - it returns NULL and generates an error when we put it to the implode.
- πΊπΈUnited States smustgrave
But why was NULL ever passed there to begin with?
Not arguing against just want to make sure we aren't treating a symptom of a bigger problem.
- πΊπ¦Ukraine akozoriz
@smustgrave It returns NULL because the author did the following steps:
1. Delete the sync/update.settings.yml
2. Import configurations (drush cim) (it will delete the database configurations)That deletes 'update.settings' configuration from the active configuration. As a result, when we try to fetch 'update.settings' configuration to build UpdateSettingsForm, we will get NULL. If we properly handle this, we will build the config form and have the possibility save it and create a new 'update.settings' config.
- πΊπΈUnited States dww
I don't believe this is a bug. I thought we're not supposed to "babysit broken", and that core doesn't want defensive code to handle the case where your config isn't updated, etc. If you intentionally destroy the default config supplied by the module, aren't you on your own?
- π¦πΊAustralia larowlan π¦πΊπ.au GMT+10
I think we should mark this as closed won't fix.
When a module puts config in `config/install` it needs to be able to rely on its presence. This applies to whole config objects and their contents too.
Removing it in this fashion is breaking the warranty.
In D7 land variable_get took a fallback value but the config API doesn't support that by design - the object is expected to be present from the point of install.
If everytime a module accessed a config object that it defined in config/install it had to make sure it still existed, we'd have to add a lot of code all over core.
For those reasons I think this can be closed won't fix or works as designed. - Status changed to Closed: won't fix
8 months ago 12:10am 9 April 2024