Skip to content

Commit 179ca9e

Browse files
authored
fix(task-detail): Remove cloudAvailable check, allowing Cloud setup (#2296)
## Problem I removed my personal integration from my PostHog account, and then I just had no "Cloud" button in new task mode selector – only "Local" and "Worktree", not even a "Connect GitHub for Cloud agents" button. Leaving no way for me to see the error message or reconnect their account. ## Changes Not hiding the "Cloud" option anymore when "Cloud is not available". Seem to have been introduced in #2045, but I don't quite understand what was the intention of _this specific_ guard. ## How did you test this? Ran this and indeed was able to connect GH. --- *Created with [PostHog Code](https://posthog.com/code?ref=pr)*
1 parent 7207e22 commit 179ca9e

3 files changed

Lines changed: 4 additions & 19 deletions

File tree

apps/code/src/renderer/features/task-detail/components/CloudGithubMissingNotice.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export function CloudGithubMissingNotice() {
2929
<Text size="1">
3030
{hasError
3131
? describeGithubConnectError(error)
32-
: "Connecting your personal GitHub is required to run cloud tasks."}
32+
: "Connect GitHub to your PostHog account for cloud tasks."}
3333
</Text>
3434
</Callout.Text>
3535
</Flex>

apps/code/src/renderer/features/task-detail/components/TaskInput.tsx

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ export function TaskInput({
8282
trpcReact.folders.getMostRecentlyAccessedRepository.queryOptions(),
8383
);
8484
const {
85-
lastUsedLocalWorkspaceMode,
8685
setLastUsedLocalWorkspaceMode,
8786
lastUsedWorkspaceMode,
8887
setLastUsedWorkspaceMode,
@@ -186,13 +185,8 @@ export function TaskInput({
186185
hasGithubIntegration,
187186
} = useUserRepositoryIntegration();
188187

189-
// Stay optimistic while the integration list resolves to avoid flicker.
190-
const cloudAvailable = isLoadingRepos || hasGithubIntegration;
191188
const [workspaceMode, setWorkspaceModeState] = useState<WorkspaceMode>(() => {
192189
if (initialCloudRepository) return "cloud";
193-
if (!cloudAvailable && lastUsedWorkspaceMode === "cloud") {
194-
return lastUsedLocalWorkspaceMode;
195-
}
196190
return lastUsedWorkspaceMode || "local";
197191
});
198192

@@ -203,12 +197,6 @@ export function TaskInput({
203197
setLastUsedLocalWorkspaceMode(mode);
204198
}
205199
};
206-
207-
useEffect(() => {
208-
if (workspaceMode === "cloud" && !cloudAvailable) {
209-
setWorkspaceModeState(lastUsedLocalWorkspaceMode);
210-
}
211-
}, [workspaceMode, cloudAvailable, lastUsedLocalWorkspaceMode]);
212200
const {
213201
repositories: visibleCloudRepositories,
214202
isPending: cloudRepositoriesLoading,
@@ -642,7 +630,6 @@ export function TaskInput({
642630
onChange={setWorkspaceMode}
643631
selectedCloudEnvironmentId={selectedCloudEnvId}
644632
onCloudEnvironmentChange={setSelectedCloudEnvId}
645-
cloudAvailable={cloudAvailable}
646633
size="1"
647634
/>
648635
{workspaceMode === "worktree" && (

apps/code/src/renderer/features/task-detail/components/WorkspaceModeSelect.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ interface WorkspaceModeSelectProps {
3636
overrideModes?: WorkspaceMode[];
3737
selectedCloudEnvironmentId?: string | null;
3838
onCloudEnvironmentChange?: (envId: string | null) => void;
39-
cloudAvailable?: boolean;
4039
}
4140

4241
const LOCAL_MODES: {
@@ -68,7 +67,6 @@ export function WorkspaceModeSelect({
6867
overrideModes,
6968
selectedCloudEnvironmentId,
7069
onCloudEnvironmentChange,
71-
cloudAvailable = true,
7270
}: WorkspaceModeSelectProps) {
7371
const cloudModeEnabled =
7472
useFeatureFlag("twig-cloud-mode-toggle") || import.meta.env.DEV;
@@ -82,9 +80,9 @@ export function WorkspaceModeSelect({
8280
openSettings("cloud-environments", "create");
8381
}, [openSettings]);
8482

85-
const showCloud =
86-
cloudAvailable &&
87-
(overrideModes ? overrideModes.includes("cloud") : cloudModeEnabled);
83+
const showCloud = overrideModes
84+
? overrideModes.includes("cloud")
85+
: cloudModeEnabled;
8886

8987
const localModes = useMemo(
9088
() =>

0 commit comments

Comments
 (0)