From a9c112b8829961e21e5928b8adbdb6e6b60ccf27 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Wed, 23 Apr 2025 19:27:03 +0000 Subject: [PATCH] fix: handle extra workspace name case --- cli/ssh.go | 7 ++++++- cli/ssh_test.go | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cli/ssh.go b/cli/ssh.go index e02443e7032c6..0d28857ae631d 100644 --- a/cli/ssh.go +++ b/cli/ssh.go @@ -1453,6 +1453,7 @@ func collectNetworkStats(ctx context.Context, agentConn *workspacesdk.AgentConn, // Converts workspace name input to owner/workspace.agent format // Possible valid input formats: // workspace +// workspace.agent // owner/workspace // owner--workspace // owner/workspace--agent @@ -1467,7 +1468,11 @@ func normalizeWorkspaceInput(input string) string { case 1: return input // "workspace" case 2: - return fmt.Sprintf("%s/%s", parts[0], parts[1]) // "owner/workspace" + // Either "owner/workspace" or "workspace.agent" + if strings.Contains(input, "/") || strings.Contains(input, "--") { + return fmt.Sprintf("%s/%s", parts[0], parts[1]) // owner/workspace + } + return fmt.Sprintf("%s.%s", parts[0], parts[1]) // workspace.agent case 3: return fmt.Sprintf("%s/%s.%s", parts[0], parts[1], parts[2]) // "owner/workspace.agent" default: diff --git a/cli/ssh_test.go b/cli/ssh_test.go index c8ad072270169..81fe0570d2f32 100644 --- a/cli/ssh_test.go +++ b/cli/ssh_test.go @@ -106,6 +106,7 @@ func TestSSH(t *testing.T) { cases := []string{ "myworkspace", + "myworkspace.dev", "myuser/myworkspace", "myuser--myworkspace", "myuser/myworkspace--dev",