Fix duplicate mention suggestion (#2528)

improve deduplication logic in getContextMenuOptions to handle context menu item keys more accurately
This commit is contained in:
Sam Hoang Van 2025-04-12 19:28:41 +07:00 • committed by GitHub
parent 2c8304ea31
commit e9980bcfa9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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