Skip to content

Commit 95d095c

Browse files
committed
chore: remove local storage based optin/optout
1 parent 62e11f2 commit 95d095c

File tree

10 files changed

+23
-213
lines changed

10 files changed

+23
-213
lines changed

site/src/modules/workspaces/DynamicParameter/useDynamicParametersOptOut.ts

Lines changed: 0 additions & 37 deletions
This file was deleted.

site/src/modules/workspaces/WorkspaceMoreActions/WorkspaceMoreActions.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import {
2121
SettingsIcon,
2222
TrashIcon,
2323
} from "lucide-react";
24-
import { useDynamicParametersOptOut } from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
2524
import { type FC, useEffect, useState } from "react";
2625
import { useMutation, useQuery, useQueryClient } from "react-query";
2726
import { Link as RouterLink } from "react-router-dom";
@@ -43,13 +42,6 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
4342
}) => {
4443
const queryClient = useQueryClient();
4544

46-
const optOutQuery = useDynamicParametersOptOut({
47-
templateId: workspace.template_id,
48-
templateUsesClassicParameters:
49-
workspace.template_use_classic_parameter_flow,
50-
enabled: true,
51-
});
52-
5345
// Permissions
5446
const { data: permissions } = useQuery(workspacePermissions(workspace));
5547

@@ -59,7 +51,11 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
5951
// Change version
6052
const [changeVersionDialogOpen, setChangeVersionDialogOpen] = useState(false);
6153
const changeVersionMutation = useMutation(
62-
changeVersion(workspace, queryClient, optOutQuery.data?.optedOut === false),
54+
changeVersion(
55+
workspace,
56+
queryClient,
57+
!workspace.template_use_classic_parameter_flow,
58+
),
6359
);
6460

6561
// Delete
@@ -151,7 +147,7 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
151147
onClose={() => setIsDownloadDialogOpen(false)}
152148
/>
153149

154-
{optOutQuery.data?.optedOut ? (
150+
{workspace.template_use_classic_parameter_flow ? (
155151
<UpdateBuildParametersDialog
156152
missedParameters={
157153
changeVersionMutation.error instanceof MissingBuildParameters

site/src/modules/workspaces/WorkspaceUpdateDialogs.tsx

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@ import type {
66
WorkspaceBuild,
77
WorkspaceBuildParameter,
88
} from "api/typesGenerated";
9-
import { ErrorAlert } from "components/Alert/ErrorAlert";
109
import { ConfirmDialog } from "components/Dialogs/ConfirmDialog/ConfirmDialog";
11-
import { Loader } from "components/Loader/Loader";
1210
import { MemoizedInlineMarkdown } from "components/Markdown/Markdown";
13-
import { useDynamicParametersOptOut } from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
1411
import { UpdateBuildParametersDialog } from "modules/workspaces/WorkspaceMoreActions/UpdateBuildParametersDialog";
1512
import { UpdateBuildParametersDialogExperimental } from "modules/workspaces/WorkspaceMoreActions/UpdateBuildParametersDialogExperimental";
1613
import { type FC, useState } from "react";
@@ -55,17 +52,10 @@ export const useWorkspaceUpdate = ({
5552
setIsConfirmingUpdate(true);
5653
};
5754

58-
const optOutQuery = useDynamicParametersOptOut({
59-
templateId: workspace.template_id,
60-
templateUsesClassicParameters:
61-
workspace.template_use_classic_parameter_flow,
62-
enabled: true,
63-
});
64-
6555
const confirmUpdate = (buildParameters: WorkspaceBuildParameter[] = []) => {
6656
updateWorkspaceMutation.mutate({
6757
buildParameters,
68-
isDynamicParametersEnabled: optOutQuery.data?.optedOut === false,
58+
isDynamicParametersEnabled: workspace.template_use_classic_parameter_flow,
6959
});
7060
setIsConfirmingUpdate(false);
7161
};
@@ -160,29 +150,13 @@ const MissingBuildParametersDialog: FC<MissingBuildParametersDialogProps> = ({
160150
error,
161151
...dialogProps
162152
}) => {
163-
const optOutQuery = useDynamicParametersOptOut({
164-
templateId: workspace.template_id,
165-
templateUsesClassicParameters:
166-
workspace.template_use_classic_parameter_flow,
167-
enabled: true,
168-
});
169-
170153
const missedParameters =
171154
error instanceof MissingBuildParameters ? error.parameters : [];
172155
const versionId =
173156
error instanceof MissingBuildParameters ? error.versionId : undefined;
174157
const isOpen = error instanceof MissingBuildParameters;
175158

176-
if (optOutQuery.isError) {
177-
return <ErrorAlert error={optOutQuery.error} />;
178-
}
179-
if (!optOutQuery.data) {
180-
return <Loader />;
181-
}
182-
183-
const shouldUseClassicDialog = optOutQuery.data?.optedOut;
184-
185-
return shouldUseClassicDialog ? (
159+
return workspace.template_use_classic_parameter_flow ? (
186160
<UpdateBuildParametersDialog
187161
missedParameters={missedParameters}
188162
open={isOpen}

site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
import { templateByName } from "api/queries/templates";
22
import { ErrorAlert } from "components/Alert/ErrorAlert";
33
import { Loader } from "components/Loader/Loader";
4-
import {
5-
optOutKey,
6-
useDynamicParametersOptOut,
7-
} from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
84
import type { FC } from "react";
95
import { useQuery } from "react-query";
106
import { useParams } from "react-router-dom";
117
import CreateWorkspacePage from "./CreateWorkspacePage";
128
import CreateWorkspacePageExperimental from "./CreateWorkspacePageExperimental";
13-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
149

1510
const CreateWorkspaceExperimentRouter: FC = () => {
1611
const { organization: organizationName = "default", template: templateName } =
@@ -19,43 +14,21 @@ const CreateWorkspaceExperimentRouter: FC = () => {
1914
templateByName(organizationName, templateName),
2015
);
2116

22-
const optOutQuery = useDynamicParametersOptOut({
23-
templateId: templateQuery.data?.id,
24-
templateUsesClassicParameters:
25-
templateQuery.data?.use_classic_parameter_flow,
26-
enabled: !!templateQuery.data,
27-
});
28-
2917
if (templateQuery.isError) {
3018
return <ErrorAlert error={templateQuery.error} />;
3119
}
32-
if (optOutQuery.isError) {
33-
return <ErrorAlert error={optOutQuery.error} />;
34-
}
35-
if (!optOutQuery.data) {
20+
if (!templateQuery.data) {
3621
return <Loader />;
3722
}
3823

39-
const toggleOptedOut = () => {
40-
const key = optOutKey(optOutQuery.data?.templateId ?? "");
41-
const storedValue = localStorage.getItem(key);
42-
43-
const current = storedValue
44-
? storedValue === "true"
45-
: Boolean(templateQuery.data?.use_classic_parameter_flow);
46-
47-
localStorage.setItem(key, (!current).toString());
48-
optOutQuery.refetch();
49-
};
50-
5124
return (
52-
<ExperimentalFormContext.Provider value={{ toggleOptedOut }}>
53-
{optOutQuery.data.optedOut ? (
25+
<>
26+
{templateQuery.data?.use_classic_parameter_flow ? (
5427
<CreateWorkspacePage />
5528
) : (
5629
<CreateWorkspacePageExperimental />
5730
)}
58-
</ExperimentalFormContext.Provider>
31+
</>
5932
);
6033
};
6134

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,7 @@ import { Switch } from "components/Switch/Switch";
2828
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
2929
import { type FormikContextType, useFormik } from "formik";
3030
import { generateWorkspaceName } from "modules/workspaces/generateWorkspaceName";
31-
import {
32-
type FC,
33-
useCallback,
34-
useContext,
35-
useEffect,
36-
useMemo,
37-
useState,
38-
} from "react";
31+
import { type FC, useCallback, useEffect, useMemo, useState } from "react";
3932
import {
4033
getFormHelpers,
4134
nameValidator,
@@ -51,7 +44,6 @@ import type {
5144
CreateWorkspaceMode,
5245
ExternalAuthPollingState,
5346
} from "./CreateWorkspacePage";
54-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
5547
import { ExternalAuthButton } from "./ExternalAuthButton";
5648
import type { CreateWorkspacePermissions } from "./permissions";
5749

@@ -106,7 +98,6 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
10698
onSubmit,
10799
onCancel,
108100
}) => {
109-
const experimentalFormContext = useContext(ExperimentalFormContext);
110101
const [owner, setOwner] = useState(defaultOwner);
111102
const [suggestedName, setSuggestedName] = useState(() =>
112103
generateWorkspaceName(),
@@ -220,20 +211,9 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
220211
<Margins size="medium">
221212
<PageHeader
222213
actions={
223-
<>
224-
{experimentalFormContext && (
225-
<Button
226-
size="sm"
227-
variant="outline"
228-
onClick={experimentalFormContext.toggleOptedOut}
229-
>
230-
Try out the new workspace creation flow ✨
231-
</Button>
232-
)}
233-
<Button size="sm" variant="outline" onClick={onCancel}>
234-
Cancel
235-
</Button>
236-
</>
214+
<Button size="sm" variant="outline" onClick={onCancel}>
215+
Cancel
216+
</Button>
237217
}
238218
>
239219
<Stack direction="row">

site/src/pages/CreateWorkspacePage/CreateWorkspacePageViewExperimental.tsx

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
} from "components/Tooltip/Tooltip";
2727
import { UserAutocomplete } from "components/UserAutocomplete/UserAutocomplete";
2828
import { type FormikContextType, useFormik } from "formik";
29-
import { ArrowLeft, CircleHelp, Undo2 } from "lucide-react";
29+
import { ArrowLeft, CircleHelp } from "lucide-react";
3030
import { useSyncFormParameters } from "modules/hooks/useSyncFormParameters";
3131
import { Diagnostics } from "modules/workspaces/DynamicParameter/DynamicParameter";
3232
import {
@@ -38,7 +38,6 @@ import { generateWorkspaceName } from "modules/workspaces/generateWorkspaceName"
3838
import {
3939
type FC,
4040
useCallback,
41-
useContext,
4241
useEffect,
4342
useId,
4443
useRef,
@@ -52,7 +51,6 @@ import type {
5251
CreateWorkspaceMode,
5352
ExternalAuthPollingState,
5453
} from "./CreateWorkspacePage";
55-
import { ExperimentalFormContext } from "./ExperimentalFormContext";
5654
import { ExternalAuthButton } from "./ExternalAuthButton";
5755
import type { CreateWorkspacePermissions } from "./permissions";
5856

@@ -112,7 +110,6 @@ export const CreateWorkspacePageViewExperimental: FC<
112110
owner,
113111
setOwner,
114112
}) => {
115-
const experimentalFormContext = useContext(ExperimentalFormContext);
116113
const [suggestedName, setSuggestedName] = useState(() =>
117114
generateWorkspaceName(),
118115
);
@@ -372,16 +369,6 @@ export const CreateWorkspacePageViewExperimental: FC<
372369
</Badge>
373370
)}
374371
</span>
375-
{experimentalFormContext && (
376-
<Button
377-
size="sm"
378-
variant="outline"
379-
onClick={experimentalFormContext.toggleOptedOut}
380-
>
381-
<Undo2 />
382-
Classic workspace creation
383-
</Button>
384-
)}
385372
</div>
386373
<span className="flex flex-row items-center gap-2">
387374
<h1 className="text-3xl font-semibold m-0">New workspace</h1>

site/src/pages/CreateWorkspacePage/ExperimentalFormContext.tsx

Lines changed: 0 additions & 5 deletions
This file was deleted.

site/src/pages/WorkspaceSettingsPage/WorkspaceParametersPage/WorkspaceParametersExperimentRouter.tsx

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,19 @@
1-
import { ErrorAlert } from "components/Alert/ErrorAlert";
2-
import { Loader } from "components/Loader/Loader";
3-
import {
4-
optOutKey,
5-
useDynamicParametersOptOut,
6-
} from "modules/workspaces/DynamicParameter/useDynamicParametersOptOut";
71
import type { FC } from "react";
8-
import { ExperimentalFormContext } from "../../CreateWorkspacePage/ExperimentalFormContext";
92
import { useWorkspaceSettings } from "../WorkspaceSettingsLayout";
103
import WorkspaceParametersPage from "./WorkspaceParametersPage";
114
import WorkspaceParametersPageExperimental from "./WorkspaceParametersPageExperimental";
125

136
const WorkspaceParametersExperimentRouter: FC = () => {
147
const workspace = useWorkspaceSettings();
158

16-
const optOutQuery = useDynamicParametersOptOut({
17-
templateId: workspace.template_id,
18-
templateUsesClassicParameters:
19-
workspace.template_use_classic_parameter_flow,
20-
enabled: true,
21-
});
22-
23-
if (optOutQuery.isError) {
24-
return <ErrorAlert error={optOutQuery.error} />;
25-
}
26-
if (!optOutQuery.data) {
27-
return <Loader />;
28-
}
29-
30-
const toggleOptedOut = () => {
31-
const key = optOutKey(optOutQuery.data.templateId);
32-
const storedValue = localStorage.getItem(key);
33-
34-
const current = storedValue
35-
? storedValue === "true"
36-
: Boolean(workspace.template_use_classic_parameter_flow);
37-
38-
localStorage.setItem(key, (!current).toString());
39-
optOutQuery.refetch();
40-
};
41-
429
return (
43-
<ExperimentalFormContext.Provider value={{ toggleOptedOut }}>
44-
{optOutQuery.data.optedOut ? (
10+
<>
11+
{workspace.template_use_classic_parameter_flow ? (
4512
<WorkspaceParametersPage />
4613
) : (
4714
<WorkspaceParametersPageExperimental />
4815
)}
49-
</ExperimentalFormContext.Provider>
16+
</>
5017
);
5118
};
5219

0 commit comments

Comments
 (0)