diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 313310ae1..4276fbb33 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -4,7 +4,7 @@ import { useChat } from "@ai-sdk/react"; import { DefaultChatTransport } from "ai"; import { useEffect, useRef, useState, useCallback, useMemo, type ClipboardEvent as ReactClipboardEvent, type DragEvent as ReactDragEvent, type MouseEvent as ReactMouseEvent } from "react"; import { useSession } from "next-auth/react"; -import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useSearchParams } from "next/navigation"; import { createPortal } from "react-dom"; import type { DetailUiProtocol } from "@/lib/detail-ui-protocol"; import type { DetailUiScreenReviewPatch } from "@/lib/detail-ui-protocol"; @@ -2258,8 +2258,6 @@ export function CanvasChatPanel({ ); const effectiveAgentEnabled = agentEnabled && !isVideoWorkspace; const { data: session } = useSession(); - const router = useRouter(); - const pathname = usePathname(); const searchParams = useSearchParams(); const requestedChatSessionId = useMemo( () => normalizeCanvasChatSessionId(searchParams.get(CANVAS_CHAT_QUERY_PARAM)), @@ -2406,15 +2404,11 @@ export function CanvasChatPanel({ const normalized = normalizeCanvasChatSessionId(sessionId); if (!normalized || typeof window === "undefined") return; - const params = new URLSearchParams(window.location.search); - params.set(CANVAS_CHAT_QUERY_PARAM, normalized); - const query = params.toString(); - const hash = window.location.hash || ""; - router.replace(`${pathname}${query ? `?${query}` : ""}${hash}`, { - scroll: false, - }); + const url = new URL(window.location.href); + url.searchParams.set(CANVAS_CHAT_QUERY_PARAM, normalized); + window.history.replaceState(window.history.state, "", url); }, - [pathname, router] + [] ); // πŸ†• ζ ‡η­Ύζ‚¬εœι’„θ§ˆηŠΆζ€