From d1501d2dab280c4524dd53c99f5866a01c81a5e1 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Mon, 13 Apr 2026 22:35:47 -0600 Subject: [PATCH] feat: Enhance plugin version check with error handling and logging --- src/PepperDash.Essentials/ControlSystem.cs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/PepperDash.Essentials/ControlSystem.cs b/src/PepperDash.Essentials/ControlSystem.cs index e89d3084..4d031cec 100644 --- a/src/PepperDash.Essentials/ControlSystem.cs +++ b/src/PepperDash.Essentials/ControlSystem.cs @@ -356,10 +356,18 @@ public class ControlSystem : CrestronControlSystem, ILoadConfig, IInitialization private void CheckPluginVersionsAgainstConfig() { - var versions = ConfigReader.ConfigObject.Versions; - - if (versions != null) + try { + Debug.LogInformation("Checking plugin versions against config..."); + + if (ConfigReader.ConfigObject == null) + return; + + var versions = ConfigReader.ConfigObject.Versions; + + if (versions == null) + return; + var pluginVersions = PluginLoader.EssentialsPluginAssemblies .Select(a => { @@ -383,6 +391,8 @@ public class ControlSystem : CrestronControlSystem, ILoadConfig, IInitialization } } + if (versions.Packages == null) + return; foreach (var version in versions.Packages) { @@ -402,6 +412,11 @@ public class ControlSystem : CrestronControlSystem, ILoadConfig, IInitialization } } } + catch (Exception ex) + { + InitializationExceptions.Add(ex); + Debug.LogMessage(ex, "Error checking plugin versions against config. Continuing with load."); + } } ///