diff --git a/public/app/core/components/AppChrome/TopBar/HelpTopBarButton.tsx b/public/app/core/components/AppChrome/TopBar/HelpTopBarButton.tsx index 27198a86050..1dcb30c9f48 100644 --- a/public/app/core/components/AppChrome/TopBar/HelpTopBarButton.tsx +++ b/public/app/core/components/AppChrome/TopBar/HelpTopBarButton.tsx @@ -28,7 +28,18 @@ export const HelpTopBarButton = memo(function HelpTopBarButton({ isSmallScreen } const interactiveLearningPluginId = getInteractiveLearningPluginId(availableComponents); - if (isSmallScreen || !enrichedHelpNode.hideFromTabs || interactiveLearningPluginId === undefined) { + // Check if the component is actually registered, not just if the plugin exists + // This allows plugins to conditionally register their sidebar component (e.g., for A/B testing) + const componentId = interactiveLearningPluginId + ? getComponentIdFromComponentMeta(interactiveLearningPluginId, 'Interactive learning') + : undefined; + + // Show native help dropdown if: + // - Screen is small (mobile/responsive), OR + // - hideFromTabs is false, OR + // - Interactive learning plugin is not installed, OR + // - Interactive learning component is not registered (plugin may exist but chose not to register) + if (isSmallScreen || !enrichedHelpNode.hideFromTabs || interactiveLearningPluginId === undefined || componentId === undefined) { return ( } placement="bottom-end"> ); -}); +}); \ No newline at end of file