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

chore(site): remove xstate#10659

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
BrunoQuaresma merged 33 commits intomainfrombq/refactor-workspace-xservice
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from1 commit
Commits
Show all changes
33 commits
Select commitHold shift + click to select a range
3c99474
Remove template deprecation warning
BrunoQuaresmaNov 9, 2023
878f995
Move deployment values fetching
BrunoQuaresmaNov 9, 2023
cdf8859
Remove unused code from template warning
BrunoQuaresmaNov 9, 2023
964c3d2
Extract initial data
BrunoQuaresmaNov 9, 2023
2cd9de1
Move quota fetching to be used close to where it is used
BrunoQuaresmaNov 9, 2023
4fd62bb
Fix test on Terminal because of workspace query changes
BrunoQuaresmaNov 9, 2023
168024d
Merge branch 'main' of https://github.com/coder/coder into bq/refacto…
BrunoQuaresmaNov 13, 2023
b6ee59a
Move can suto start to be on WorkspaceReadyPage
BrunoQuaresmaNov 13, 2023
2388cae
Extract ssh config
BrunoQuaresmaNov 13, 2023
3d96b94
Extract watching workspace out of xstate
BrunoQuaresmaNov 13, 2023
b0fba32
Remove unused code
BrunoQuaresmaNov 13, 2023
9edfd71
Organize code on ready page
BrunoQuaresmaNov 13, 2023
3e1de93
Extract change version from xstate
BrunoQuaresmaNov 13, 2023
ab8977c
Extract update workspace
BrunoQuaresmaNov 13, 2023
cb2c966
Extract delete
BrunoQuaresmaNov 13, 2023
6c8ec9f
Extract activate
BrunoQuaresmaNov 13, 2023
039f4bb
Remove unecessary require permission
BrunoQuaresmaNov 13, 2023
987f14f
Remove unused RequirePermission usage
BrunoQuaresmaNov 13, 2023
13e954f
Extract refresh timeline
BrunoQuaresmaNov 13, 2023
764f047
Remove REFRESH_WORKSPACE
BrunoQuaresmaNov 13, 2023
633c431
Extract stop
BrunoQuaresmaNov 13, 2023
20e073f
Extract start
BrunoQuaresmaNov 13, 2023
bfcc99d
Extract cancellation and remove xservices
BrunoQuaresmaNov 13, 2023
cf6896a
Clean up
BrunoQuaresmaNov 13, 2023
b6c9469
Add retry with debug
BrunoQuaresmaNov 13, 2023
a4a33f9
Remove XState
BrunoQuaresmaNov 13, 2023
e72abf5
Merge branch 'main' of https://github.com/coder/coder into bq/refacto…
BrunoQuaresmaNov 14, 2023
75d39a2
Clean up event source
BrunoQuaresmaNov 14, 2023
c3de809
Rename workspace mutations
BrunoQuaresmaNov 14, 2023
477b928
Invalidate workspace builds data on cancel
BrunoQuaresmaNov 14, 2023
d189c20
use useEffectEvent to avoid unecessary updates
BrunoQuaresmaNov 14, 2023
49b95a2
Merge branch 'main' of https://github.com/coder/coder into bq/refacto…
BrunoQuaresmaNov 14, 2023
6cc257a
Fix cancel action
BrunoQuaresmaNov 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
PrevPrevious commit
NextNext commit
Extract refresh timeline
  • Loading branch information
@BrunoQuaresma
BrunoQuaresma committedNov 13, 2023
commit13e954f098ef033e9d39386014983794e7ca199d
7 changes: 6 additions & 1 deletionsite/src/api/queries/workspaceBuilds.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -29,14 +29,19 @@ export const workspaceBuildByNumber = (
};
};

export const workspaceBuildsKey = (workspaceId: string) => [
"workspaceBuilds",
workspaceId,
];

