Improved parallel plugin management

This commit is contained in:
Thorsten Sommer 2025-04-12 11:33:12 +02:00
parent 1c4da1c5d7
commit 42845eab90
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -88,16 +88,19 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis
// and we know our data directory.
//
if(PreviewFeatures.PRE_PLUGINS_2025.IsEnabled(this.SettingsManager))
{
_ = Task.Run(async () =>
{
// Ensure that all internal plugins are present:
await PluginFactory.EnsureInternalPlugins();
// Load (but not start) all plugins, without waiting for them:
var pluginLoadingTimeout = new CancellationTokenSource(TimeSpan.FromSeconds(5));
_ = PluginFactory.LoadAll(pluginLoadingTimeout.Token);
await PluginFactory.LoadAll(pluginLoadingTimeout.Token);
// Set up hot reloading for plugins:
PluginFactory.SetUpHotReloading();
});
}
// Register this component with the message bus: