Description
openedon Oct 9, 2024
Discussed in #9083
Originally posted by jonasraoni June 9, 2023
Given that any upgrade on the software has the power of breaking plugins, perhaps it makes sense to protect the application against errors on the plugins.
Besides the GatewayPlugin
(which have its own URL), plugins can also do real-time interventions through hooks/events and they might register themselves directly as callbacks somewhere across the codebase.
It's possible to protect the plugin instantiation with a try/catch
using a Throwable
(catches fatal errors), and with some workarounds, the hook/events might be shielded as well, but if the plugin registers itself as a callback somewhere, there's not much we can do for now.
Together with this, it's also needed to warn the administrator about the malfunctions, especially when it fails on the instantiation phase.