diff --git a/.betterer.results b/.betterer.results
index 304cee7afcb..7e77e31e128 100644
--- a/.betterer.results
+++ b/.betterer.results
@@ -3079,11 +3079,6 @@ exports[`better eslint`] = {
[0, 0, 0, "No untranslated strings in text props. Wrap text with or use t()", "0"],
[0, 0, 0, "No untranslated strings in text props. Wrap text with or use t()", "1"]
],
- "public/app/features/dashboard-scene/edit-pane/VizPanelEditPaneBehavior.tsx:5381": [
- [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "2"]
- ],
"public/app/features/dashboard-scene/embedding/EmbeddedDashboard.tsx:5381": [
[0, 0, 0, "No untranslated strings in text props. Wrap text with or use t()", "0"]
],
@@ -3304,11 +3299,6 @@ exports[`better eslint`] = {
"public/app/features/dashboard-scene/scene/UnlinkModal.tsx:5381": [
[0, 0, 0, "No untranslated strings in text props. Wrap text with or use t()", "0"]
],
- "public/app/features/dashboard-scene/scene/layout-rows/RowItem.tsx:5381": [
- [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "2"]
- ],
"public/app/features/dashboard-scene/scene/row-actions/RowActions.tsx:5381": [
[0, 0, 0, "No untranslated strings in text props. Wrap text with or use t()", "0"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts
index 88c11e84d6a..8e84aaf464e 100644
--- a/packages/grafana-data/src/types/featureToggles.gen.ts
+++ b/packages/grafana-data/src/types/featureToggles.gen.ts
@@ -249,4 +249,6 @@ export interface FeatureToggles {
k8SFolderMove?: boolean;
improvedExternalSessionHandlingSAML?: boolean;
teamHttpHeadersMimir?: boolean;
+ ABTestFeatureToggleA?: boolean;
+ ABTestFeatureToggleB?: boolean;
}
diff --git a/pkg/services/dashboards/store_mock.go b/pkg/services/dashboards/store_mock.go
index 7513af3125a..0d1e385f1dc 100644
--- a/pkg/services/dashboards/store_mock.go
+++ b/pkg/services/dashboards/store_mock.go
@@ -256,7 +256,6 @@ func (_m *FakeDashboardStore) GetAllDashboardsByOrgId(ctx context.Context, orgID
return r0, r1
}
-
// GetDashboard provides a mock function with given fields: ctx, query
func (_m *FakeDashboardStore) GetDashboard(ctx context.Context, query *GetDashboardQuery) (*Dashboard, error) {
ret := _m.Called(ctx, query)
diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go
index d626a1e1b42..95130d80dd8 100644
--- a/pkg/services/featuremgmt/registry.go
+++ b/pkg/services/featuremgmt/registry.go
@@ -1721,6 +1721,22 @@ var (
AllowSelfServe: false,
Owner: identityAccessTeam,
},
+ {
+ Name: "ABTestFeatureToggleA",
+ Description: "Test feature toggle to see how cohorts could be set up AB testing",
+ Stage: FeatureStageExperimental,
+ Owner: grafanaSharingSquad,
+ Expression: "false",
+ HideFromDocs: true,
+ },
+ {
+ Name: "ABTestFeatureToggleB",
+ Description: "Test feature toggle to see how cohorts could be set up AB testing",
+ Stage: FeatureStageExperimental,
+ Owner: grafanaSharingSquad,
+ Expression: "false",
+ HideFromDocs: true,
+ },
}
)
diff --git a/pkg/services/featuremgmt/toggles_gen.csv b/pkg/services/featuremgmt/toggles_gen.csv
index fb959d92242..8b5f0c8d11f 100644
--- a/pkg/services/featuremgmt/toggles_gen.csv
+++ b/pkg/services/featuremgmt/toggles_gen.csv
@@ -230,3 +230,5 @@ k8SFolderCounts,experimental,@grafana/search-and-storage,false,false,false
k8SFolderMove,experimental,@grafana/search-and-storage,false,false,false
improvedExternalSessionHandlingSAML,preview,@grafana/identity-access-team,false,false,false
teamHttpHeadersMimir,experimental,@grafana/identity-access-team,false,false,false
+ABTestFeatureToggleA,experimental,@grafana/sharing-squad,false,false,false
+ABTestFeatureToggleB,experimental,@grafana/sharing-squad,false,false,false
diff --git a/pkg/services/featuremgmt/toggles_gen.go b/pkg/services/featuremgmt/toggles_gen.go
index 96c92618629..473d0603c4a 100644
--- a/pkg/services/featuremgmt/toggles_gen.go
+++ b/pkg/services/featuremgmt/toggles_gen.go
@@ -930,4 +930,12 @@ const (
// FlagTeamHttpHeadersMimir
// Enables LBAC for datasources for Mimir to apply LBAC filtering of metrics to the client requests for users in teams
FlagTeamHttpHeadersMimir = "teamHttpHeadersMimir"
+
+ // FlagABTestFeatureToggleA
+ // Test feature toggle to see how cohorts could be set up AB testing
+ FlagABTestFeatureToggleA = "ABTestFeatureToggleA"
+
+ // FlagABTestFeatureToggleB
+ // Test feature toggle to see how cohorts could be set up AB testing
+ FlagABTestFeatureToggleB = "ABTestFeatureToggleB"
)
diff --git a/pkg/services/featuremgmt/toggles_gen.json b/pkg/services/featuremgmt/toggles_gen.json
index fedd1d2a2e7..49fe6f2c7ce 100644
--- a/pkg/services/featuremgmt/toggles_gen.json
+++ b/pkg/services/featuremgmt/toggles_gen.json
@@ -3,6 +3,34 @@
"apiVersion": "featuretoggle.grafana.app/v0alpha1",
"metadata": {},
"items": [
+ {
+ "metadata": {
+ "name": "ABTestFeatureToggleA",
+ "resourceVersion": "1736782112674",
+ "creationTimestamp": "2025-01-13T15:28:32Z"
+ },
+ "spec": {
+ "description": "Test feature toggle to see how cohorts could be set up AB testing",
+ "stage": "experimental",
+ "codeowner": "@grafana/sharing-squad",
+ "hideFromDocs": true,
+ "expression": "false"
+ }
+ },
+ {
+ "metadata": {
+ "name": "ABTestFeatureToggleB",
+ "resourceVersion": "1736782112674",
+ "creationTimestamp": "2025-01-13T15:28:32Z"
+ },
+ "spec": {
+ "description": "Test feature toggle to see how cohorts could be set up AB testing",
+ "stage": "experimental",
+ "codeowner": "@grafana/sharing-squad",
+ "hideFromDocs": true,
+ "expression": "false"
+ }
+ },
{
"metadata": {
"name": "accessActionSets",
diff --git a/pkg/services/featuremgmt/toggles_gen_test.go b/pkg/services/featuremgmt/toggles_gen_test.go
index 84319348eda..b0f6e8f745f 100644
--- a/pkg/services/featuremgmt/toggles_gen_test.go
+++ b/pkg/services/featuremgmt/toggles_gen_test.go
@@ -167,6 +167,9 @@ func TestFeatureToggleFiles(t *testing.T) {
func verifyFlagsConfiguration(t *testing.T) {
legacyNames := map[string]bool{
"live-service-web-worker": true,
+ // TODO: Remove this when removing feature toggles
+ "ABTestFeatureToggleA": true,
+ "ABTestFeatureToggleB": true,
}
invalidNames := make([]string, 0)