From 6a9b00426133bcf8d9d9bae64e0e0c68278dc403 Mon Sep 17 00:00:00 2001 From: Vojta Bartos Date: Mon, 20 Apr 2026 11:00:14 +0200 Subject: [PATCH 1/2] chore(code): hide environment pickers until environments are set up Generated-By: PostHog Code Task-Id: e06718c8-e6d5-4742-9b58-0ed9e46e2e3c --- .../components/EnvironmentSelector.tsx | 4 ++++ .../components/WorkspaceModeSelect.tsx | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx b/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx index 763acfcf9..389f450cd 100644 --- a/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx +++ b/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx @@ -48,6 +48,10 @@ export function EnvironmentSelector({ const selectedEnvironment = environments.find((env) => env.id === value); const displayText = selectedEnvironment?.name ?? "No environment"; + if (environments.length === 0) { + return null; + } + const handleChange = (newValue: string | null) => { onChange(newValue === NONE_VALUE ? null : newValue || null); setOpen(false); diff --git a/apps/code/src/renderer/features/task-detail/components/WorkspaceModeSelect.tsx b/apps/code/src/renderer/features/task-detail/components/WorkspaceModeSelect.tsx index 6bdabd8c4..08c8c8b77 100644 --- a/apps/code/src/renderer/features/task-detail/components/WorkspaceModeSelect.tsx +++ b/apps/code/src/renderer/features/task-detail/components/WorkspaceModeSelect.tsx @@ -168,14 +168,16 @@ export function WorkspaceModeSelect({
Cloud environments - + {environments.length > 0 && ( + + )}
From 75718c353323bf79b4e5fe64e7652d7c3f1a5db0 Mon Sep 17 00:00:00 2001 From: Vojta Bartos Date: Mon, 20 Apr 2026 11:00:37 +0200 Subject: [PATCH 2/2] chore(code): add help text to environment settings screens Generated-By: PostHog Code Task-Id: e06718c8-e6d5-4742-9b58-0ed9e46e2e3c --- .../sections/CloudEnvironmentsSettings.tsx | 61 ++++++++++++++++--- .../sections/environments/EnvironmentForm.tsx | 8 ++- .../environments/EnvironmentsSettings.tsx | 7 +++ 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx b/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx index e9489b4a6..73b507f8b 100644 --- a/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx +++ b/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx @@ -298,14 +298,18 @@ export function CloudEnvironmentsSettings() { {editingEnv - ? "Changes to your environment will apply to new sessions." - : "Configure a cloud environment for running tasks."} + ? "Changes take effect on the next session that uses this environment; running sessions are not affected." + : "Once created, you can pick this environment in the Cloud section of the workspace picker when starting a task."} Name + + Shown in the workspace picker. Pick a name that describes the access + profile, e.g. "Internal APIs" or "Read-only". + Network access + + Controls which hosts the sandbox may reach.{" "} + + Full + {" "} + allows any outbound traffic.{" "} + + Trusted sources only + {" "} + restricts traffic to a curated list of common package registries and + source hosts.{" "} + + Custom + {" "} + lets you define an explicit allowlist below. + @@ -333,7 +353,15 @@ export function CloudEnvironmentsSettings() { Allowed domains - List of domains (not URLs). Use * for wildcards. + One domain per line (not URLs — no scheme or path). Use{" "} + + * + {" "} + as a wildcard, e.g.{" "} + + *.example.com + {" "} + to cover all subdomains. Requests to any other host are blocked.