diff --git a/site/src/pages/TaskPage/TaskAppIframe.tsx b/site/src/pages/TaskPage/TaskAppIframe.tsx index 9d11abc82b..5a3d0ed509 100644 --- a/site/src/pages/TaskPage/TaskAppIframe.tsx +++ b/site/src/pages/TaskPage/TaskAppIframe.tsx @@ -8,12 +8,14 @@ type TaskAppIFrameProps = { task: Task; app: WorkspaceApp; active: boolean; + pathname?: string; }; export const TaskAppIFrame: FC = ({ task, app, active, + pathname, }) => { const agent = task.workspace.latest_build.resources .flatMap((r) => r.agents) @@ -29,9 +31,20 @@ export const TaskAppIFrame: FC = ({ workspace: task.workspace, }); + let href = link.href; + try { + const url = new URL(link.href); + if (pathname) { + url.pathname = pathname; + } + href = url.toString(); + } catch (err) { + console.warn(`Failed to parse URL ${link.href} for app ${app.id}`, err); + } + return (