Skip to content

Commit 0627e46

Browse files
committed
in channel, force cloud, remove input choice
1 parent 5ecdb80 commit 0627e46

1 file changed

Lines changed: 7 additions & 56 deletions

File tree

packages/ui/src/features/canvas/components/ChannelHomeComposer.tsx

Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import {
1313
import { useConnectivity } from "../../../hooks/useConnectivity";
1414
import { track } from "../../../shell/analytics";
1515
import { useOptionalAuthenticatedClient } from "../../auth/authClient";
16-
import { useUserRepositoryIntegration } from "../../integrations/useIntegrations";
1716
import { PromptInput } from "../../message-editor/components/PromptInput";
1817
import { useDraftStore } from "../../message-editor/draftStore";
1918
import type { EditorHandle } from "../../message-editor/types";
@@ -25,14 +24,9 @@ import {
2524
type AgentAdapter,
2625
useSettingsStore,
2726
} from "../../settings/settingsStore";
28-
import {
29-
type WorkspaceMode,
30-
WorkspaceModeSelect,
31-
} from "../../task-detail/components/WorkspaceModeSelect";
32-
import { useCloudModeEnabled } from "../../task-detail/hooks/useCloudModeEnabled";
27+
import type { WorkspaceMode } from "../../task-detail/components/WorkspaceModeSelect";
3328
import { usePreviewConfig } from "../../task-detail/hooks/usePreviewConfig";
3429
import { useTaskCreation } from "../../task-detail/hooks/useTaskCreation";
35-
import { resolveWorkspaceModePreference } from "../../task-detail/hooks/workspaceModePreference";
3630
import { trackAndCreateCanvas } from "../createCanvasAnalytics";
3731
import { channelFeedQueryKey } from "../hooks/useChannelFeed";
3832
import {
@@ -64,8 +58,8 @@ interface ChannelHomeComposerProps {
6458
// of TaskInput: it reuses the same task-creation pipeline (model/mode/reasoning
6559
// preview config + useTaskCreation) but drops the repo/branch pickers — channel
6660
// tasks run repo-less and the agent attaches a repo lazily if it needs one. The
67-
// starter-prompt suggestions render in the parent above the box; this owns the
68-
// local/cloud selector.
61+
// starter-prompt suggestions render in the parent above the box. Channel tasks
62+
// always run in the cloud, so there's no local/cloud selector.
6963
export const ChannelHomeComposer = forwardRef<
7064
ChannelHomeComposerHandle,
7165
ChannelHomeComposerProps
@@ -108,9 +102,6 @@ export const ChannelHomeComposer = forwardRef<
108102
const {
109103
lastUsedAdapter,
110104
setLastUsedAdapter,
111-
lastUsedWorkspaceMode,
112-
setLastUsedWorkspaceMode,
113-
setLastUsedLocalWorkspaceMode,
114105
allowBypassPermissions,
115106
defaultInitialTaskMode,
116107
lastUsedInitialTaskMode,
@@ -124,30 +115,9 @@ export const ChannelHomeComposer = forwardRef<
124115
[setLastUsedAdapter],
125116
);
126117

127-
const cloudModeEnabled = useCloudModeEnabled();
128-
const { hasGithubIntegration } = useUserRepositoryIntegration();
129-
130-
// Repo-less channel tasks only run local or cloud (worktree needs a repo), so
131-
// collapse any lingering worktree preference down to local for the initial pick.
132-
const [workspaceMode, setWorkspaceModeState] = useState<WorkspaceMode>(() =>
133-
resolveWorkspaceModePreference({
134-
preferredMode: lastUsedWorkspaceMode === "cloud" ? "cloud" : "local",
135-
cloudModeEnabled,
136-
hasGithubIntegration,
137-
lastUsedLocalWorkspaceMode: "local",
138-
}),
139-
);
140-
const [selectedCloudEnvId, setSelectedCloudEnvId] = useState<string | null>(
141-
null,
142-
);
143-
const setWorkspaceMode = useCallback(
144-
(mode: WorkspaceMode) => {
145-
setWorkspaceModeState(mode);
146-
setLastUsedWorkspaceMode(mode);
147-
if (mode !== "cloud") setLastUsedLocalWorkspaceMode(mode);
148-
},
149-
[setLastUsedWorkspaceMode, setLastUsedLocalWorkspaceMode],
150-
);
118+
// Channel tasks always run in the cloud — the local/cloud pick is removed, so
119+
// the mode is fixed here and the default cloud environment is used.
120+
const workspaceMode: WorkspaceMode = "cloud";
151121

152122
const { modeOption, modelOption, thoughtOption, isLoading, setConfigOption } =
153123
usePreviewConfig(adapter);
@@ -247,10 +217,7 @@ export const ChannelHomeComposer = forwardRef<
247217
sessionId,
248218
selectedDirectory: "",
249219
workspaceMode,
250-
sandboxEnvironmentId:
251-
workspaceMode === "cloud" && selectedCloudEnvId
252-
? selectedCloudEnvId
253-
: undefined,
220+
sandboxEnvironmentId: undefined,
254221
editorIsEmpty,
255222
adapter,
256223
executionMode: currentExecutionMode,
@@ -311,22 +278,6 @@ export const ChannelHomeComposer = forwardRef<
311278

312279
return (
313280
<div className="flex w-full flex-col">
314-
{/* Canvas generation always runs in the cloud, so the local/cloud pick
315-
doesn't apply while canvas mode is armed. */}
316-
{!canvasArmed && (
317-
<div className="mb-2 flex items-center gap-2">
318-
<WorkspaceModeSelect
319-
value={workspaceMode}
320-
onChange={setWorkspaceMode}
321-
overrideModes={["local", "cloud"]}
322-
selectedCloudEnvironmentId={selectedCloudEnvId}
323-
onCloudEnvironmentChange={setSelectedCloudEnvId}
324-
size="1"
325-
disabled={isBusy}
326-
/>
327-
</div>
328-
)}
329-
330281
<PromptInput
331282
ref={editorRef}
332283
sessionId={sessionId}

0 commit comments

Comments
 (0)