From 411925ad9906099a95547a021dddea7caaa3a538 Mon Sep 17 00:00:00 2001 From: Jaayden Halko Date: Fri, 16 May 2025 14:06:41 +0000 Subject: [PATCH 1/2] fix: check for classic flowremove localstorage set on queryFn --- .../CreateWorkspaceExperimentRouter.tsx | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx index 3ebc194cc61b0..207dfe861a6d9 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx @@ -30,11 +30,26 @@ const CreateWorkspaceExperimentRouter: FC = () => { templateQuery.data.id, "optOut", ], - queryFn: () => ({ - templateId: templateQuery.data.id, - optedOut: - localStorage.getItem(optOutKey(templateQuery.data.id)) === "true", - }), + queryFn: () => { + const templateId = templateQuery.data.id; + const localStorageKey = optOutKey(templateId); + const storedOptOutString = localStorage.getItem(localStorageKey); + + let optOutResult: boolean; + + if (storedOptOutString !== null) { + optOutResult = storedOptOutString === "true"; + } else { + optOutResult = Boolean( + templateQuery.data.use_classic_parameter_flow, + ); + } + + return { + templateId: templateId, + optedOut: optOutResult, + }; + }, } : { enabled: false }, ); From 4b428bce5ad97467d46b19e19776544db35ef9e4 Mon Sep 17 00:00:00 2001 From: Jaayden Halko Date: Fri, 16 May 2025 15:25:04 +0000 Subject: [PATCH 2/2] fix: check if localstorage value is null --- .../CreateWorkspaceExperimentRouter.tsx | 8 ++++++-- .../TemplateGeneralSettingsPage/TemplateSettingsForm.tsx | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx index 207dfe861a6d9..1652fb65218f2 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspaceExperimentRouter.tsx @@ -64,11 +64,15 @@ const CreateWorkspaceExperimentRouter: FC = () => { const toggleOptedOut = () => { const key = optOutKey(optOutQuery.data.templateId); - const current = localStorage.getItem(key) === "true"; + const storedValue = localStorage.getItem(key); + + const current = storedValue + ? storedValue === "true" + : Boolean(templateQuery.data?.use_classic_parameter_flow); + localStorage.setItem(key, (!current).toString()); optOutQuery.refetch(); }; - return ( {optOutQuery.data.optedOut ? ( diff --git a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx index cd01421b64487..71adb89e14f48 100644 --- a/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx +++ b/site/src/pages/TemplateSettingsPage/TemplateGeneralSettingsPage/TemplateSettingsForm.tsx @@ -242,7 +242,7 @@ export const TemplateSettingsForm: FC = ({ Show the original workspace creation form without dynamic parameters or live updates. Recommended if your provisioners - aren't updated or the new form causes issues. + aren't updated or the new form causes issues.{" "} Users can always manually switch experiences in the workspace creation form.