From 1294d722f2b33880d4488e99caaf017cf2bc8738 Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Thu, 26 Feb 2026 17:12:46 +0800 Subject: [PATCH] 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. --- Flow.Launcher.Core/Plugin/PluginManager.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs index 0223affeb..c7443ff4c 100644 --- a/Flow.Launcher.Core/Plugin/PluginManager.cs +++ b/Flow.Launcher.Core/Plugin/PluginManager.cs @@ -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];