fix(usage): show edited connection names consistently across views

Prefer edited name over provider email/displayName in Providers and
Quota Tracker; surface the provider-sourced email/display as secondary
text. Keeps fallbacks for legacy or unnamed connections.

Closes #1699

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
EmirhanandCursor authored and decolua committed 2026-06-17 10:11:12 +07:00
1 parent 4078f36ced
commit df37bb3468
3 files changed
+33 -9

No files matched your search

@@ -71,10 +71,15 @@ export default function ConnectionRow({ connection, proxyPools, isOAuth, isFirst
const isCookieConnection = rowAuthType === "cookie";
const authIcon = isCookieConnection ? "cookie" : isOAuthConnection ? "lock" : "key";
const authLabel = isOAuthConnection ? "OAuth" : isCookieConnection ? "Cookie" : "API Key";
const isEmail = (v) => typeof v === "string" && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v);
const displayName = isOAuthConnection
? (isEmail(connection.email) ? connection.email : (isEmail(connection.name) ? connection.name : (connection.name || connection.email || connection.displayName || "OAuth Account")))
: (connection.name || connection.email || connection.displayName || "API Key");
const displayName = connection.name?.trim()
|| connection.email?.trim()
|| connection.displayName?.trim()
|| (isOAuthConnection ? "OAuth Account" : isCookieConnection ? "Cookie Account" : "API Key");
const secondaryDisplayName = connection.name?.trim() && connection.email?.trim() && connection.name.trim() !== connection.email.trim()
? connection.email.trim()
: connection.name?.trim() && connection.displayName?.trim() && connection.name.trim() !== connection.displayName.trim()
? connection.displayName.trim()
: null;
// Use useState + useEffect for impure Date.now() to avoid calling during render
const [isCooldown, setIsCooldown] = useState(false);
@@ -152,6 +157,9 @@ export default function ConnectionRow({ connection, proxyPools, isOAuth, isFirst
</span>
<div className="flex-1 min-w-0">
<p className="text-sm font-medium truncate">{displayName}</p>
{secondaryDisplayName && (
<p className="text-xs text-text-muted truncate">{secondaryDisplayName}</p>
)}
<div className="mt-1 flex min-w-0 flex-wrap items-center gap-1.5 sm:gap-2">
<Badge variant={getStatusVariant()} size="sm" dot>
{connection.isActive === false ? "disabled" : (effectiveStatus || "Unknown")}