Skip to content

Commit f5bbf02

Browse files
committed
fix: settings save issues
1 parent eadf133 commit f5bbf02

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/Everywhere/Initialization/SettingsInitializer.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ public SettingsInitializer(Settings settings, [FromKeyedServices(typeof(Settings
4343

4444
public Task InitializeAsync()
4545
{
46+
InitializeObserver();
47+
4648
InitializeModelProviders();
4749
InitializeSearchEngineProviders();
4850

49-
InitializeObserver();
50-
5151
return Task.CompletedTask;
5252
}
5353

@@ -64,6 +64,15 @@ void HandleSettingsChanges(in ObjectObserverChangedEventArgs e)
6464

6565
private void InitializeModelProviders()
6666
{
67+
// Remove duplicate model providers by Id
68+
_settings.Model.ModelProviders.Reset(_settings.Model.ModelProviders.DistinctBy(m => m.Id));
69+
70+
foreach (var modelProvider in _settings.Model.ModelProviders)
71+
{
72+
// Remove duplicate model definitions by Id
73+
modelProvider.ModelDefinitions.Reset(modelProvider.ModelDefinitions.DistinctBy(m => m.Id));
74+
}
75+
6776
ApplyModelProviders(
6877
[
6978
new ModelProvider
@@ -606,6 +615,9 @@ private void InitializeSearchEngineProviders()
606615
{
607616
var webSearchEngineSettings = _settings.Plugin.WebSearchEngine;
608617

618+
// Remove duplicate search engine providers by Id
619+
webSearchEngineSettings.WebSearchEngineProviders.Reset(webSearchEngineSettings.WebSearchEngineProviders.DistinctBy(p => p.Id));
620+
609621
ApplySearchEngineProviders(
610622
[
611623
new WebSearchEngineProvider

0 commit comments

Comments
 (0)