LibreChat/e2e/playwright.config.tree-perf-prod.ts
Danny Avila a5932cb039
🎖️ perf: Promote Flat Thread Rendering to Default (#15660)
* 🧵 feat(client): Make the Flat Thread Renderer the Default

The flat message-thread renderer becomes the default; the recursive
MultiMessage path stays reachable with VITE_FLAT_THREAD=false at build
time or LC_FLAT_THREAD=false in localStorage as an escape hatch.

* 🧪 test(e2e): Differential Check of the Two Thread Renderers

Builds one conversation through the real pipeline with the content shapes
the seeded benchmarks never produce (a regenerated branch, reasoning,
markdown with a table and code, a provider attachment) and one with
detached subagent activity, then renders each with the flat list and the
recursive tree in turn. Both must produce the same transcript, sibling
counters, attachments and activity groups, before and after cycling a
branch. Also adds a benchmark config that runs the tree lane against the
built client for production-minified numbers.
2026-09-06 18:31:08 +00:00

17 lines
558 B
TypeScript

import { defineConfig } from '@playwright/test';
import mockConfig from './playwright.config.mock';
/**
* Message-tree benchmark against the BUILT client (`client/dist`, served by
* the mock app server): production-minified numbers. react-scan's
* per-component names are mangled here, so run it with TREE_PERF_SCAN=0 and
* read the CDP and resource lines.
*/
export default defineConfig({
...mockConfig,
testDir: 'benchmarks-tree',
outputDir: 'benchmarks-tree/.test-results',
timeout: 10 * 60 * 1000,
retries: 0,
reporter: [['line']],
});