export const infiniteWorkspaceBuilds = (
workspaceId: string,
req?: WorkspaceBuildsRequest,
): UseInfiniteQueryOptions<WorkspaceBuild[]> => {
const limit = req?.limit ?? 25;

return {
queryKey: ["workspaceBuilds",workspaceId, req],
queryKey: [...workspaceBuildsKey(workspaceId), req],
getNextPageParam: (lastPage, pages) => {
if (lastPage.length < limit) {
return undefined;
Expand Down
18 changes: 11 additions & 7 deletionssite/src/api/queries/workspaces.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -11,6 +11,7 @@ import {
type WorkspacesRequest,
WorkspaceBuild,
} from "api/typesGenerated";
import { workspaceBuildsKey } from "./workspaceBuilds";

export const workspaceByOwnerAndNameKey = (owner: string, name: string) => [
"workspace",
Expand DownExpand Up@@ -138,8 +139,8 @@ export const changeVersion = (
}) => {
return API.changeWorkspaceVersion(workspace, versionId, buildParameters);
},
onSuccess: (build: WorkspaceBuild) => {
updateWorkspaceBuild(build, queryClient);
onSuccess:async(build: WorkspaceBuild) => {
awaitupdateWorkspaceBuild(build, queryClient);
},
};
};
Expand All@@ -149,8 +150,8 @@ export const update = (workspace: Workspace, queryClient: QueryClient) => {
mutationFn: (buildParameters?: WorkspaceBuildParameter[]) => {
return API.updateWorkspace(workspace, buildParameters);
},
onSuccess: (build: WorkspaceBuild) => {
updateWorkspaceBuild(build, queryClient);
onSuccess:async(build: WorkspaceBuild) => {
awaitupdateWorkspaceBuild(build, queryClient);
},
};
};
Expand All@@ -163,8 +164,8 @@ export const deleteWorkspace = (
mutationFn: () => {
return API.deleteWorkspace(workspace.id);
},
onSuccess: (build: WorkspaceBuild) => {
updateWorkspaceBuild(build, queryClient);
onSuccess:async(build: WorkspaceBuild) => {
awaitupdateWorkspaceBuild(build, queryClient);
},
};
};
Expand All@@ -183,7 +184,7 @@ export const activate = (workspace: Workspace, queryClient: QueryClient) => {
};
};

const updateWorkspaceBuild = (
const updateWorkspaceBuild =async(
build: WorkspaceBuild,
queryClient: QueryClient,
) => {
Expand All@@ -196,4 +197,7 @@ const updateWorkspaceBuild = (
...previousData,
latest_build: build,
});
await queryClient.invalidateQueries({
queryKey: workspaceBuildsKey(build.workspace_id),
});
};
5 changes: 0 additions & 5 deletionssite/src/pages/WorkspacePage/WorkspacePage.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -31,11 +31,6 @@ export const WorkspacePage: FC = () => {
workspaceName,
username,
},
actions: {
refreshBuilds: async () => {
await buildsQuery.refetch();
},
},
});

const workspaceQueryOptions = workspaceByOwnerAndName(
Expand Down
20 changes: 6 additions & 14 deletionssite/src/xServices/workspace/workspaceXService.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,9 +33,6 @@ export type WorkspaceEvent =
| { type: "START"; buildParameters?: TypesGen.WorkspaceBuildParameter[] }
| { type: "STOP" }
| { type: "CANCEL" }
| {
type: "REFRESH_TIMELINE";
}
| { type: "RETRY_BUILD" };

export const workspaceMachine = createMachine(
Expand DownExpand Up@@ -65,11 +62,6 @@ export const workspaceMachine = createMachine(
states: {
ready: {
type: "parallel",
on: {
REFRESH_TIMELINE: {
actions: ["refreshBuilds"],
},
},
states: {
build: {
initial: "idle",
Expand DownExpand Up@@ -204,38 +196,38 @@ export const workspaceMachine = createMachine(
},
},
services: {
startWorkspace: (context, data) => async (send) => {
startWorkspace: (context, data) => async () => {
if (context.workspace) {
const startWorkspacePromise = await API.startWorkspace(
context.workspace.id,
context.workspace.latest_build.template_version_id,
context.createBuildLogLevel,
"buildParameters" in data ? data.buildParameters : undefined,
);
send({ type: "REFRESH_TIMELINE" });

return startWorkspacePromise;
} else {
throw Error("Cannot start workspace without workspace id");
}
},
stopWorkspace: (context) => async (send) => {
stopWorkspace: (context) => async () => {
if (context.workspace) {
const stopWorkspacePromise = await API.stopWorkspace(
context.workspace.id,
context.createBuildLogLevel,
);
send({ type: "REFRESH_TIMELINE" });

return stopWorkspacePromise;
} else {
throw Error("Cannot stop workspace without workspace id");
}
},
cancelWorkspace: (context) => async (send) => {
cancelWorkspace: (context) => async () => {
if (context.workspace) {
const cancelWorkspacePromise = await API.cancelWorkspaceBuild(
context.workspace.latest_build.id,
);
send({ type: "REFRESH_TIMELINE" });

return cancelWorkspacePromise;
} else {
throw Error("Cannot cancel workspace without build id");
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp