mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-11 09:49:41 +02:00
A "Search sessions" box at the top of the vertical tab rail narrows the list to the tabs whose name matches (case-insensitive substring; a web tab matches by its title). It searches every group, collapsed ones included: while a search runs the projection draws every group open and the header will not toggle, and the stored per-device collapse state is left alone. Groups with no match hide, an empty result says "No sessions match", and the flat rail (no groups) filters the same way. Escape or the clear button empties it; leaving the vertical orientation resets it. It is a view filter only: rows get the same tab-filtered-out class the sidebar filter box uses, through one shared _applyTabListFilter() over the pure CodemanTabSearch matcher in constants.js. Grouping, order, Alt+N badges and drag are untouched, nothing is persisted or sent to the server. The sidebar keeps matching name plus working directory. In the grouped tree, hidden rows and the headers of emptied groups leave the roving walk and posinset/setsize, and the tab stop moves onto a visible item. zh-CN strings added.
68 lines
2.9 KiB
TypeScript
68 lines
2.9 KiB
TypeScript
/**
|
|
* The test suites that `npm test` deliberately does NOT run, in one place.
|
|
*
|
|
* Why this file exists: the exclusion list used to live only in
|
|
* config/vitest.ci.config.ts, as literals. Anything excluded there was
|
|
* therefore reachable only by running the everything-config by hand and reading
|
|
* past its failures — and a newly excluded file was reachable by nothing at
|
|
* all, silently, because nothing pointed at it. Both configs now derive their
|
|
* globs from the arrays below, so adding a suite here puts it in exactly one
|
|
* runner and takes it out of exactly one gate.
|
|
*
|
|
* Adding a new test that cannot run in CI: put its glob in the array that
|
|
* describes WHY it cannot, not in whichever one is shortest.
|
|
*/
|
|
|
|
/**
|
|
* Playwright-driven: needs chromium and, in most cases, a live Codeman server
|
|
* on a real port. Deterministic where the environment provides both, which is
|
|
* why these are a runnable suite (`npm run test:browser`) rather than skipped.
|
|
*/
|
|
export const BROWSER_TEST_GLOBS = [
|
|
'test/tab-rail-resize.browser.test.ts',
|
|
'test/tab-activation.browser.test.ts',
|
|
'test/tab-layout-editing.browser.test.ts',
|
|
'test/tab-rail-search.browser.test.ts',
|
|
'test/session-sidebar-ux.browser.test.ts',
|
|
'test/session-options-responsive.browser.test.ts',
|
|
'test/inline-rename.test.ts',
|
|
'test/opencode-resize.test.ts',
|
|
'test/webgl-fallback.test.ts',
|
|
'test/terminal-copy-shortcut.test.ts',
|
|
'test/terminal-keycode229-recovery.browser.test.ts',
|
|
'test/capture-load-window.browser.test.ts',
|
|
'test/capture-geometry-retry.browser.test.ts',
|
|
'test/codex-predictive-echo.test.ts', // also needs a real codex binary
|
|
'test/split-pane-terminal.browser.test.ts',
|
|
'test/terminal-tile-scroll.browser.test.ts',
|
|
'test/shift-enter-keypress.browser.test.ts',
|
|
'test/key-tester.browser.test.ts',
|
|
'test/webhook-settings.browser.test.ts',
|
|
'test/case-custom-path.browser.test.ts',
|
|
'test/doctor-settings.browser.test.ts',
|
|
'test/git-status.browser.test.ts',
|
|
'test/split-pane-orchestration.browser.test.ts',
|
|
'test/split-pane-auto-collapse.browser.test.ts',
|
|
'test/spreadsheet-preview.browser.test.ts',
|
|
'test/mobile-ime-preview.browser.test.ts',
|
|
'test/run-mode-menu-scroll.browser.test.ts',
|
|
];
|
|
|
|
/**
|
|
* Wall-clock benchmarks. They assert on durations, so a loaded shared runner
|
|
* fails them for reasons that have nothing to do with the diff under test.
|
|
*/
|
|
export const PERF_TEST_GLOBS = ['test/perf-*.test.ts'];
|
|
|
|
/**
|
|
* Browser + visual regression: chromium AND environment-specific PNG baselines
|
|
* that are generated per machine. Has its own config
|
|
* (test/mobile/vitest.config.ts) because it needs serial execution, a longer
|
|
* timeout and the `pretest:mobile` vendor step — run it with
|
|
* `npm run test:mobile`, not through the configs here.
|
|
*/
|
|
export const MOBILE_TEST_GLOBS = ['test/mobile/**'];
|
|
|
|
/** Everything `npm test` skips. */
|
|
export const NON_CI_TEST_GLOBS = [...MOBILE_TEST_GLOBS, ...PERF_TEST_GLOBS, ...BROWSER_TEST_GLOBS];
|