From a30e242e039543f3e8cb2c053a9a3b660eee8762 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 16:20:58 +0000 Subject: [PATCH 1/6] Upgrade React Router packages Co-authored-by: Kent C. Dodds --- bun.lock | 28 ++++++++++++++-------------- package.json | 14 +++++++------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/bun.lock b/bun.lock index 84f2398..e633b5c 100644 --- a/bun.lock +++ b/bun.lock @@ -24,9 +24,9 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", - "@react-router/express": "^7.13.0", - "@react-router/node": "^7.13.0", - "@react-router/remix-routes-option-adapter": "^7.13.0", + "@react-router/express": "^7.16.0", + "@react-router/node": "^7.16.0", + "@react-router/remix-routes-option-adapter": "^7.16.0", "@sentry/react-router": "^10.38.0", "@tailwindcss/vite": "^4.1.18", "address": "^2.0.3", @@ -56,8 +56,8 @@ "qrcode": "^1.5.4", "react": "^19.2.4", "react-dom": "^19.2.4", - "react-router": "^7.13.0", - "react-router-dom": "^7.13.0", + "react-router": "^7.16.0", + "react-router-dom": "^7.16.0", "remix-utils": "^9.0.1", "set-cookie-parser": "^3.0.1", "set-interval-async": "^3.0.3", @@ -72,8 +72,8 @@ "@epic-web/config": "^1.21.3", "@faker-js/faker": "^10.2.0", "@playwright/test": "^1.58.1", - "@react-router/dev": "^7.13.0", - "@react-router/serve": "^7.13.0", + "@react-router/dev": "^7.16.0", + "@react-router/serve": "^7.16.0", "@sentry/vite-plugin": "^4.8.0", "@sly-cli/sly": "^2.1.1", "@total-typescript/ts-reset": "^0.6.1", @@ -552,15 +552,15 @@ "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], - "@react-router/dev": ["@react-router/dev@7.13.0", "", { "dependencies": { "@babel/core": "^7.27.7", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/preset-typescript": "^7.27.1", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@react-router/node": "7.13.0", "@remix-run/node-fetch-server": "^0.13.0", "arg": "^5.0.1", "babel-dead-code-elimination": "^1.0.6", "chokidar": "^4.0.0", "dedent": "^1.5.3", "es-module-lexer": "^1.3.1", "exit-hook": "2.2.1", "isbot": "^5.1.11", "jsesc": "3.0.2", "lodash": "^4.17.21", "p-map": "^7.0.3", "pathe": "^1.1.2", "picocolors": "^1.1.1", "pkg-types": "^2.3.0", "prettier": "^3.6.2", "react-refresh": "^0.14.0", "semver": "^7.3.7", "tinyglobby": "^0.2.14", "valibot": "^1.2.0", "vite-node": "^3.2.2" }, "peerDependencies": { "@react-router/serve": "^7.13.0", "@vitejs/plugin-rsc": "~0.5.7", "react-router": "^7.13.0", "react-server-dom-webpack": "^19.2.3", "typescript": "^5.1.0", "vite": "^5.1.0 || ^6.0.0 || ^7.0.0", "wrangler": "^3.28.2 || ^4.0.0" }, "optionalPeers": ["@react-router/serve", "@vitejs/plugin-rsc", "react-server-dom-webpack", "typescript", "wrangler"], "bin": { "react-router": "bin.js" } }, "sha512-0vRfTrS6wIXr9j0STu614Cv2ytMr21evnv1r+DXPv5cJ4q0V2x2kBAXC8TAqEXkpN5vdhbXBlbGQ821zwOfhvg=="], + "@react-router/dev": ["@react-router/dev@7.16.0", "", { "dependencies": { "@babel/core": "^7.27.7", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/preset-typescript": "^7.27.1", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@react-router/node": "7.16.0", "@remix-run/node-fetch-server": "^0.13.0", "arg": "^5.0.1", "babel-dead-code-elimination": "^1.0.6", "chokidar": "^4.0.0", "dedent": "^1.5.3", "es-module-lexer": "^1.3.1", "exit-hook": "2.2.1", "isbot": "^5.1.11", "jsesc": "3.0.2", "lodash": "^4.17.21", "p-map": "^7.0.3", "pathe": "^1.1.2", "picocolors": "^1.1.1", "pkg-types": "^2.3.0", "prettier": "^3.6.2", "react-refresh": "^0.14.0", "semver": "^7.3.7", "tinyglobby": "^0.2.14", "valibot": "^1.2.0", "vite-node": "^3.2.2" }, "peerDependencies": { "@react-router/serve": "^7.16.0", "@vitejs/plugin-rsc": "~0.5.21", "react-router": "^7.16.0", "react-server-dom-webpack": "^19.2.3", "typescript": "^5.1.0 || ^6.0.0", "vite": "^5.1.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "wrangler": "^3.28.2 || ^4.0.0" }, "optionalPeers": ["@react-router/serve", "@vitejs/plugin-rsc", "react-server-dom-webpack", "typescript", "wrangler"], "bin": { "react-router": "bin.js" } }, "sha512-E/uNYnHbo+wepw+FudGwuN6au6y4dOfVuRRANYdCp5T+tLvGU/09s2uGzNQsxqushyae9wvWTLY0qMvvgowIyg=="], - "@react-router/express": ["@react-router/express@7.13.0", "", { "dependencies": { "@react-router/node": "7.13.0" }, "peerDependencies": { "express": "^4.17.1 || ^5", "react-router": "7.13.0", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-9az5P7sjbfxb0l4TtS5tlyV2tI8ZY4dWeuddxK2JLtgWwe+MGGSEO62fY87PidmgTqpQXguT6iyR5RXP9gJucA=="], + "@react-router/express": ["@react-router/express@7.16.0", "", { "dependencies": { "@react-router/node": "7.16.0" }, "peerDependencies": { "express": "^4.17.1 || ^5", "react-router": "7.16.0", "typescript": "^5.1.0 || ^6.0.0" }, "optionalPeers": ["typescript"] }, "sha512-nE+yZ9J8fJjVR7UrnAYzOWcvAdI0HxHKjzizOxpDREcNCt38EFoMqc2gi4vEbQUVvj67Uygv/iACuc/AAAfj3Q=="], - "@react-router/node": ["@react-router/node@7.13.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0" }, "peerDependencies": { "react-router": "7.13.0", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-Mhr3fAou19oc/S93tKMIBHwCPfqLpWyWM/m0NWd3pJh/wZin8/9KhAdjwxhYbXw1TrTBZBLDENa35uZ+Y7oh3A=="], + "@react-router/node": ["@react-router/node@7.16.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0" }, "peerDependencies": { "react-router": "7.16.0", "typescript": "^5.1.0 || ^6.0.0" }, "optionalPeers": ["typescript"] }, "sha512-3S54GArZETvcBHt0cFNJS5ZU66bCNVOoS44MVcGjiGjArBXvWx8xIQ5FO9n1azKGEBpDmJN7NbA+cf3oMCJv3g=="], - "@react-router/remix-routes-option-adapter": ["@react-router/remix-routes-option-adapter@7.13.0", "", { "peerDependencies": { "@react-router/dev": "^7.13.0", "typescript": "^5.1.0" }, "optionalPeers": ["typescript"] }, "sha512-Ydnx4mv+E6ZFtf91g188ieHzakExMkRS1ki/x2osrwN75q8Kq8yZlzKky3Fyr0wpsBiZA7SeZBZKaRX2QW4BqQ=="], + "@react-router/remix-routes-option-adapter": ["@react-router/remix-routes-option-adapter@7.16.0", "", { "peerDependencies": { "@react-router/dev": "^7.16.0", "typescript": "^5.1.0 || ^6.0.0" }, "optionalPeers": ["typescript"] }, "sha512-zpjZ1kl8NbPfp5ctbKshIJaVSaJqvnz+6fjpxqQGTtR/ArHt7TGnbLBafUX5LQAxkPuehlGfYb9BmlE99xbgtA=="], - "@react-router/serve": ["@react-router/serve@7.13.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0", "@react-router/express": "7.13.0", "@react-router/node": "7.13.0", "compression": "^1.8.1", "express": "^4.19.2", "get-port": "5.1.1", "morgan": "^1.10.1", "source-map-support": "^0.5.21" }, "peerDependencies": { "react-router": "7.13.0" }, "bin": { "react-router-serve": "bin.js" } }, "sha512-bgpA3YdUvuSAQa0vRM9xeZaBsglgUvxsVCUqdJpxF87ZF9pT5uoAITrWYd1soDB8jSksnH3btJEXHasvG7cikA=="], + "@react-router/serve": ["@react-router/serve@7.16.0", "", { "dependencies": { "@mjackson/node-fetch-server": "^0.2.0", "@react-router/express": "7.16.0", "@react-router/node": "7.16.0", "compression": "^1.8.1", "express": "^4.19.2", "get-port": "5.1.1", "morgan": "^1.10.1", "source-map-support": "^0.5.21" }, "peerDependencies": { "react-router": "7.16.0" }, "bin": { "react-router-serve": "bin.js" } }, "sha512-ZI26LhXH65HP6z89+VzTK4XXDibnJczCUNQOgZIabKXSx8bmSzwujHe0brFc/eBW8N+tFBn/OZ2UuqELi9MwBg=="], "@remix-run/node-fetch-server": ["@remix-run/node-fetch-server@0.13.0", "", {}, "sha512-1EsNo0ZpgXu/90AWoRZf/oE3RVTUS80tiTUpt+hv5pjtAkw7icN4WskDwz/KdAw5ARbJLMhZBrO1NqThmy/McA=="], @@ -1778,9 +1778,9 @@ "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - "react-router": ["react-router@7.13.0", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw=="], + "react-router": ["react-router@7.16.0", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-wArC8lVyJb3+jM9OpDyW6hLCizACWkvQR/sSGqSs+o5uEXEtGlqdZ4v8hENR3Jad6i+LRkK93q/+bQAcvl6V1A=="], - "react-router-dom": ["react-router-dom@7.13.0", "", { "dependencies": { "react-router": "7.13.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g=="], + "react-router-dom": ["react-router-dom@7.16.0", "", { "dependencies": { "react-router": "7.16.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-kMUAbimWB5FVbF4Bce4bJsiKJWLIUHq/mEG8+CFDnCSgltptBiG5nguducmsJeGKytlCvQud9Qhzpn49iduTlA=="], "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], diff --git a/package.json b/package.json index e0ec83b..faa6fc1 100644 --- a/package.json +++ b/package.json @@ -62,9 +62,9 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", - "@react-router/express": "^7.13.0", - "@react-router/node": "^7.13.0", - "@react-router/remix-routes-option-adapter": "^7.13.0", + "@react-router/express": "^7.16.0", + "@react-router/node": "^7.16.0", + "@react-router/remix-routes-option-adapter": "^7.16.0", "@sentry/react-router": "^10.38.0", "@tailwindcss/vite": "^4.1.18", "address": "^2.0.3", @@ -94,8 +94,8 @@ "qrcode": "^1.5.4", "react": "^19.2.4", "react-dom": "^19.2.4", - "react-router": "^7.13.0", - "react-router-dom": "^7.13.0", + "react-router": "^7.16.0", + "react-router-dom": "^7.16.0", "remix-utils": "^9.0.1", "set-cookie-parser": "^3.0.1", "set-interval-async": "^3.0.3", @@ -110,8 +110,8 @@ "@epic-web/config": "^1.21.3", "@faker-js/faker": "^10.2.0", "@playwright/test": "^1.58.1", - "@react-router/dev": "^7.13.0", - "@react-router/serve": "^7.13.0", + "@react-router/dev": "^7.16.0", + "@react-router/serve": "^7.16.0", "@sentry/vite-plugin": "^4.8.0", "@sly-cli/sly": "^2.1.1", "@total-typescript/ts-reset": "^0.6.1", From 0c3887e585ea37dccc198c8ed3b779c9b6a8a030 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 17:21:22 +0000 Subject: [PATCH 2/6] Seed source number for e2e setup Co-authored-by: Kent C. Dodds --- tests/setup/playwright-global-setup.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/setup/playwright-global-setup.ts b/tests/setup/playwright-global-setup.ts index c2c7b93..03cca4b 100644 --- a/tests/setup/playwright-global-setup.ts +++ b/tests/setup/playwright-global-setup.ts @@ -1,10 +1,24 @@ import path from 'node:path' import { fileURLToPath } from 'node:url' import fsExtra from 'fs-extra' +import { prisma } from '#app/utils/db.server.ts' import { setup as dbSetup } from './global-setup.ts' const __dirname = path.dirname(fileURLToPath(import.meta.url)) const fixturesDirPath = path.join(__dirname, '..', 'fixtures') +const defaultSourceNumber = '555-555-5555' + +async function ensureSourceNumber() { + const existingSourceNumber = await prisma.sourceNumber.findFirst({ + select: { id: true }, + }) + if (existingSourceNumber) return + + await prisma.sourceNumber.create({ + data: { phoneNumber: defaultSourceNumber }, + select: { id: true }, + }) +} /** * Playwright global setup - runs once before all tests @@ -16,6 +30,8 @@ export default async function globalSetup() { // Run database setup await dbSetup() + await ensureSourceNumber() + await prisma.$disconnect() console.log('✓ Playwright global setup complete') } From 1aa9bd541cfce1fcd7b5a95d6f187931613ff74f Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 18:16:20 +0000 Subject: [PATCH 3/6] Install Playwright headless shell in CI Co-authored-by: Kent C. Dodds --- package.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index faa6fc1..242776f 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "test:e2e:dev": "bunx playwright test --ui", "pretest:e2e:run": "bun run build", "test:e2e:run": "cross-env CI=true bunx playwright test", - "test:e2e:install": "bunx playwright install --with-deps chromium", + "test:e2e:install": "bunx playwright install --with-deps --only-shell chromium", "typecheck": "react-router typegen && tsc", "benchmark:data": "bun ./scripts/benchmark-data-load.ts", "benchmark:perf": "bun ./scripts/benchmark-performance.ts", @@ -62,9 +62,9 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", - "@react-router/express": "^7.16.0", - "@react-router/node": "^7.16.0", - "@react-router/remix-routes-option-adapter": "^7.16.0", + "@react-router/express": "^7.13.0", + "@react-router/node": "^7.13.0", + "@react-router/remix-routes-option-adapter": "^7.13.0", "@sentry/react-router": "^10.38.0", "@tailwindcss/vite": "^4.1.18", "address": "^2.0.3", @@ -94,8 +94,8 @@ "qrcode": "^1.5.4", "react": "^19.2.4", "react-dom": "^19.2.4", - "react-router": "^7.16.0", - "react-router-dom": "^7.16.0", + "react-router": "^7.13.0", + "react-router-dom": "^7.13.0", "remix-utils": "^9.0.1", "set-cookie-parser": "^3.0.1", "set-interval-async": "^3.0.3", @@ -110,8 +110,8 @@ "@epic-web/config": "^1.21.3", "@faker-js/faker": "^10.2.0", "@playwright/test": "^1.58.1", - "@react-router/dev": "^7.16.0", - "@react-router/serve": "^7.16.0", + "@react-router/dev": "^7.13.0", + "@react-router/serve": "^7.13.0", "@sentry/vite-plugin": "^4.8.0", "@sly-cli/sly": "^2.1.1", "@total-typescript/ts-reset": "^0.6.1", From 353a353b4eb24bdc282c4db3feabe0138b265cc6 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 18:16:48 +0000 Subject: [PATCH 4/6] Restore React Router manifest ranges Co-authored-by: Kent C. Dodds --- package.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 242776f..7e6ea9e 100644 --- a/package.json +++ b/package.json @@ -62,9 +62,9 @@ "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", - "@react-router/express": "^7.13.0", - "@react-router/node": "^7.13.0", - "@react-router/remix-routes-option-adapter": "^7.13.0", + "@react-router/express": "^7.16.0", + "@react-router/node": "^7.16.0", + "@react-router/remix-routes-option-adapter": "^7.16.0", "@sentry/react-router": "^10.38.0", "@tailwindcss/vite": "^4.1.18", "address": "^2.0.3", @@ -94,8 +94,8 @@ "qrcode": "^1.5.4", "react": "^19.2.4", "react-dom": "^19.2.4", - "react-router": "^7.13.0", - "react-router-dom": "^7.13.0", + "react-router": "^7.16.0", + "react-router-dom": "^7.16.0", "remix-utils": "^9.0.1", "set-cookie-parser": "^3.0.1", "set-interval-async": "^3.0.3", @@ -110,8 +110,8 @@ "@epic-web/config": "^1.21.3", "@faker-js/faker": "^10.2.0", "@playwright/test": "^1.58.1", - "@react-router/dev": "^7.13.0", - "@react-router/serve": "^7.13.0", + "@react-router/dev": "^7.16.0", + "@react-router/serve": "^7.16.0", "@sentry/vite-plugin": "^4.8.0", "@sly-cli/sly": "^2.1.1", "@total-typescript/ts-reset": "^0.6.1", From 72e72d5b0c81444ad9d3cd922e94f55cdbe18650 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 18:30:30 +0000 Subject: [PATCH 5/6] Use Chrome channel for CI browser tests Co-authored-by: Kent C. Dodds --- .github/workflows/deploy.yml | 22 ---------------------- playwright.config.ts | 2 ++ vitest.config.ts | 6 +++++- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0059aa1..0965ae8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -113,17 +113,6 @@ jobs: - name: 📥 Download deps run: bun install --frozen-lockfile - - name: 🎭 Cache Playwright browsers - uses: actions/cache@v4 - with: - path: ~/.cache/ms-playwright - key: playwright-${{ runner.os }}-${{ hashFiles('bun.lock') }} - restore-keys: | - playwright-${{ runner.os }}- - - - name: 🎭 Install Playwright browsers - run: bun run test:e2e:install - - name: 🧰 Setup env run: bun run setup:env @@ -151,17 +140,6 @@ jobs: - name: 📥 Download deps run: bun install --frozen-lockfile - - name: 🎭 Cache Playwright browsers - uses: actions/cache@v4 - with: - path: ~/.cache/ms-playwright - key: playwright-${{ runner.os }}-${{ hashFiles('bun.lock') }} - restore-keys: | - playwright-${{ runner.os }}- - - - name: 📥 Install Playwright Browsers - run: bun run test:e2e:install - - name: 🧰 Setup env run: bun run setup:env diff --git a/playwright.config.ts b/playwright.config.ts index c2efb70..cab42e0 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -2,6 +2,7 @@ import { defineConfig, devices } from '@playwright/test' import 'dotenv/config' const PORT = process.env.PORT || '3000' +const browserChannel = process.env.CI ? 'chrome' : undefined export default defineConfig({ testDir: './tests/e2e', @@ -40,6 +41,7 @@ export default defineConfig({ name: 'chromium', use: { ...devices['Desktop Chrome'], + channel: browserChannel, }, }, ], diff --git a/vitest.config.ts b/vitest.config.ts index c76df1f..ef8940b 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -4,6 +4,8 @@ import react from '@vitejs/plugin-react' import { playwright } from '@vitest/browser-playwright' import { defineConfig } from 'vitest/config' +const browserChannel = process.env.CI ? 'chrome' : undefined + export default defineConfig({ plugins: [react()], css: { postcss: { plugins: [] } }, @@ -18,7 +20,9 @@ export default defineConfig({ restoreMocks: true, browser: { enabled: true, - provider: playwright(), + provider: playwright({ + launchOptions: { channel: browserChannel }, + }), instances: [{ browser: 'chromium' }], headless: true, ui: false, From 50038c59abf0d7693e01f78e7563c72110634ce3 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 2 Jun 2026 18:33:06 +0000 Subject: [PATCH 6/6] Limit CI Chrome channel to GitHub Actions Co-authored-by: Kent C. Dodds --- playwright.config.ts | 2 +- vitest.config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/playwright.config.ts b/playwright.config.ts index cab42e0..887e3ff 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -2,7 +2,7 @@ import { defineConfig, devices } from '@playwright/test' import 'dotenv/config' const PORT = process.env.PORT || '3000' -const browserChannel = process.env.CI ? 'chrome' : undefined +const browserChannel = process.env.GITHUB_ACTIONS ? 'chrome' : undefined export default defineConfig({ testDir: './tests/e2e', diff --git a/vitest.config.ts b/vitest.config.ts index ef8940b..069a5b5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -4,7 +4,7 @@ import react from '@vitejs/plugin-react' import { playwright } from '@vitest/browser-playwright' import { defineConfig } from 'vitest/config' -const browserChannel = process.env.CI ? 'chrome' : undefined +const browserChannel = process.env.GITHUB_ACTIONS ? 'chrome' : undefined export default defineConfig({ plugins: [react()],