Skip to content

Commit 681e2db

Browse files
authored
Revert "fix: add front-end fixes for minor workspace action bugs (#8252)" (#8286)
This reverts commit c569528.
1 parent 83bee35 commit 681e2db

File tree

10 files changed

+22
-72
lines changed

10 files changed

+22
-72
lines changed

site/src/components/WorkspaceDeletion/ImpendingDeletionBanner.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import { Workspace } from "api/typesGenerated"
2-
import {
3-
displayImpendingDeletion,
4-
IMPENDING_DELETION_DISPLAY_THRESHOLD,
5-
} from "./utils"
2+
import { displayImpendingDeletion } from "./utils"
63
import { useDashboard } from "components/Dashboard/DashboardProvider"
74
import { Alert } from "components/Alert/Alert"
85
import { formatDistanceToNow, differenceInDays, add, format } from "date-fns"
@@ -51,9 +48,7 @@ export const ImpendingDeletionBanner = ({
5148
new Date(),
5249
)
5350

54-
const plusFourteen = add(new Date(), {
55-
days: IMPENDING_DELETION_DISPLAY_THRESHOLD,
56-
})
51+
const plusFourteen = add(new Date(), { days: 14 })
5752

5853
return (
5954
<Alert

site/src/components/WorkspaceDeletion/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Workspace } from "api/typesGenerated"
22

33
// This const dictates how far out we alert the user that a workspace
44
// has an impending deletion (due to template.InactivityTTL being set)
5-
export const IMPENDING_DELETION_DISPLAY_THRESHOLD = 14 // 14 days
5+
const IMPENDING_DELETION_DISPLAY_THRESHOLD = 14 // 14 days
66

77
/**
88
* Returns a boolean indicating if an impending deletion indicator should be

site/src/i18n/en/templateSettingsPage.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,12 @@
2222
"failureTTLHelperText_zero": "Coder will not automatically stop failed workspaces",
2323
"failureTTLHelperText_one": "Coder will attempt to stop failed workspaces after {{count}} day.",
2424
"failureTTLHelperText_other": "Coder will attempt to stop failed workspaces after {{count}} days.",
25-
"inactivityTTLHelperText_zero": "Coder will not automatically lock inactive workspaces",
26-
"inactivityTTLHelperText_one": "Coder will automatically lock inactive workspaces after {{count}} day.",
27-
"inactivityTTLHelperText_other": "Coder will automatically lock inactive workspaces after {{count}} days.",
25+
"inactivityTTLHelperText_zero": "Coder will not automatically delete inactive workspaces",
26+
"inactivityTTLHelperText_one": "Coder will automatically delete inactive workspaces after {{count}} day.",
27+
"inactivityTTLHelperText_other": "Coder will automatically delete inactive workspaces after {{count}} days.",
2828
"lockedTTLHelperText_zero": "Coder will not automatically delete locked workspaces",
2929
"lockedTTLHelperText_one": "Coder will automatically delete locked workspaces after {{count}} day.",
3030
"lockedTTLHelperText_other": "Coder will automatically delete locked workspaces after {{count}} days.",
31-
"inactivityDialogDescription_one": "There is {{count}} workspace that already matches this filter and will be deleted upon form submission. Are you sure you want to proceed?",
32-
"inactivityDialogDescription_other": "There are {{count}} workspaces that already match this filter and will be deleted upon form submission. Are you sure you want to proceed?",
3331
"allowUserCancelWorkspaceJobsLabel": "Allow users to cancel in-progress workspace jobs.",
3432
"allowUserCancelWorkspaceJobsNotice": "Depending on your template, canceling builds may leave workspaces in an unhealthy state. This option isn't recommended for most use cases.",
3533
"allowUsersCancelHelperText": "If checked, users may be able to corrupt their workspace.",

site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm/InactivityDialog.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ export const OpenDialog: Story = {
1414
submitValues: () => null,
1515
isInactivityDialogOpen: true,
1616
setIsInactivityDialogOpen: () => null,
17-
numberWorkspacesToBeDeletedToday: 2,
17+
workspacesToBeDeletedToday: 2,
1818
},
1919
}
Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
import { ConfirmDialog } from "components/Dialogs/ConfirmDialog/ConfirmDialog"
2-
import { useTranslation } from "react-i18next"
32

43
export const InactivityDialog = ({
54
submitValues,
65
isInactivityDialogOpen,
76
setIsInactivityDialogOpen,
8-
numberWorkspacesToBeDeletedToday,
7+
workspacesToBeDeletedToday,
98
}: {
109
submitValues: () => void
1110
isInactivityDialogOpen: boolean
1211
setIsInactivityDialogOpen: (arg0: boolean) => void
13-
numberWorkspacesToBeDeletedToday: number
12+
workspacesToBeDeletedToday: number
1413
}) => {
15-
const { t } = useTranslation("templateSettingsPage")
16-
1714
return (
1815
<ConfirmDialog
1916
type="delete"
@@ -25,9 +22,9 @@ export const InactivityDialog = ({
2522
onClose={() => setIsInactivityDialogOpen(false)}
2623
title="Delete inactive workspaces"
2724
confirmText="Delete Workspaces"
28-
description={t("inactivityDialogDescription", {
29-
count: numberWorkspacesToBeDeletedToday,
30-
})}
25+
description={`There are ${
26+
workspacesToBeDeletedToday ? workspacesToBeDeletedToday : ""
27+
} workspaces that already match this filter and will be deleted upon form submission. Are you sure you want to proceed?`}
3128
/>
3229
)
3330
}

site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm/TemplateScheduleForm.tsx

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
8282
validationSchema,
8383
onSubmit: () => {
8484
if (
85-
form.values.locked_cleanup_enabled &&
85+
form.values.inactivity_cleanup_enabled &&
8686
workspacesToBeDeletedToday &&
8787
workspacesToBeDeletedToday.length > 0
8888
) {
@@ -100,10 +100,7 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
100100
const { t } = useTranslation("templateSettingsPage")
101101
const styles = useStyles()
102102

103-
const workspacesToBeDeletedToday = useWorkspacesToBeDeleted(
104-
form.values,
105-
template.name,
106-
)
103+
const workspacesToBeDeletedToday = useWorkspacesToBeDeleted(form.values)
107104

108105
const [isInactivityDialogOpen, setIsInactivityDialogOpen] =
109106
useState<boolean>(false)
@@ -308,7 +305,6 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
308305
onChange={handleToggleFailureCleanup}
309306
/>
310307
}
311-
disabled={isSubmitting}
312308
label="Enable Failure Cleanup"
313309
/>
314310
<TextField
@@ -341,7 +337,6 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
341337
onChange={handleToggleInactivityCleanup}
342338
/>
343339
}
344-
disabled={isSubmitting}
345340
label="Enable Inactivity Cleanup"
346341
/>
347342
<TextField
@@ -376,9 +371,6 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
376371
onChange={handleToggleLockedCleanup}
377372
/>
378373
}
379-
disabled={
380-
isSubmitting || !form.values.inactivity_cleanup_enabled
381-
}
382374
label="Enable Locked Cleanup"
383375
/>
384376
<TextField
@@ -404,9 +396,7 @@ export const TemplateScheduleForm: FC<TemplateScheduleForm> = ({
404396
submitValues={submitValues}
405397
isInactivityDialogOpen={isInactivityDialogOpen}
406398
setIsInactivityDialogOpen={setIsInactivityDialogOpen}
407-
numberWorkspacesToBeDeletedToday={
408-
workspacesToBeDeletedToday?.length ?? 0
409-
}
399+
workspacesToBeDeletedToday={workspacesToBeDeletedToday?.length ?? 0}
410400
/>
411401
<FormFooter
412402
onCancel={onCancel}

site/src/pages/TemplateSettingsPage/TemplateSchedulePage/TemplateScheduleForm/useWorkspacesToBeDeleted.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ const inactiveStatuses: WorkspaceStatus[] = [
1313

1414
export const useWorkspacesToBeDeleted = (
1515
formValues: TemplateScheduleFormValues,
16-
templateName: string,
1716
) => {
1817
const { data: workspacesData } = useQuery({
1918
queryKey: ["workspaces"],
20-
queryFn: () => getWorkspaces({ q: `template:${templateName}` }),
21-
enabled: formValues.locked_cleanup_enabled,
19+
queryFn: () => getWorkspaces({}),
20+
enabled: formValues.inactivity_cleanup_enabled,
2221
})
2322
return workspacesData?.workspaces?.filter((workspace: Workspace) => {
2423
const isInactive = inactiveStatuses.includes(workspace.latest_build.status)

site/src/pages/WorkspacesPage/WorkspacesPage.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@ import { usePagination } from "hooks/usePagination"
22
import { FC } from "react"
33
import { Helmet } from "react-helmet-async"
44
import { pageTitle } from "utils/page"
5-
import {
6-
useWorkspacesData,
7-
useWorkspaceUpdate,
8-
useWorkspacesWithImpendingDeletions,
9-
} from "./data"
5+
import { useWorkspacesData, useWorkspaceUpdate } from "./data"
106
import { WorkspacesPageView } from "./WorkspacesPageView"
117
import { useOrganizationId, usePermissions } from "hooks"
128
import { useTemplateFilterMenu, useStatusFilterMenu } from "./filter/menus"
@@ -33,9 +29,6 @@ const WorkspacesPage: FC = () => {
3329
query: filter.query,
3430
})
3531
const updateWorkspace = useWorkspaceUpdate(queryKey)
36-
const { data: workspacesWithImpendingDeletions } =
37-
useWorkspacesWithImpendingDeletions()
38-
3932
const permissions = usePermissions()
4033
const canFilterByUser = permissions.viewDeploymentValues
4134
const userMenu = useUserFilterMenu({
@@ -64,7 +57,6 @@ const WorkspacesPage: FC = () => {
6457

6558
<WorkspacesPageView
6659
workspaces={data?.workspaces}
67-
workspacesWithDeletions={workspacesWithImpendingDeletions?.workspaces}
6860
error={error}
6961
count={data?.count}
7062
page={pagination.page}

site/src/pages/WorkspacesPage/WorkspacesPageView.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ export const Language = {
3333
export interface WorkspacesPageViewProps {
3434
error: unknown
3535
workspaces?: Workspace[]
36-
workspacesWithDeletions?: Workspace[]
3736
count?: number
3837
filterProps: ComponentProps<typeof WorkspacesFilter>
3938
page: number
@@ -46,7 +45,6 @@ export const WorkspacesPageView: FC<
4645
React.PropsWithChildren<WorkspacesPageViewProps>
4746
> = ({
4847
workspaces,
49-
workspacesWithDeletions,
5048
error,
5149
limit,
5250
count,
@@ -57,9 +55,9 @@ export const WorkspacesPageView: FC<
5755
}) => {
5856
const { saveLocal, getLocal } = useLocalStorage()
5957

60-
const workspaceIdsWithImpendingDeletions = workspacesWithDeletions?.map(
61-
(workspace) => workspace.id,
62-
)
58+
const workspaceIdsWithImpendingDeletions = workspaces
59+
?.filter((workspace) => workspace.deleting_at)
60+
.map((workspace) => workspace.id)
6361

6462
/**
6563
* Returns a boolean indicating if there are workspaces that have been
@@ -107,9 +105,7 @@ export const WorkspacesPageView: FC<
107105
</Maybe>
108106
{/* <ImpendingDeletionBanner/> determines its own visibility */}
109107
<ImpendingDeletionBanner
110-
workspace={workspacesWithDeletions?.find(
111-
(workspace) => workspace.deleting_at,
112-
)}
108+
workspace={workspaces?.find((workspace) => workspace.deleting_at)}
113109
shouldRedisplayBanner={isNewWorkspacesImpendingDeletion()}
114110
onDismiss={() =>
115111
saveLocal(

site/src/pages/WorkspacesPage/data.ts

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import {
1414
import { displayError } from "components/GlobalSnackbar/utils"
1515
import { useState } from "react"
1616
import { useTranslation } from "react-i18next"
17-
import { add, format } from "date-fns"
18-
import { IMPENDING_DELETION_DISPLAY_THRESHOLD } from "components/WorkspaceDeletion/utils"
1917

2018
type UseWorkspacesDataParams = {
2119
page: number
@@ -81,21 +79,6 @@ export const useWorkspaceUpdate = (queryKey: QueryKey) => {
8179
})
8280
}
8381

84-
// Returns workspace that will be deleted within 14 days.
85-
// This query is used for the ImpendingDeletionBanner
86-
export const useWorkspacesWithImpendingDeletions = () => {
87-
return useQuery({
88-
queryKey: ["workspacesWithImpendingDeletions"],
89-
queryFn: () =>
90-
getWorkspaces({
91-
q: `deleting_by:"${format(
92-
add(new Date(), { days: IMPENDING_DELETION_DISPLAY_THRESHOLD }),
93-
"yyyy-MM-dd",
94-
)}"`,
95-
}),
96-
})
97-
}
98-
9982
const assignLatestBuild = (
10083
oldResponse: WorkspacesResponse,
10184
build: WorkspaceBuild,

0 commit comments

Comments
 (0)