Improve action keyword management in plugin metadata

Prevent duplicate action keywords by checking for existence before adding. Remove all instances of an old action keyword instead of just the first. Ensures action keyword lists remain unique and consistent.
This commit is contained in:
Jack251970 2026-02-26 17:12:46 +08:00
parent 3b771d155d
commit 1294d722f2

View file

@ -778,7 +778,10 @@ namespace Flow.Launcher.Core.Plugin
}
// Update action keywords and action keyword in plugin metadata
plugin.Metadata.ActionKeywords.Add(newActionKeyword);
if (!plugin.Metadata.ActionKeywords.Contains(newActionKeyword))
{
plugin.Metadata.ActionKeywords.Add(newActionKeyword);
}
if (plugin.Metadata.ActionKeywords.Count > 0)
{
plugin.Metadata.ActionKeyword = plugin.Metadata.ActionKeywords[0];
@ -818,7 +821,7 @@ namespace Flow.Launcher.Core.Plugin
}
// Update action keywords and action keyword in plugin metadata
plugin.Metadata.ActionKeywords.Remove(oldActionkeyword);
plugin.Metadata.ActionKeywords.RemoveAll(k => k == oldActionkeyword);
if (plugin.Metadata.ActionKeywords.Count > 0)
{
plugin.Metadata.ActionKeyword = plugin.Metadata.ActionKeywords[0];