fix: special handling of unmarshalling for invalid json dashboards (#108519)

* implement special dashboard fallback logic when dashboard data has invalid json behind feature flag

---------

Co-authored-by: Will Assis <william@williamassis.com>
This commit is contained in:
Mustafa Sencer Özcan
2025-07-30 10:18:38 -04:00
committed by GitHub
co-authored by Will Assis
parent 4a34a2313c
commit 98e37f2ca9
36 changed files with 218 additions and 35 deletions
@@ -63,6 +63,12 @@ func ToUnifiedStorage(c utils.CommandLine, cfg *setting.Cfg, sqlStore db.DB) err
},
}
featureManager, err := featuremgmt.ProvideManagerService(cfg)
if err != nil {
return err
}
featureToggles := featuremgmt.ProvideToggles(featureManager)
provisioning, err := newStubProvisioning(cfg.ProvisioningPath)
if err != nil {
return err
@@ -76,9 +82,10 @@ func ToUnifiedStorage(c utils.CommandLine, cfg *setting.Cfg, sqlStore db.DB) err
nil, // no librarypanels.Service
sort.ProvideService(),
acimpl.ProvideAccessControl(featuremgmt.WithFeatures()),
featureToggles,
)
client, err := newUnifiedClient(cfg, sqlStore)
client, err := newUnifiedClient(cfg, sqlStore, featureToggles)
if err != nil {
return err
}
@@ -215,12 +222,7 @@ func promptYesNo(prompt string) (bool, error) {
}
}
func newUnifiedClient(cfg *setting.Cfg, sqlStore db.DB) (resource.ResourceClient, error) {
featureManager, err := featuremgmt.ProvideManagerService(cfg)
if err != nil {
return nil, err
}
featureToggles := featuremgmt.ProvideToggles(featureManager)
func newUnifiedClient(cfg *setting.Cfg, sqlStore db.DB, featureToggles featuremgmt.FeatureToggles) (resource.ResourceClient, error) {
return unified.ProvideUnifiedStorageClient(&unified.Options{
Cfg: cfg,
Features: featureToggles,