diff --git a/src/app/components/SSEEventListeners.tsx b/src/app/components/SSEEventListeners.tsx index 047724a..a80be14 100644 --- a/src/app/components/SSEEventListeners.tsx +++ b/src/app/components/SSEEventListeners.tsx @@ -25,8 +25,13 @@ export const SSEEventListeners: FC = ({ children }) => { }); }); - useServerEventListener("taskChanged", async (event) => { - setAliveTasks(event.aliveTasks); + useServerEventListener("taskChanged", async ({ aliveTasks, changed }) => { + setAliveTasks(aliveTasks); + + await queryClient.invalidateQueries({ + queryKey: sessionDetailQuery(changed.projectId, changed.sessionId) + .queryKey, + }); }); return <>{children}; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 7e98362..030d292 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,4 @@ import { QueryClient } from "@tanstack/react-query"; -import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { Toaster } from "../components/ui/sonner"; @@ -24,7 +23,7 @@ const geistMono = Geist_Mono({ subsets: ["latin"], }); -export const metadata: Metadata = { +export const metadata = { title: "Claude Code Viewer", description: "Web Viewer for Claude Code history", }; @@ -42,7 +41,7 @@ export default async function RootLayout({ }); return ( - + diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/SessionPageContent.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/SessionPageContent.tsx index 3748075..155db91 100644 --- a/src/app/projects/[projectId]/sessions/[sessionId]/components/SessionPageContent.tsx +++ b/src/app/projects/[projectId]/sessions/[sessionId]/components/SessionPageContent.tsx @@ -218,7 +218,7 @@ export const SessionPageContent: FC<{ {/* Fixed Diff Button */}