Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 812e124

Browse files
committed
feat: add frontend warning when autostart disabled due to automatic updates
1 parent 4a9bd9c commit 812e124

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

coderd/workspaces.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -1143,7 +1143,7 @@ func (api *API) watchWorkspace(rw http.ResponseWriter, r *http.Request) {
11431143
return
11441144
}
11451145

1146-
data, err := api.workspaceData(ctx, []database.Workspace{workspace}, false)
1146+
data, err := api.workspaceData(ctx, []database.Workspace{workspace}, true)
11471147
if err != nil {
11481148
_ = sendEvent(ctx, codersdk.ServerSentEvent{
11491149
Type: codersdk.ServerSentEventTypeError,
@@ -1182,8 +1182,8 @@ func (api *API) watchWorkspace(rw http.ResponseWriter, r *http.Request) {
11821182
workspace,
11831183
data.builds[0],
11841184
data.templates[0],
1185-
nil,
1186-
nil,
1185+
data.versionParameters[data.templates[0].ActiveVersionID],
1186+
data.buildParameters[data.builds[0].ID],
11871187
ownerName,
11881188
),
11891189
})

site/src/pages/WorkspacePage/Workspace.tsx

+22
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
import { BuildsTable } from "./BuildsTable";
3030
import { WorkspaceDeletedBanner } from "./WorkspaceDeletedBanner";
3131
import { WorkspaceStats } from "./WorkspaceStats";
32+
import { workspaceUpdatePolicy } from "utils/workspace";
3233

3334
export enum WorkspaceErrors {
3435
GET_BUILDS_ERROR = "getBuildsError",
@@ -168,6 +169,12 @@ export const Workspace: FC<React.PropsWithChildren<WorkspaceProps>> = ({
168169
clearTimeout(showTimer);
169170
};
170171
}, [workspace, now, showAlertPendingInQueue]);
172+
173+
console.log("policy: " + workspaceUpdatePolicy(workspace, canChangeVersions));
174+
console.log("autostart schedule: " + workspace.autostart_schedule);
175+
console.log("outdated: " + workspace.outdated);
176+
console.log("mismatch: " + workspace.parameter_mismatch);
177+
171178
return (
172179
<>
173180
<FullWidthPageHeader>
@@ -229,6 +236,21 @@ export const Workspace: FC<React.PropsWithChildren<WorkspaceProps>> = ({
229236
)}
230237
{buildError}
231238
{cancellationError}
239+
{workspaceUpdatePolicy(workspace, canChangeVersions) === "always" &&
240+
workspace.autostart_schedule &&
241+
workspace.outdated &&
242+
workspace.parameter_mismatch && (
243+
<Alert severity="warning">
244+
<AlertTitle>
245+
Autostart has been disabled for your workspace.
246+
</AlertTitle>
247+
<AlertDetail>
248+
A parameter mismatch has been detected between your workspace
249+
and the active template version. Manually update your
250+
workspace to reenable Autostart.
251+
</AlertDetail>
252+
</Alert>
253+
)}
232254
{workspace.latest_build.status === "running" &&
233255
!workspace.health.healthy && (
234256
<Alert

site/src/xServices/workspace/workspaceXService.ts

+1
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,7 @@ async function loadInitialWorkspaceData({
690690
workspaceName,
691691
{
692692
include_deleted: true,
693+
resolve_parameters: true,
693694
},
694695
);
695696
const template = await API.getTemplateByName(orgId, workspace.template_name);

0 commit comments

Comments
 (0)