Skip to content

Commit cee52b8

Browse files
scopsycursoragent
andauthored
feat(dashboard): rename Dev override to Local tunnel connection (#10772)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
1 parent c58e2c8 commit cee52b8

2 files changed

Lines changed: 27 additions & 8 deletions

File tree

apps/dashboard/src/components/agents/agent-details-header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export function AgentDetailsHeader({ agent, isLoading, onRequestDelete }: AgentD
4646
<h1 className="text-text-strong text-[18px] font-medium leading-6 tracking-tight">{agent.name}</h1>
4747
{agent.devBridgeActive ? (
4848
<Badge variant="lighter" color="orange" size="sm">
49-
DEV
49+
LOCAL
5050
</Badge>
5151
) : null}
5252
</div>

apps/dashboard/src/components/agents/agent-sidebar-widget.tsx

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { AgentResponse, UpdateAgentBody } from '@/api/agents';
88
import { getAgentDetailQueryKey, updateAgent } from '@/api/agents';
99
import { NovuApiError } from '@/api/api.client';
1010
import { AnimatedBadgeDot, Badge } from '@/components/primitives/badge';
11+
import { HelpTooltipIndicator } from '@/components/primitives/help-tooltip-indicator';
1112
import { Input } from '@/components/primitives/input';
1213
import { showErrorToast, showSuccessToast } from '@/components/primitives/sonner-helpers';
1314
import { Switch } from '@/components/primitives/switch';
@@ -36,10 +37,18 @@ function formatLongDate(dateStr: string): string {
3637
return formatted;
3738
}
3839

39-
function SidebarRow({ label, children, className }: { label: string; children: React.ReactNode; className?: string }) {
40+
function SidebarRow({
41+
label,
42+
children,
43+
className,
44+
}: {
45+
label: React.ReactNode;
46+
children: React.ReactNode;
47+
className?: string;
48+
}) {
4049
return (
4150
<div className={cn('flex h-8 items-center justify-between px-1.5', className)}>
42-
<span className="text-text-soft text-label-xs font-medium">{label}</span>
51+
<span className="text-text-soft text-label-xs flex items-center gap-1 font-medium">{label}</span>
4352
<div className="flex items-center gap-1.5">{children}</div>
4453
</div>
4554
);
@@ -72,17 +81,17 @@ type BridgeUrlSectionProps = {
7281
};
7382

7483
function BridgeUrlSection({ agent, canWrite, isUpdatePending, onUpdate }: BridgeUrlSectionProps) {
75-
const isDevOverrideActive = Boolean(agent.devBridgeActive && agent.devBridgeUrl);
76-
const activeBridgeUrl = isDevOverrideActive ? agent.devBridgeUrl : agent.bridgeUrl;
84+
const isLocalTunnelActive = Boolean(agent.devBridgeActive && agent.devBridgeUrl);
85+
const activeBridgeUrl = isLocalTunnelActive ? agent.devBridgeUrl : agent.bridgeUrl;
7786

7887
return (
7988
<>
8089
<SidebarRow label="Bridge URL">
8190
{activeBridgeUrl ? (
8291
<div className="flex items-center gap-1">
83-
{isDevOverrideActive ? (
92+
{isLocalTunnelActive ? (
8493
<Badge variant="lighter" color="orange" size="sm">
85-
DEV
94+
LOCAL
8695
</Badge>
8796
) : null}
8897
<TruncatedUrl url={activeBridgeUrl} />
@@ -92,7 +101,17 @@ function BridgeUrlSection({ agent, canWrite, isUpdatePending, onUpdate }: Bridge
92101
)}
93102
</SidebarRow>
94103
{agent.devBridgeUrl ? (
95-
<SidebarRow label="Dev override">
104+
<SidebarRow
105+
label={
106+
<>
107+
Local tunnel connection
108+
<HelpTooltipIndicator
109+
size="3"
110+
text="When enabled, the agent forwards traffic to your local tunnel URL instead of the deployed agent endpoint. Use this to test changes locally without redeploying."
111+
/>
112+
</>
113+
}
114+
>
96115
<Switch
97116
checked={agent.devBridgeActive ?? false}
98117
disabled={!canWrite || isUpdatePending}

0 commit comments

Comments
 (0)