Skip to content

Commit af2d4be

Browse files
committed
human-readable task workspace name, ensure task title doesn't overflow
1 parent 9b9b894 commit af2d4be

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

site/src/pages/TaskPage/TaskPage.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { Helmet } from "react-helmet-async";
1212
import { useQuery } from "react-query";
1313
import { useParams } from "react-router-dom";
1414
import { Link as RouterLink } from "react-router-dom";
15+
import { ellipsizeText } from "utils/ellipsizeText";
1516
import { pageTitle } from "utils/page";
1617
import { TaskApps } from "./TaskApps";
1718
import { TaskSidebar } from "./TaskSidebar";
@@ -163,7 +164,7 @@ const TaskPage = () => {
163164
return (
164165
<>
165166
<Helmet>
166-
<title>{pageTitle(task.prompt)}</title>
167+
<title>{pageTitle(ellipsizeText(task.prompt, 64)!)}</title>
167168
</Helmet>
168169

169170
<div className="h-full flex justify-stretch">

site/src/pages/TaskPage/TaskSidebar.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ export const TaskSidebar: FC<TaskSidebarProps> = ({ task }) => {
9797
</DropdownMenu>
9898
</div>
9999

100-
<h1 className="m-0 mt-1 text-base font-medium">{task.prompt}</h1>
100+
<h1 className="m-0 mt-1 text-base font-medium truncate">
101+
{task.prompt}
102+
</h1>
101103

102104
{task.workspace.latest_app_status?.uri && (
103105
<div className="flex items-center gap-2 mt-2 flex-wrap">

site/src/pages/TasksPage/TasksPage.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import { useAuthenticated } from "hooks";
3232
import { ExternalLinkIcon, RotateCcwIcon, SendIcon } from "lucide-react";
3333
import { AI_PROMPT_PARAMETER_NAME, type Task } from "modules/tasks/tasks";
3434
import { WorkspaceAppStatus } from "modules/workspaces/WorkspaceAppStatus/WorkspaceAppStatus";
35+
import { generateWorkspaceName } from "modules/workspaces/generateWorkspaceName";
3536
import { type FC, type ReactNode, useState } from "react";
3637
import { Helmet } from "react-helmet-async";
3738
import { useMutation, useQuery, useQueryClient } from "react-query";
@@ -489,7 +490,7 @@ export const data = {
489490
templateId: string,
490491
): Promise<Task> {
491492
const workspace = await API.createWorkspace(userId, {
492-
name: `task-${new Date().getTime()}`,
493+
name: `task-${generateWorkspaceName()}`,
493494
template_id: templateId,
494495
rich_parameter_values: [
495496
{ name: AI_PROMPT_PARAMETER_NAME, value: prompt },

0 commit comments

Comments
 (0)