diff --git a/app/MindWork AI Studio/Components/Settings/SettingsPanelApp.razor b/app/MindWork AI Studio/Components/Settings/SettingsPanelApp.razor index 97bd672d..88eb9f9c 100644 --- a/app/MindWork AI Studio/Components/Settings/SettingsPanelApp.razor +++ b/app/MindWork AI Studio/Components/Settings/SettingsPanelApp.razor @@ -26,7 +26,7 @@ var availablePreviewFeatures = ConfigurationSelectDataFactory.GetPreviewFeaturesData(this.SettingsManager).ToList(); if (availablePreviewFeatures.Count > 0) { - + } } diff --git a/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs b/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs index 9d066a7a..4e461f9d 100644 --- a/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs +++ b/app/MindWork AI Studio/Settings/ConfigurationSelectDataFactory.cs @@ -108,7 +108,7 @@ public static class ConfigurationSelectDataFactory public static IEnumerable> GetPreviewFeaturesData(SettingsManager settingsManager) { - foreach (var source in settingsManager.ConfigurationData.App.PreviewVisibility.GetPreviewFeatures()) + foreach (var source in settingsManager.ConfigurationData.App.PreviewVisibility.GetPreviewFeatures().Where(x => !x.IsReleased())) yield return new(source.GetPreviewDescription(), source); } diff --git a/app/MindWork AI Studio/Settings/DataModel/PreviewFeaturesExtensions.cs b/app/MindWork AI Studio/Settings/DataModel/PreviewFeaturesExtensions.cs index 79972185..e99fef96 100644 --- a/app/MindWork AI Studio/Settings/DataModel/PreviewFeaturesExtensions.cs +++ b/app/MindWork AI Studio/Settings/DataModel/PreviewFeaturesExtensions.cs @@ -17,5 +17,26 @@ public static class PreviewFeaturesExtensions _ => TB("Unknown preview feature") }; - public static bool IsEnabled(this PreviewFeatures feature, SettingsManager settingsManager) => settingsManager.ConfigurationData.App.EnabledPreviewFeatures.Contains(feature); + /// + /// Check if the preview feature is released or not. + /// + /// + /// This metadata is necessary because we cannot remove the enum values from the list. + /// Otherwise, we could not deserialize old settings files that may contain these values. + /// + /// The preview feature to check. + /// True when the preview feature is released, false otherwise. + public static bool IsReleased(this PreviewFeatures feature) => feature switch + { + PreviewFeatures.PRE_READ_PDF_2025 => true, + _ => false + }; + + public static bool IsEnabled(this PreviewFeatures feature, SettingsManager settingsManager) + { + if(feature.IsReleased()) + return true; + + return settingsManager.ConfigurationData.App.EnabledPreviewFeatures.Contains(feature); + } } \ No newline at end of file