From b3ac316e0b0d7e9ba0990eff9b8c575c4ba21b69 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 26 Apr 2026 04:17:11 +0100 Subject: [PATCH] fix: preserve indexed plugin diagnostics --- src/config/runtime-schema.test.ts | 2 +- src/plugins/manifest-registry-installed.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/config/runtime-schema.test.ts b/src/config/runtime-schema.test.ts index 4eab6e06eae..7e5ae190e56 100644 --- a/src/config/runtime-schema.test.ts +++ b/src/config/runtime-schema.test.ts @@ -238,7 +238,7 @@ describe("loadGatewayRuntimeConfigSchema", () => { loadGatewayRuntimeConfigSchema(); loadGatewayRuntimeConfigSchema(); - expect(mockLoadPluginManifestRegistry).toHaveBeenCalledTimes(3); + expect(mockLoadPluginManifestRegistry).toHaveBeenCalledTimes(6); for (const call of mockLoadPluginManifestRegistry.mock.calls) { expect(call[0]).toMatchObject({ cache: false }); } diff --git a/src/plugins/manifest-registry-installed.ts b/src/plugins/manifest-registry-installed.ts index 3d6241bb06a..90df5f8afc6 100644 --- a/src/plugins/manifest-registry-installed.ts +++ b/src/plugins/manifest-registry-installed.ts @@ -50,6 +50,12 @@ export function loadPluginManifestRegistryForInstalledIndex(params: { return { plugins: [], diagnostics: [] }; } const pluginIdSet = params.pluginIds?.length ? new Set(params.pluginIds) : null; + const diagnostics = pluginIdSet + ? params.index.diagnostics.filter((diagnostic) => { + const pluginId = diagnostic.pluginId; + return !pluginId || pluginIdSet.has(pluginId); + }) + : params.index.diagnostics; const candidates = params.index.plugins .filter((plugin) => params.includeDisabled || plugin.enabled) .filter((plugin) => !pluginIdSet || pluginIdSet.has(plugin.pluginId)) @@ -60,6 +66,7 @@ export function loadPluginManifestRegistryForInstalledIndex(params: { env: params.env, cache: false, candidates, + diagnostics: [...diagnostics], installRecords: extractPluginInstallRecordsFromInstalledPluginIndex(params.index), }); }