Files
umami/src/components/hooks/queries/useRecordingsQuery.ts
T
Mike CaoandClaude Opus 4.6 72b5c658e2 Add rrweb-based session recording feature.
Implements full session recording with rrweb for DOM capture and rrweb-player
for playback. Includes: Prisma schema for SessionRecording model, chunked
gzip-compressed storage, recorder script built via Rollup, collection API
endpoint, recordings list/playback UI pages, website recording settings,
and cascade delete support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 15:49:59 -08:00

26 lines
795 B
TypeScript

import { useApi } from '../useApi';
import { useDateParameters } from '../useDateParameters';
import { useModified } from '../useModified';
import { usePagedQuery } from '../usePagedQuery';
export function useRecordingsQuery(websiteId: string, params?: Record<string, string | number>) {
const { get } = useApi();
const { modified } = useModified('recordings');
const { startAt, endAt, unit, timezone } = useDateParameters();
return usePagedQuery({
queryKey: ['recordings', { websiteId, modified, startAt, endAt, unit, timezone, ...params }],
queryFn: pageParams => {
return get(`/websites/${websiteId}/recordings`, {
startAt,
endAt,
unit,
timezone,
...pageParams,
...params,
pageSize: 20,
});
},
});
}