import { defineConfig } from "@playwright/test"; // Disposable sample-mode dev copy. Never reads the preview .env, stops its // server, runs next build/CI, or accesses a personal Chrome profile. export default defineConfig({ testDir: "./tests/e2e", workers: 1, retries: 0, timeout: 30000, expect: { timeout: 10000 }, reporter: "list", use: { baseURL: "http://localhost:17323", channel: "chrome", headless: true, launchOptions: { args: ["--no-proxy-server"] }, permissions: ["clipboard-read", "clipboard-write"], trace: "retain-on-failure", screenshot: "only-on-failure", }, webServer: { command: "THESISLY_PAPER_MODE=sample node tests/fixtures/session-app.mjs", url: "http://localhost:17323/login", reuseExistingServer: false, timeout: 120000, gracefulShutdown: { signal: "SIGTERM", timeout: 15000 }, }, projects: [ { name: "desktop", use: { viewport: { width: 1440, height: 1000 } } }, { name: "mobile", use: { viewport: { width: 390, height: 844 }, isMobile: true, hasTouch: true } }, ], });