webui: Deduplicate model aliases in data + handle single/multiple aliases in UI (#22979)

* fix: Deduplicate aliases + display single alias instead of default name or 2+ aliases as tags

* refactor: Address review comments
This commit is contained in:
Aleksander Grygier
2026-05-13 16:39:36 +02:00
committed by GitHub
parent 46be24d121
commit 2dfeca31cc
2 changed files with 2271 additions and 2262 deletions
+2257 -2255
View File
File diff suppressed because it is too large Load Diff
@@ -31,9 +31,12 @@
let parsed = $derived(ModelsService.parseModelId(modelId)); let parsed = $derived(ModelsService.parseModelId(modelId));
let resolvedShowRaw = $derived(showRaw ?? (config().showRawModelNames as boolean) ?? false); let resolvedShowRaw = $derived(showRaw ?? (config().showRawModelNames as boolean) ?? false);
let displayName = $derived(parsed.modelName ?? modelId);
let allAliases = $derived(aliases ?? []); let uniqueAliases = $derived([...new Set(aliases ?? [])]);
let allTags = $derived([...(parsed.tags ?? []), ...(tags ?? [])]); let uniqueTags = $derived([...new Set([...(parsed.tags ?? []), ...(tags ?? [])])]);
let primaryAlias = $derived(uniqueAliases.length === 1 ? uniqueAliases[0] : null);
let displayName = $derived(primaryAlias ?? parsed.modelName ?? modelId);
</script> </script>
{#if resolvedShowRaw} {#if resolvedShowRaw}
@@ -56,14 +59,18 @@
</span> </span>
{/if} {/if}
{#if allAliases.length > 0} {#if primaryAlias}
{#each allAliases as alias (alias)} {#if primaryAlias !== parsed.modelName}
<span class={badgeClass}>{parsed.modelName ?? modelId}</span>
{/if}
{:else if uniqueAliases.length > 1}
{#each uniqueAliases as alias (alias)}
<span class={badgeClass}>{alias}</span> <span class={badgeClass}>{alias}</span>
{/each} {/each}
{/if} {/if}
{#if allTags.length > 0} {#if uniqueTags.length > 0}
{#each allTags as tag (tag)} {#each uniqueTags as tag (tag)}
<span class={tagBadgeClass}>{tag}</span> <span class={tagBadgeClass}>{tag}</span>
{/each} {/each}
{/if} {/if}