From 90bf6c66c6f63db1f6e237cd074281aa0fe5f196 Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Thu, 18 Dec 2025 18:36:00 +0000 Subject: [PATCH] Run redirect route and link to runs from Query page --- .../app/components/code/TSQLResultsTable.tsx | 8 +++ .../route.tsx | 2 +- apps/webapp/app/routes/runs.$runParam.ts | 68 +++++++++++++++++++ apps/webapp/app/utils/pathBuilder.ts | 6 +- apps/webapp/app/v3/querySchemas.ts | 3 +- 5 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 apps/webapp/app/routes/runs.$runParam.ts diff --git a/apps/webapp/app/components/code/TSQLResultsTable.tsx b/apps/webapp/app/components/code/TSQLResultsTable.tsx index 3442f729e..e71c9e5f9 100644 --- a/apps/webapp/app/components/code/TSQLResultsTable.tsx +++ b/apps/webapp/app/components/code/TSQLResultsTable.tsx @@ -17,6 +17,8 @@ import { TaskRunStatusCombo, } from "~/components/runs/v3/TaskRunStatus"; import { Paragraph } from "../primitives/Paragraph"; +import { TextLink } from "../primitives/TextLink"; +import { v3RunPathFromFriendlyId } from "~/utils/pathBuilder"; /** * Check if a ClickHouse type is a DateTime type @@ -83,6 +85,12 @@ function CellValue({ // First check customRenderType for special rendering if (column.customRenderType) { switch (column.customRenderType) { + case "runId": { + if (typeof value === "string") { + return {value}; + } + break; + } case "runStatus": { // We have mapped the status to a friendly status so we need to map back to render the normal component if (isTaskRunStatus(value)) { diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.query/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.query/route.tsx index 8cd01cd4d..afed660eb 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.query/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.query/route.tsx @@ -202,7 +202,7 @@ export default function Page() { minHeight="200px" className="min-h-[200px]" /> -
+