Small changes to the plugin loading system

This commit is contained in:
DJj123dj
2024-11-18 20:19:25 +01:00
parent 5a4b45aa3f
commit a31588f025
4 changed files with 26 additions and 10 deletions
+7 -9
View File
@@ -91,22 +91,20 @@ export const loadAllPlugins = async () => {
const missingDependencies: {id:string,missing:string}[] = []
const missingPlugins: {id:string,missing:string}[] = []
//go trough all plugins for errors
sortedPlugins.forEach((plugin) => {
//go through all plugins for errors
sortedPlugins.filter((plugin) => plugin.enabled).forEach((plugin) => {
const from = plugin.id.value
plugin.data.incompatiblePlugins.forEach((to) => {
//deny incompatibility if it already exists
if (incompatibilities.find((p) => (p.from == from && p.to == to) || (p.to == from && p.from == to))) return
//check for existence of both plugins => add to list
if (openticket.plugins.exists(to)) incompatibilities.push({from,to})
})
plugin.dependenciesInstalled().forEach((missing) => missingDependencies.push({id:from,missing}))
plugin.pluginsIncompatible(openticket.plugins).forEach((incompatible) => incompatibilities.push({from,to:incompatible}))
plugin.pluginsInstalled(openticket.plugins).forEach((missing) => missingPlugins.push({id:from,missing}))
})
//handle all incompatibilities
const alreadyLoggedCompatPlugins: string[] = []
incompatibilities.forEach((match) => {
if (alreadyLoggedCompatPlugins.includes(match.from) || alreadyLoggedCompatPlugins.includes(match.to)) return
else alreadyLoggedCompatPlugins.push(match.from,match.to)
const fromPlugin = openticket.plugins.get(match.from)
if (fromPlugin && !fromPlugin.crashed){
fromPlugin.crashed = true