From a33cc8c75874bf89050ae90c58c5b6227debd4e2 Mon Sep 17 00:00:00 2001 From: eggfriedrice Date: Thu, 12 Mar 2026 17:44:16 +0000 Subject: [PATCH] fix: diff panel unclosable after retainSearchParams middleware (#937) --- apps/web/src/components/ChatView.tsx | 2 +- apps/web/src/diffRouteSearch.ts | 6 +++--- apps/web/src/routes/_chat.$threadId.tsx | 4 +--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index 76a5610ced48379c9b7a7a317196fceb118ecaa4..4fb0bfb866a24db3ba9ac50e3489e844354f8d12 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -1003,7 +1003,7 @@ export default function ChatView({ threadId }: ChatViewProps) { replace: true, search: (previous) => { const rest = stripDiffSearchParams(previous); - return diffOpen ? rest : { ...rest, diff: "1" }; + return diffOpen ? { ...rest, diff: undefined } : { ...rest, diff: "1" }; }, }); }, [diffOpen, navigate, threadId]); diff --git a/apps/web/src/diffRouteSearch.ts b/apps/web/src/diffRouteSearch.ts index f310b74b783141d35c132ce4a69671005fb353c8..d7de23e348ba95010d3a2a1bc5d5b3ef128fe6d9 100644 --- a/apps/web/src/diffRouteSearch.ts +++ b/apps/web/src/diffRouteSearch.ts @@ -1,9 +1,9 @@ import { TurnId } from "@t3tools/contracts"; export interface DiffRouteSearch { - diff?: "1"; - diffTurnId?: TurnId; - diffFilePath?: string; + diff?: "1" | undefined; + diffTurnId?: TurnId | undefined; + diffFilePath?: string | undefined; } function isDiffOpenValue(value: unknown): boolean { diff --git a/apps/web/src/routes/_chat.$threadId.tsx b/apps/web/src/routes/_chat.$threadId.tsx index b85aeab0d9b09ec3685a99ee5d197374364a4ee4..5e05b51fbd84d2263022419a42b6cf21a5497866 100644 --- a/apps/web/src/routes/_chat.$threadId.tsx +++ b/apps/web/src/routes/_chat.$threadId.tsx @@ -170,9 +170,7 @@ function ChatThreadRouteView() { void navigate({ to: "/$threadId", params: { threadId }, - search: (previous) => { - return stripDiffSearchParams(previous); - }, + search: { diff: undefined }, }); }, [navigate, threadId]); const openDiff = useCallback(() => { -- 2.54.0