From 2e675ee87a63ff5cc900c327a11995fe4cf3c1c4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 22 Feb 2026 12:47:43 +1100 Subject: [PATCH] [bug] Check for null plugin config (#11394) * Check for null plugin config * Handle potential errors --- src/backend/InvenTree/plugin/registry.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index 9d92637bba..47f43d997f 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -473,12 +473,19 @@ class PluginsRegistry: # Ensure that each loaded plugin has a valid configuration object in the database for plugin in self.plugins.values(): - config = self.get_plugin_config(plugin.slug) + if config := self.get_plugin_config(plugin.slug): + # Ensure mandatory plugins are marked as active + if config.is_mandatory() and not config.active: + config.active = True - # Ensure mandatory plugins are marked as active - if config.is_mandatory() and not config.active: - config.active = True - config.save(no_reload=True) + try: + config.save(no_reload=True) + except (OperationalError, ProgrammingError): + # Database is not ready, cannot save config + logger.warning( + "Database not ready - cannot set mandatory flag for plugin '%s'", + plugin.slug, + ) except Exception as e: logger.exception('Unexpected error during plugin reload: %s', e)