mirror of
https://github.com/stack-auth/stack.git
synced 2026-07-14 21:20:30 +08:00
https://www.loom.com/share/3b7c9288149e4f878693281778c9d7e0 ## Todos (future PRs) - Fix pre-login recording - Better session search (filters, cmd-k, etc) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Analytics → Replays: session recording & multi-tab replay with timeline, speed, seek, and playback settings; dashboard UI for listing and viewing replays. * **Admin APIs** * Admin endpoints to list recordings, list chunks, fetch chunk events, and retrieve all events (paginated). * **Client** * Client-side rrweb recording with batching, deduplication, upload API and a send-batch client method. * **Configuration** * New STACK_S3_PRIVATE_BUCKET for private session storage. * **Tests** * Extensive unit and end-to-end tests for replay logic, streams, playback, and APIs. * **Chores** * Removed an E2E API test GitHub Actions workflow. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { getPublicEnvVar } from "@/lib/env";
|
|
import { StackServerApp } from '@stackframe/stack';
|
|
import { throwErr } from '@stackframe/stack-shared/dist/utils/errors';
|
|
import './polyfills';
|
|
|
|
if (getPublicEnvVar("NEXT_PUBLIC_STACK_PROJECT_ID") !== "internal") {
|
|
throw new Error("This project is not configured correctly. stack-dashboard must always use the internal project.");
|
|
}
|
|
|
|
export const stackServerApp = new StackServerApp<"nextjs-cookie", true, 'internal'>({
|
|
baseUrl: {
|
|
browser: getPublicEnvVar("NEXT_PUBLIC_BROWSER_STACK_API_URL") ?? getPublicEnvVar("NEXT_PUBLIC_STACK_API_URL") ?? throwErr("NEXT_PUBLIC_BROWSER_STACK_API_URL is not set"),
|
|
server: getPublicEnvVar("NEXT_PUBLIC_SERVER_STACK_API_URL") ?? getPublicEnvVar("NEXT_PUBLIC_STACK_API_URL") ?? throwErr("NEXT_PUBLIC_SERVER_STACK_API_URL is not set"),
|
|
},
|
|
projectId: "internal",
|
|
publishableClientKey: getPublicEnvVar("NEXT_PUBLIC_STACK_PUBLISHABLE_CLIENT_KEY"),
|
|
tokenStore: "nextjs-cookie",
|
|
urls: {
|
|
afterSignIn: "/projects",
|
|
afterSignUp: "/new-project",
|
|
afterSignOut: "/",
|
|
},
|
|
analytics: {
|
|
replays: {
|
|
maskAllInputs: false,
|
|
enabled: true,
|
|
},
|
|
},
|
|
});
|