mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-09-27 19:22:06 +00:00
* 🧵 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.
20 lines
783 B
TypeScript
20 lines
783 B
TypeScript
import { defineConfig } from '@playwright/test';
|
|
/** The perf config snapshots `process.env` into each server's env at import
|
|
* time, so the flag has to be in place before that import is evaluated. */
|
|
import './benchmarks-tree/flatenv';
|
|
import treePerfConfig from './playwright.config.tree-perf';
|
|
|
|
/**
|
|
* Runs the branch-sensitive mock specs against the vite dev server with the
|
|
* flat thread renderer pinned ON, so the flat path is checked against the
|
|
* same scenarios the recursive renderer passes.
|
|
*/
|
|
|
|
export default defineConfig({
|
|
...treePerfConfig,
|
|
testDir: 'specs/mock',
|
|
testMatch: process.env.TREE_PARITY_MATCH
|
|
? new RegExp(process.env.TREE_PARITY_MATCH)
|
|
: /(message-tree|thread-fold|chat|hover-actions)\.spec\.ts$/,
|
|
outputDir: 'specs/.test-results',
|
|
});
|