From 6b8cbdae6cc10e9375e40abe16d150be8b0e3e5c Mon Sep 17 00:00:00 2001 From: fullstackjam Date: Fri, 17 Jul 2026 20:32:15 +0800 Subject: [PATCH] fix(ui): keep full owner/name for tap chips in config editor displayName() unconditionally took the last slash-separated segment, which is right for three-segment package paths (cirruslabs/cli/tart -> tart) but destroys a tap's identity: a tap name *is* owner/name, so cirruslabs/cli rendered as "cli" and openbootdotdev/tap as "tap". Taps now keep their full name, matching the Homebrew taps section in ConfigDetail.svelte, which already renders p.name unabridged. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01NExRvhpGqvdcoj5zZFtoQL --- src/lib/components/PackageManager.svelte | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/components/PackageManager.svelte b/src/lib/components/PackageManager.svelte index f94ccec..12c8351 100644 --- a/src/lib/components/PackageManager.svelte +++ b/src/lib/components/PackageManager.svelte @@ -31,8 +31,9 @@ return 'var(--accent)'; } - /** "cirruslabs/cli/tart" → "tart" */ - function displayName(name: string): string { + /** "cirruslabs/cli/tart" → "tart". Taps keep their full "owner/name" identity. */ + function displayName(name: string, type: string): string { + if (type === 'tap') return name; if (name.includes('/')) return name.split('/').pop() as string; return name; } @@ -119,7 +120,7 @@
{#each packageList as pk (pk.type + ':' + pk.name)} - {displayName(pk.name)} + {displayName(pk.name, pk.type)} {/each}