diff --git a/ui/v2.5/src/components/Tagger/performers/StashSearchResult.tsx b/ui/v2.5/src/components/Tagger/performers/StashSearchResult.tsx index e30ca182a..ceef6d88d 100755 --- a/ui/v2.5/src/components/Tagger/performers/StashSearchResult.tsx +++ b/ui/v2.5/src/components/Tagger/performers/StashSearchResult.tsx @@ -18,6 +18,21 @@ interface IStashSearchResultProps { excludedPerformerFields: string[]; } +// #4596 - remove any duplicate aliases or aliases that are the same as the performer's name +function cleanAliases(currentName: string, aliases: string[]) { + const ret: string[] = []; + aliases.forEach((alias) => { + if ( + alias.toLowerCase() !== currentName.toLowerCase() && + !ret.find((r) => r.toLowerCase() === alias.toLowerCase()) + ) { + ret.push(alias); + } + }); + + return ret; +} + const StashSearchResult: React.FC = ({ performer, stashboxPerformers, @@ -43,6 +58,10 @@ const StashSearchResult: React.FC = ({ input.stash_ids = mergeStashIDs(performer.stash_ids, input.stash_ids); } + if (input.alias_list) { + input.alias_list = cleanAliases(performer.name, input.alias_list); + } + const updateData: GQL.PerformerUpdateInput = { ...input, id: performer.id,