From bf3ee27bd11547be054dffa8acf826266537bf2e Mon Sep 17 00:00:00 2001 From: BrunoQuaresma Date: Tue, 23 Jan 2024 13:28:15 +0000 Subject: [PATCH 1/2] feat(site): generates unique workspace names by default --- site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx index 309aa6c4196e0..ff6407d8b6b34 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx @@ -244,14 +244,10 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode { } function getDefaultName(mode: CreateWorkspaceMode, params: URLSearchParams) { - if (mode === "auto") { - return generateUniqueName(); - } - const paramsName = params.get("name"); if (mode === "duplicate" && paramsName) { return `${paramsName}-copy`; } - return paramsName ?? ""; + return paramsName ?? generateUniqueName(); } From 8b9c28f0085275bc052a2a141449717ea7bf886f Mon Sep 17 00:00:00 2001 From: BrunoQuaresma Date: Tue, 23 Jan 2024 15:36:17 +0000 Subject: [PATCH 2/2] fix default name getting regenerated --- .../CreateWorkspacePage.tsx | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx index ff6407d8b6b34..46a4a3bc25e05 100644 --- a/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx +++ b/site/src/pages/CreateWorkspacePage/CreateWorkspacePage.tsx @@ -1,4 +1,4 @@ -import { type FC, useCallback, useState, useEffect } from "react"; +import { type FC, useCallback, useState, useEffect, useMemo } from "react"; import { Helmet } from "react-helmet-async"; import { useNavigate, useParams, useSearchParams } from "react-router-dom"; import { useMutation, useQuery, useQueryClient } from "react-query"; @@ -44,7 +44,15 @@ const CreateWorkspacePage: FC = () => { const defaultBuildParameters = getDefaultBuildParameters(searchParams); const mode = getWorkspaceMode(searchParams); const customVersionId = searchParams.get("version") ?? undefined; - const defaultName = getDefaultName(mode, searchParams); + + const defaultName = useMemo(() => { + const paramsName = searchParams.get("name"); + if (mode === "duplicate" && paramsName) { + return `${paramsName}-copy`; + } + + return paramsName ?? generateUniqueName(); + }, [mode, searchParams]); const queryClient = useQueryClient(); const autoCreateWorkspaceMutation = useMutation( @@ -242,12 +250,3 @@ function getWorkspaceMode(params: URLSearchParams): CreateWorkspaceMode { return "form"; } - -function getDefaultName(mode: CreateWorkspaceMode, params: URLSearchParams) { - const paramsName = params.get("name"); - if (mode === "duplicate" && paramsName) { - return `${paramsName}-copy`; - } - - return paramsName ?? generateUniqueName(); -}