From 3fc4ce907810fe60bba6665edb80e9498a84b5c9 Mon Sep 17 00:00:00 2001 From: sam hoang Date: Sat, 12 Apr 2025 19:19:41 +0700 Subject: [PATCH] improve deduplication logic in getContextMenuOptions to handle context menu item keys more accurately --- webview-ui/src/utils/context-mentions.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/webview-ui/src/utils/context-mentions.ts b/webview-ui/src/utils/context-mentions.ts index 5d240d8fd2..f294f0a030 100644 --- a/webview-ui/src/utils/context-mentions.ts +++ b/webview-ui/src/utils/context-mentions.ts @@ -246,8 +246,17 @@ export function getContextMenuOptions( const seen = new Set() const deduped = allItems.filter((item) => { // Normalize paths for deduplication by ensuring leading slashes - const normalizedValue = item.value && !item.value.startsWith("/") ? `/${item.value}` : item.value - const key = `${item.type}-${normalizedValue}` + const normalizedValue = item.value + let key = "" + if ( + item.type === ContextMenuOptionType.File || + item.type === ContextMenuOptionType.Folder || + item.type === ContextMenuOptionType.OpenedFile + ) { + key = normalizedValue! + } else { + key = `${item.type}-${normalizedValue}` + } if (seen.has(key)) return false seen.add(key) return true