Closed (fixed)
Project:
Drupal core
Version:
11.3.x-dev
Component:
theme system
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
8 Feb 2026 at 02:43 UTC
Updated:
14 Apr 2026 at 23:44 UTC
Jump to comment: Most recent
Comments
Comment #4
berdirPushed the changes I tested in #3105597: Stop copying block configuration from active theme when enabling a new theme into the MR.
Also updated the tested we added in the original issue to actually install a theme instead of just hardcoding the hooks. That then fails as expected on head.
I had to alter the test to use test_theme and not claro, because claro has its own config and then that also skips this logic.
Comment #5
berdirI noticed that moduleInstaller already had its own version of this, I pushed that logic into DrupalKernel so it's shared between the two installers and works the same way.
Comment #6
phenaproxima@berdir explained the test changes to me in Slack. I think they make sense, and are backed up by a comment so we don't accidentally regress it in the future.
What's more, I like this solution. It fixes the regression in
block_theme_initialize(), makes the extension system more consistent, and allows me to continue my armed truce with that (disliked) function...without needing to harbor a full-on vendetta.Comment #7
nicxvan commentedThanks for taking care of this!
Comment #12
catchCommitted/pushed to main, 11.x and 11.3.x, thanks!
Comment #15
herved commentedHi, this may have caused a regression, see #3584145: Call to member function removeComponent error after updating to 11.3.6 or something else needs updating/fixing.
There are quite a few modules using \Drupal::isConfigSyncing() in their hook_install, see here.
Any thoughts? Thank you
Comment #16
godotislateLooks the following code path might have an issue:
ModuleInstaller::install(),with the$module_listpassed to it having count > 1ModuleInstaller::doInstall(), then if the$module_listpassed todoInstall()has count > 1, this callsModuleInstaller::updateKernel([])$this->kernel->resetContainer(), and resetContainer does not persist the config installer sync statusComment #17
godotislateOpened #3584812: ConfigInstaller isSyncing does not persist to hook_modules_installed() when multiple modules are installed to address #16.