Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5944b1c

Browse files
jaaydenhEmyrk
andauthored
chore: remove local storage based optin/optout (#18344)
This removes the opt-in and opt-out buttons for dynamic parameters onthe create workspace page and the workspace parameters settings page.---------Co-authored-by: Steven Masley <stevenmasley@gmail.com>
1 parent4ff6c5e commit5944b1c

File tree

13 files changed

+28
-214
lines changed

13 files changed

+28
-214
lines changed

‎coderd/parameters_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
249249
Value:"GO",
250250
},
251251
}
252+
request.EnableDynamicParameters=true
252253
})
253254
coderdtest.AwaitWorkspaceBuildJobCompleted(t,setup.client,wrk.LatestBuild.ID)
254255

‎site/e2e/helpers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,6 +1011,8 @@ export const updateWorkspace = async (
10111011
awaitpage.getByTestId("workspace-update-button").click();
10121012
awaitpage.getByTestId("confirm-button").click();
10131013

1014+
awaitpage.waitForSelector('[data-testid="dialog"]',{state:"visible"});
1015+
10141016
awaitfillParameters(page,richParameters,buildParameters);
10151017
awaitpage.getByRole("button",{name:/updateparameters/i}).click();
10161018

‎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{typeFC,useEffect,useState}from"react";
2625
import{useMutation,useQuery,useQueryClient}from"react-query";
2726
import{LinkasRouterLink}from"react-router-dom";
@@ -43,13 +42,6 @@ export const WorkspaceMoreActions: FC<WorkspaceMoreActionsProps> = ({
4342
})=>{
4443
constqueryClient=useQueryClient();
4544

46-
constoptOutQuery=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
constchangeVersionMutation=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.errorinstanceofMissingBuildParameters

‎site/src/modules/workspaces/WorkspaceUpdateDialogs.tsx

Lines changed: 3 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{typeFC,useState}from"react";
@@ -55,17 +52,11 @@ export const useWorkspaceUpdate = ({
5552
setIsConfirmingUpdate(true);
5653
};
5754

58-
constoptOutQuery=useDynamicParametersOptOut({
59-
templateId:workspace.template_id,
60-
templateUsesClassicParameters:
61-
workspace.template_use_classic_parameter_flow,
62-
enabled:true,
63-
});
64-
6555
constconfirmUpdate=(buildParameters:WorkspaceBuildParameter[]=[])=>{
6656
updateWorkspaceMutation.mutate({
6757
buildParameters,
68-
isDynamicParametersEnabled:optOutQuery.data?.optedOut===false,
58+
isDynamicParametersEnabled:
59+
!workspace.template_use_classic_parameter_flow,
6960
});
7061
setIsConfirmingUpdate(false);
7162
};
@@ -160,29 +151,13 @@ const MissingBuildParametersDialog: FC<MissingBuildParametersDialogProps> = ({
160151
error,
161152
...dialogProps
162153
})=>{
163-
constoptOutQuery=useDynamicParametersOptOut({
164-
templateId:workspace.template_id,
165-
templateUsesClassicParameters:
166-
workspace.template_use_classic_parameter_flow,
167-
enabled:true,
168-
});
169-
170154
constmissedParameters=
171155
errorinstanceofMissingBuildParameters ?error.parameters :[];
172156
constversionId=
173157
errorinstanceofMissingBuildParameters ?error.versionId :undefined;
174158
constisOpen=errorinstanceofMissingBuildParameters;
175159

176-
if(optOutQuery.isError){
177-
return<ErrorAlerterror={optOutQuery.error}/>;
178-
}
179-
if(!optOutQuery.data){
180-
return<Loader/>;
181-
}
182-
183-
constshouldUseClassicDialog=optOutQuery.data?.optedOut;
184-
185-
returnshouldUseClassicDialog ?(
160+
returnworkspace.template_use_classic_parameter_flow ?(
186161
<UpdateBuildParametersDialog
187162
missedParameters={missedParameters}
188163
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
importtype{FC}from"react";
95
import{useQuery}from"react-query";
106
import{useParams}from"react-router-dom";
117
importCreateWorkspacePagefrom"./CreateWorkspacePage";
128
importCreateWorkspacePageExperimentalfrom"./CreateWorkspacePageExperimental";
13-
import{ExperimentalFormContext}from"./ExperimentalFormContext";
149

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

22-
constoptOutQuery=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<ErrorAlerterror={templateQuery.error}/>;
3119
}
32-
if(optOutQuery.isError){
33-
return<ErrorAlerterror={optOutQuery.error}/>;
34-
}
35-
if(!optOutQuery.data){
20+
if(!templateQuery.data){
3621
return<Loader/>;
3722
}
3823

39-
consttoggleOptedOut=()=>{
40-
constkey=optOutKey(optOutQuery.data?.templateId??"");
41-
conststoredValue=localStorage.getItem(key);
42-
43-
constcurrent=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.Providervalue={{ 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{typeFormikContextType,useFormik}from"formik";
3030
import{generateWorkspaceName}from"modules/workspaces/generateWorkspaceName";
31-
import{
32-
typeFC,
33-
useCallback,
34-
useContext,
35-
useEffect,
36-
useMemo,
37-
useState,
38-
}from"react";
31+
import{typeFC,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
importtype{CreateWorkspacePermissions}from"./permissions";
5749

@@ -106,7 +98,6 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
10698
onSubmit,
10799
onCancel,
108100
})=>{
109-
constexperimentalFormContext=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
<Marginssize="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-
<Buttonsize="sm"variant="outline"onClick={onCancel}>
234-
Cancel
235-
</Button>
236-
</>
214+
<Buttonsize="sm"variant="outline"onClick={onCancel}>
215+
Cancel
216+
</Button>
237217
}
238218
>
239219
<Stackdirection="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{typeFormikContextType,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
typeFC,
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
importtype{CreateWorkspacePermissions}from"./permissions";
5856

@@ -112,7 +110,6 @@ export const CreateWorkspacePageViewExperimental: FC<
112110
owner,
113111
setOwner,
114112
})=>{
115-
constexperimentalFormContext=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
<spanclassName="flex flex-row items-center gap-2">
387374
<h1className="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/WorkspacePage/WorkspacePage.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ describe("WorkspacePage", () => {
305305

306306
// Check if the update was called using the values from the form
307307
awaitwaitFor(()=>{
308-
expect(API.updateWorkspace).toBeCalledWith(
308+
expect(API.updateWorkspace).toHaveBeenCalledWith(
309309
MockOutdatedWorkspace,
310310
[
311311
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp