From e35ce1e79d9651357a945c0d8bf39be9f2bf4f2d Mon Sep 17 00:00:00 2001 From: Boy132 Date: Mon, 23 Feb 2026 20:25:19 +0100 Subject: [PATCH] Use folder name as id when having id mismatch to allow deletion (#2263) --- app/Models/Plugin.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/Models/Plugin.php b/app/Models/Plugin.php index 50808d84c..09a45706e 100644 --- a/app/Models/Plugin.php +++ b/app/Models/Plugin.php @@ -109,13 +109,11 @@ class Plugin extends Model implements HasPluginSettings continue; } - $plugin = Str::lower($plugin); - try { $data = File::json($path, JSON_THROW_ON_ERROR); $data['id'] = Str::lower($data['id']); - if ($data['id'] !== $plugin) { + if ($data['id'] !== Str::lower($plugin)) { throw new PluginIdMismatchException("Plugin id mismatch for folder name ($plugin) and id in plugin.json ({$data['id']})!"); } @@ -161,7 +159,7 @@ class Plugin extends Model implements HasPluginSettings if (!$exception instanceof JsonException) { $plugins[] = [ - 'id' => $data['id'] ?? Str::uuid(), + 'id' => $exception instanceof PluginIdMismatchException ? $plugin : ($data['id'] ?? Str::uuid()), 'name' => $data['name'] ?? Str::headline($plugin), 'author' => $data['author'] ?? 'Unknown', 'version' => $data['version'] ?? '0.0.0',