From 611ea65f449549e159a51d42ab2bc624c43d237d Mon Sep 17 00:00:00 2001 From: Wei Zhang Date: Tue, 19 May 2026 10:54:35 +0800 Subject: [PATCH] fix(site): make pending_models optional and update devMode check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cast zealtConfig to explicitly make pending_models optional, preventing TS errors when the field is omitted from config.json. - Update devMode logic to check process.env.NODE_ENV === "development" in addition to the URL query param. 🤖 Generated with [Pochi](https://getpochi.com) | [Task](https://app.getpochi.com/share/p-2039d4e2d1ed4e21bb3baa207943d5b6) Co-Authored-By: Pochi --- site/app/(home)/components/leaderboard-table.tsx | 7 ++++--- .../[jobId]/trajectory/components/trajectory-page.tsx | 2 +- site/app/tasks/components/tasks-page-client.tsx | 9 +++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/site/app/(home)/components/leaderboard-table.tsx b/site/app/(home)/components/leaderboard-table.tsx index 7ec8abb912a..4cf7a90029a 100644 --- a/site/app/(home)/components/leaderboard-table.tsx +++ b/site/app/(home)/components/leaderboard-table.tsx @@ -63,15 +63,16 @@ function ScoreCell({ value }: { value: number }) { export default function LeaderboardTable({ data }: { data: LeaderboardEntry[] }) { const router = useRouter(); const searchParams = useSearchParams(); - const devMode = searchParams.get("dev") === "true"; + const devMode = process.env.NODE_ENV === "development" || searchParams.get("dev") === "true"; const [searchQuery, setSearchQuery] = useState(""); const filteredData = useMemo(() => { let processedData = data; + const config = zealtConfig as { pending_models?: string[] }; - if (!devMode && zealtConfig.pending_models && zealtConfig.pending_models.length > 0) { + if (!devMode && config.pending_models && config.pending_models.length > 0) { processedData = processedData.filter((item) => - !(zealtConfig.pending_models as string[]).includes(item.rawModel) + !config.pending_models!.includes(item.rawModel) ); } diff --git a/site/app/tasks/[name]/[jobId]/trajectory/components/trajectory-page.tsx b/site/app/tasks/[name]/[jobId]/trajectory/components/trajectory-page.tsx index 3805d398fac..32092ac0e6f 100644 --- a/site/app/tasks/[name]/[jobId]/trajectory/components/trajectory-page.tsx +++ b/site/app/tasks/[name]/[jobId]/trajectory/components/trajectory-page.tsx @@ -57,7 +57,7 @@ export function TrajectoryPage({ const [mounted, setMounted] = useState(false); const [iframeLoading, setIframeLoading] = useState(true); - const devModeEnabled = searchParams.get("dev") === "true"; + const devModeEnabled = process.env.NODE_ENV === "development" || searchParams.get("dev") === "true"; const visibleTabsConfig = useMemo( () => devModeEnabled diff --git a/site/app/tasks/components/tasks-page-client.tsx b/site/app/tasks/components/tasks-page-client.tsx index 0de6b30dfab..ecd6b087826 100644 --- a/site/app/tasks/components/tasks-page-client.tsx +++ b/site/app/tasks/components/tasks-page-client.tsx @@ -123,7 +123,7 @@ export function TasksPageClient({ tasksData }: TasksPageClientProps) { const [selectedTask, setSelectedTask] = useState(null); const [isInstructionOpen, setIsInstructionOpen] = useState(false); const isDesktop = useMediaQuery("(min-width: 1024px)"); - const [devMode, setDevMode] = useState(false); + const [devMode, setDevMode] = useState(process.env.NODE_ENV === "development"); const hasActiveFilters = selectedStatuses.length > 0 || @@ -184,7 +184,7 @@ export function TasksPageClient({ tasksData }: TasksPageClientProps) { const initialAgents = (params.get("agent") || "").split(",").filter(Boolean); const initialSort = params.get("sort") || "default"; const initialOrder = params.get("order") || "asc"; - const initialDevMode = params.get("dev") === "true"; + const initialDevMode = process.env.NODE_ENV === "development" || params.get("dev") === "true"; setQueryQ(initialQ); setSearchQuery(initialQ); @@ -213,8 +213,9 @@ export function TasksPageClient({ tasksData }: TasksPageClientProps) { tasksData.flatMap((task) => task.trials .filter((trial) => { - if (!devMode && zealtConfig.pending_models && zealtConfig.pending_models.length > 0) { - return !(zealtConfig.pending_models as string[]).includes(trial.rawModel); + const config = zealtConfig as { pending_models?: string[] }; + if (!devMode && config.pending_models && config.pending_models.length > 0) { + return !config.pending_models.includes(trial.rawModel); } return true; })