Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0aef8dc
migrate visibility tests to static fixtures
cacieprins Oct 27, 2025
f1c8f3d
clean up the html a little bit, remove ref to experimentalFastVisibility
cacieprins Oct 27, 2025
6115697
Delete packages/driver/cypress/e2e/dom/visibility-migration.md
cacieprins Oct 27, 2025
35defae
Update visibility.ts
cacieprins Oct 27, 2025
a3c5abb
fix assertion
cacieprins Oct 27, 2025
70e4ad9
Merge branch 'develop' into refactor/visibility-tests
cacieprins Oct 27, 2025
eb84c4b
fix incomplete
cacieprins Oct 27, 2025
232183a
stress test for visibility
cacieprins Oct 20, 2025
2ceca61
splits up visibility into multiple files for easier grokking
cacieprins Oct 20, 2025
32d5466
middle of refactoring to un-hide the recursion
cacieprins Oct 20, 2025
8460439
notes to help with visibility efficiencyn
cacieprins Oct 20, 2025
3be1d37
revert splitting - these fns are too interconnected to split without …
cacieprins Oct 20, 2025
23fd4d6
impl new experimental visibility algo
cacieprins Oct 21, 2025
f89bb55
new experimental useFastVisibility config option
cacieprins Oct 21, 2025
bd41339
check four corners of rect instead of just center
cacieprins Oct 22, 2025
298691b
num-tests-in-memory=0
cacieprins Oct 22, 2025
f08c2ac
rm ref virtuoso
cacieprins Oct 22, 2025
d824663
rename file to be in line with its export
cacieprins Oct 22, 2025
914b3cc
clean up jquery unwrapping
cacieprins Oct 22, 2025
70791be
some more cleanup
cacieprins Oct 22, 2025
d139bbd
Delete visibility-algorithm.dot
cacieprins Oct 22, 2025
36b314c
Delete visibility-algorithm.svg
cacieprins Oct 22, 2025
ea82d81
rm unused export
cacieprins Oct 22, 2025
7b6b16a
Update fastIsHidden.ts
cacieprins Oct 22, 2025
41a5210
edit
cacieprins Oct 22, 2025
f921b18
enable fast visibility mode in visibility related e2e tests
cacieprins Oct 22, 2025
2d1c827
enable clip-path test for fast visibility
cacieprins Oct 22, 2025
d494872
memoize visibleAtPoint
cacieprins Oct 23, 2025
90db05f
fix config option typedef
cacieprins Oct 24, 2025
f550346
fix select option/optgroup delegation
cacieprins Oct 28, 2025
dd53d96
add note re: shadow dom
cacieprins Oct 28, 2025
97092ff
add migration guide, additional edge cases, behavior table
cacieprins Oct 28, 2025
db5e944
add note that the virtual scroll stress test causes browser to crash …
cacieprins Oct 28, 2025
8f8b2fc
fix types
cacieprins Oct 28, 2025
368eaca
add best practices note re: shadow dom
cacieprins Oct 28, 2025
16b5571
readability
cacieprins Oct 29, 2025
4f8b8fc
Merge branch 'develop' into visibility-performance
cacieprins Oct 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions cli/types/cypress.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3193,6 +3193,11 @@ declare namespace Cypress {
* @default false
*/
experimentalMemoryManagement: boolean
/**
* Enables an alternative, performance-optimized visibility algorithm.
* @default false
*/
experimentalFastVisibility: boolean
/**
* Allows for just-in-time compiling of a component test, which will only compile assets related to the component.
* This results in a smaller bundle under test, reducing resource constraints on a given machine. This option is recommended
Expand Down Expand Up @@ -3284,6 +3289,7 @@ declare namespace Cypress {
* @default false
*/
experimentalPromptCommand?: boolean

}

/**
Expand Down Expand Up @@ -3365,14 +3371,14 @@ declare namespace Cypress {
}

interface SuiteConfigOverrides extends Partial<
Pick<ConfigOptions, 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>
Pick<ConfigOptions, 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'experimentalFastVisibility' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>
>, Partial<Pick<ResolvedConfigOptions, 'baseUrl' | 'testIsolation'>> {
browser?: IsBrowserMatcher | IsBrowserMatcher[]
keystrokeDelay?: number
}

interface TestConfigOverrides extends Partial<
Pick<ConfigOptions, 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>
Pick<ConfigOptions, 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'experimentalFastVisibility' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>
>, Partial<Pick<ResolvedConfigOptions, 'baseUrl'>> {
browser?: IsBrowserMatcher | IsBrowserMatcher[]
keystrokeDelay?: number
Expand Down
6 changes: 6 additions & 0 deletions packages/config/src/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,12 @@ const driverConfigOptions: Array<DriverConfigOption> = [
validation: validate.isBoolean,
isExperimental: true,
requireRestartOnChange: 'server',
}, {
name: 'experimentalFastVisibility',
defaultValue: false,
validation: validate.isBoolean,
isExperimental: true,
overrideLevel: 'any',
}, {
name: 'fileServerFolder',
defaultValue: '',
Expand Down
Loading
Loading