Plugins: Adds AppChrome extension point (#106623)

* Plugins: adds basic PopupExtension point

* Simplify the extension point.

* Excluding the app chrome extension to be rendered on login/signup pages.

* Added feature toggle to be able to disable the app chrome extensions.

* Adding an error boundary around the extension point.

* Changed the way we use the feature toggle.

* moved to use the helper function instead of filtering.

* removed duplace info.

* chore: remove leftover useMemo

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
This commit is contained in:
Hugo Häggmark
2025-06-30 06:32:08 +02:00
committed by GitHub
parent 470f3c1578
commit 15293a2ceb
8 changed files with 87 additions and 0 deletions
+10
View File
@@ -1771,6 +1771,16 @@ var (
Owner: grafanaPartnerPluginsSquad,
Expression: "false",
},
{
Name: "enableAppChromeExtensions",
Description: "Set this to true to enable all app chrome extensions registered by plugins.",
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
HideFromAdminPage: true,
HideFromDocs: true,
FrontendOnly: true,
Expression: "false", // extensions will be disabled by default
},
}
)
+1
View File
@@ -231,3 +231,4 @@ alertingImportAlertmanagerAPI,experimental,@grafana/alerting-squad,false,false,f
preferLibraryPanelTitle,privatePreview,@grafana/dashboards-squad,false,false,false
tabularNumbers,GA,@grafana/grafana-frontend-platform,false,false,false
newInfluxDSConfigPageDesign,privatePreview,@grafana/partner-datasources,false,false,false
enableAppChromeExtensions,experimental,@grafana/plugins-platform-backend,false,false,true
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
231 preferLibraryPanelTitle privatePreview @grafana/dashboards-squad false false false
232 tabularNumbers GA @grafana/grafana-frontend-platform false false false
233 newInfluxDSConfigPageDesign privatePreview @grafana/partner-datasources false false false
234 enableAppChromeExtensions experimental @grafana/plugins-platform-backend false false true
+4
View File
@@ -934,4 +934,8 @@ const (
// FlagNewInfluxDSConfigPageDesign
// Enables new design for the InfluxDB data source configuration page
FlagNewInfluxDSConfigPageDesign = "newInfluxDSConfigPageDesign"
// FlagEnableAppChromeExtensions
// Set this to true to enable all app chrome extensions registered by plugins.
FlagEnableAppChromeExtensions = "enableAppChromeExtensions"
)
+16
View File
@@ -943,6 +943,22 @@
"codeowner": "@grafana/aws-datasources"
}
},
{
"metadata": {
"name": "enableAppChromeExtensions",
"resourceVersion": "1750235111726",
"creationTimestamp": "2025-06-18T08:25:11Z"
},
"spec": {
"description": "Set this to true to enable all app chrome extensions registered by plugins.",
"stage": "experimental",
"codeowner": "@grafana/plugins-platform-backend",
"frontend": true,
"hideFromAdminPage": true,
"hideFromDocs": true,
"expression": "false"
}
},
{
"metadata": {
"name": "enableDatagridEditing",