diff --git a/src/extensions/extension-loader/extension-loader.ts b/src/extensions/extension-loader/extension-loader.ts index af5f05c100..8edec6c219 100644 --- a/src/extensions/extension-loader/extension-loader.ts +++ b/src/extensions/extension-loader/extension-loader.ts @@ -259,7 +259,7 @@ export class ExtensionLoader { return this.autoInitExtensions(async (extension: LensRendererExtension) => { const removeItems = [ registries.GlobalPageRegistry.getInstance().add(extension.globalPages, extension), - registries.AppPreferenceRegistry.getInstance().add(extension.appPreferences), + registries.AppPreferenceRegistry.getInstance().add(extension.appPreferences, extension), registries.EntitySettingRegistry.getInstance().add(extension.entitySettings), registries.StatusBarRegistry.getInstance().add(extension.statusBarItems), registries.CommandRegistry.getInstance().add(extension.commands), diff --git a/src/extensions/registries/app-preference-registry.ts b/src/extensions/registries/app-preference-registry.ts index fb20034d52..ac7e81fd07 100644 --- a/src/extensions/registries/app-preference-registry.ts +++ b/src/extensions/registries/app-preference-registry.ts @@ -20,6 +20,7 @@ */ import type React from "react"; +import type { LensExtension } from "../lens-extension"; import { BaseRegistry } from "./base-registry"; export interface AppPreferenceComponents { @@ -29,6 +30,7 @@ export interface AppPreferenceComponents { export interface AppPreferenceRegistration { title: string; + extensionId: string; id?: string; showInPreferencesTab?: string; components: AppPreferenceComponents; @@ -39,8 +41,9 @@ export interface RegisteredAppPreference extends AppPreferenceRegistration { } export class AppPreferenceRegistry extends BaseRegistry { - getRegisteredItem(item: AppPreferenceRegistration): RegisteredAppPreference { + getRegisteredItem(item: AppPreferenceRegistration, extension: LensExtension): RegisteredAppPreference { return { + extensionId: extension.id, id: item.id || item.title.toLowerCase().replace(/[^0-9a-zA-Z]+/g, "-"), ...item, };