History

fix: retain diff search params when navigating between threads

Add retainSearchParams middleware to the _chat.$threadId route so that diff-related search params (?diff=1, diffTurnId, diffFilePath) are preserved when navigating between threads via the sidebar. Without this, TanStack Router clears search params on navigation since the sidebar's navigate calls don't explicitly pass search.

Cursor Agent committed 8 months ago

Commit da1cd331 parent 8a72a2a1 file · +4 −1Browse files

Unified · Split

apps/web/src/routes/_chat.$threadId.tsx+4−1
@@ -1,4 +1,4 @@
1−import { createFileRoute, useNavigate } from "@tanstack/react-router";
1+import { createFileRoute, retainSearchParams, useNavigate } from "@tanstack/react-router";
22 import { Activity, Suspense, lazy, type ReactNode, useCallback, useEffect } from "react";
33
44 import ChatView from "../components/ChatView";
@@ -110,5 +110,8 @@ function ChatThreadRouteView() { · 105 unmodified lines
110110
111111 export const Route = createFileRoute("/_chat/$threadId")({
112112 validateSearch: (search) => parseDiffRouteSearch(search),
113+ search: {
114+ middlewares: [retainSearchParams(true)],
115+ },
113116 component: ChatThreadRouteView,
114117 });