umami/src/app/(main)/websites/[websiteId]/sessions/SessionsDataTable.tsx
Arthur Sepiol ef9a382cdd Add real-time session updates via Server-Sent Events
Implements push-based real-time updates for the Sessions page. New sessions now appear instantly without manual reload or polling.

Changes:
- Add SSE event emitter for session creation notifications
- Create SSE stream endpoint at /api/websites/[id]/sessions/stream
- Emit session events in tracking endpoint when sessions are created
- Add useSessionStream hook to connect to SSE and invalidate queries
- Fix LoadingPanel to prevent flicker during background refetches
2025-12-10 16:02:44 +03:00

16 lines
540 B
TypeScript

import { DataGrid } from '@/components/common/DataGrid';
import { useSessionStream, useWebsiteSessionsQuery } from '@/components/hooks';
import { SessionsTable } from './SessionsTable';
export function SessionsDataTable({ websiteId }: { websiteId?: string; teamId?: string }) {
useSessionStream(websiteId);
const queryResult = useWebsiteSessionsQuery(websiteId);
return (
<DataGrid query={queryResult} allowPaging allowSearch>
{({ data }) => {
return <SessionsTable data={data} />;
}}
</DataGrid>
);
}