diff --git a/admin/src/pages/HomePage.tsx b/admin/src/pages/HomePage.tsx index f5ce0a5ab..c21f593f3 100644 --- a/admin/src/pages/HomePage.tsx +++ b/admin/src/pages/HomePage.tsx @@ -229,7 +229,30 @@ export const HomePage = () => { filteredInstallablePlugins.map((plugin) => { return {plugin.name} - {plugin.description} + + {plugin.description} + {plugin.disables && plugin.disables.length > 0 && ( +
+ Disables: + {plugin.disables + .map((tag) => tag.replace(/^@feature:/, '')) + .join(', ')} +
+ )} + {plugin.version} {plugin.time} diff --git a/admin/src/pages/Plugin.ts b/admin/src/pages/Plugin.ts index 7e556d8a6..72c768c53 100644 --- a/admin/src/pages/Plugin.ts +++ b/admin/src/pages/Plugin.ts @@ -4,6 +4,12 @@ export type PluginDef = { version: string, time: string, official: boolean, + /** + * `@feature:*` Playwright tags for core specs the plugin intentionally + * disables. See doc/PLUGIN_FEATURE_DISABLES.md. May be undefined for + * plugins without a disables list, which is the common case. + */ + disables?: string[], } diff --git a/src/node/types/PackageInfo.ts b/src/node/types/PackageInfo.ts index c1be45847..9f83754fa 100644 --- a/src/node/types/PackageInfo.ts +++ b/src/node/types/PackageInfo.ts @@ -10,7 +10,15 @@ export type PackageInfo = { }, homepage: string, repository: string, - path: string + path: string, + /** + * `@feature:*` Playwright tags for core specs the plugin intentionally + * disables. Sourced from the plugin's ep.json `disables` array; see + * doc/PLUGIN_FEATURE_DISABLES.md for the contract. Populated by the + * plugin-registry build pipeline; absent for plugins that don't + * declare a disables list. + */ + disables?: string[] }