Page MenuHomePhabricator

Extensions can't dynamically load other extensions
Closed, DeclinedPublic

Description

This is probably not a great idea but... the VisualEditor extension would like to load the built-in Parsoid extension from vendor/wikimedia/parsoid iff LocalSettings.php didn't already load a version of Parsoid.

But the way ExtensionRegistry::loadFromQueue() works, the custom extension callback is called only *after* all the extensions are loaded, so even though Parsoid gets added to the queue for loading, it is never loaded.

We could move up the callbacks so that this works. Or do some more evil hack...

Event Timeline

The feature that's most likely to make it is T152263: Loading dependency from within another extension.

But I don't think we should be shipping Parsoid's fake extension.json in LTS...it was never supposed to be long-term, I'll take a look later.

The feature that's most likely to make it is T152263: Loading dependency from within another extension.

But I don't think we should be shipping Parsoid's fake extension.json in LTS...it was never supposed to be long-term, I'll take a look later.

Unfortunately we really need to ship it in LTS, unless you're going to build the final integration in five days…