Commit Graph

244 Commits

Author SHA1 Message Date
Matt Schile b47cb0ec21 internal: (studio) remove studioAiAvailable property (#32072) 2025-07-22 18:51:43 -06:00
Adam Stone-Lord f65ac036aa internal: (studio) wire up cloud studio AI enabled feature flag (#32055)
* internal: (studio) wire up cloud studio AI enabled feature flag

* actually pass props

* fix types
2025-07-21 11:21:57 -04:00
mabela416 22bc78ee16 internal: Redesign single test view when studio is open (#32008)
* update yarn.lock

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* handle open in ide and new test button shadows/padding/alignment

* link issue to TODO

* only add pointer-events:none to tests and not suites

* fix failing tests

* Update cache-version.txt

* fix failing test

* fix clear sessions width

* yarnlock update

* remove unused style

* remove unused style

* add caching when calculating children states in the suite-model

* Revert "add caching when calculating children states in the suite-model"

This reverts commit 3b59a94282.

* Remove * css style for reporter box-sizing - I don't see this impacting css styles at all

* have css only target languages we support showing in Cypress App

* Remove normalize.scss

* Remove more global css resets to improve rendering performance

* remove running state

* memoize components in runnable-and-suite

* fix failing test

* bump cache

* skip failing tests related to active states

* add clearSuiteId function

* misc: begin work on reporter redesign

* remove info icon on failing tests

* Add new queued icon to tests

* bump react-icon

* add some styles for the header

* add some styles and icons to describe blocks

* display chevron down on describe hover

* add css for red-400

* only display collapsible describes if there are tests in the suite

* add new test on describe hover

* add describe focus styles

* add describe focus styles scss

* fix add commands to test wand placement

* update stats icon with describe and test hover and focus

* update test status icons

* handles some of the test body styles and states

* add ellipsis to runnable title and flex shrink to icons

* fix command row stylings

* fix session alignment

* fix collapsible indicator styles

* handle attempt styling

* fix failing tests

* add back command status borders

* fix suites.cy.ts tests and make some styling fixes

* fix styles for New test button on focused/hovered suites

* fix header test

* attempt spacing fixes

* fix shortcuts test

* add open in ide on header hover

* make some styling fixes to errors

* make error styling changes

* update control icons and styles

* fix dotted line for suites

* add test dots

* fix logic for displaying test dots

* use stop circle icon

* refactor runnable and suite header icon

* only use test children to determine current suite state to display the suite icons

* fix suites test

* fix suite and test icon alignments

* clean up some comments and unused variables

* fix failing tests

* fix failing studio tests

* fix failing tests

* fix meta test

* fix suite_model test

* add more tests for suite-model

* fix more tests

* fix failing test

* fix padding for hook headers

* handle font weight, describe aligment and status border widths

* fix rounded corners on hover of commands

* round status border when test is opened

* handle chevron right/down when hovering when collapsible is open/closed

* add changelog entry

* yarn lock

* run on binary

* bust circle cache

* center align open in ide on command hover

* add padding to the bottom of the last suite/test

* fix attempt padding and connecting dots

* update progress bar color to gray-900

* no jumping when opening test

* top align describe/test text when the text wraps to the next line

* clean up new test button styles and add the linear gradient

* fix dotted line and describe/test padding

* round out error border and remove double red border on errors

* fix gap for stack trace

* only apply margin top to test and suite icons

* change opacity of add commands to test wand icon

* fix wand opacity test

* can we just remove this overflow: scroll?

* clean up TODOs

* fix error group line alignment

* align open IDE tooltip in hooks

* fix padding between suites

* remove purple border around describe in studio

* Add tailwind css so that styles work in e2e tests

* fix studio buttons padding

* fix stack trace padding

* disable clicking for skipped and queued up tests

* fix 1px jumping when opening test

* handle open in ide and new test button shadows/padding/alignment

* circle cache

* update yarn.lock

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* index on mabel/issue-31677-reporter-redesign: 5e2503f339 Merge branch 'mabel/issue-31677-reporter-redesign' of https://github.com/cypress-io/cypress into mabel/issue-31677-reporter-redesign

* link issue to TODO

* only add pointer-events:none to tests and not suites

* fix failing tests

* Update cache-version.txt

* fix failing test

* fix clear sessions width

* remove unused style

* yarnlock update

* add caching when calculating children states in the suite-model

* Revert "add caching when calculating children states in the suite-model"

This reverts commit 3b59a94282.

* Remove * css style for reporter box-sizing - I don't see this impacting css styles at all

* have css only target languages we support showing in Cypress App

* Remove normalize.scss

* Remove more global css resets to improve rendering performance

* remove running state

* memoize components in runnable-and-suite

* fix failing test

* bump cache

* skip failing tests related to active states

* clean up existing studio UI

* refactor duration and openFileInIDEButtn

* update workflows file

* add single test component

* save parentTitle to use in single test mode

* add single test component

* clean up studio commands

* remove adding studio commands as a hook

* clean up hook-model from studio commands

* use new singleTest component when studio is active and on single test mode

* update reporter start to set single studio test active

* actually set single test mode

* clean up more old studio code

* fix styles for header title

* fix hooks test

* whoops re-add deleted line

* fix events.cy.ts test

* fix runnables_store test

* fix test_model test

* fix test_errors test

* fix tests test

* fix studio-cloud test

* update waitForSpecToFinish

* fix some studio tests maybe?

* fix some tests

* add back studio commands hook to tests

* add back some of the events i removed that also need to be cleaned up in the cloud

* fix some tests

* add test for back button and open in ide button in single test mode

* add component test for StudioSingleTest component

* wait for specs to finish to reduce flake when asserting on aut iframe

* add tests back

* remove studio instructions modal

* remove this branch from mac workflow

* try to fix the studio tests

* check if aut-iframe is empty

* add more checks to make sure aut is ready

* add loading tests state to StudioSingleTest

* fix single studio test

* add more conditions for the studio tests

* make a few more changes to the existing tests

* fix button styles

* add scrollbar to single test

* hide studio commands hooks

* handle scroll to view in single test mode

* show empty test state when test is errored

* update name to checkForStats

* add useScrollIntoView hook

* update waitForSpecToFinish

* remove unused props

* allow stop button to work when studio is active

* clean up StudioTest.scss

* remove runnable active and queued checks

* fix order of operations in waitForSpecToFinish

* call studio:cancel event for back button in studio test mode

* remove studio commands check

* memoize scrollIntoView callback and add it as a dependency in useEffect

* fix ts error

* check if single test studio is active when waiting for spec

* fix launchStudio new test logic

* allow shorcuts to work in studio mode

* align test studio icon at the top

* refactor spec file name into its own component

* update tests with new spec file name classname

* add checkForStats and add tests for removing url parameters

* remove spacing

* fix icon import

* fix tests.cy

* fix open file in ide test

* add style I accidentally removed

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-07-18 13:32:12 -04:00
Adam Stone-Lord 992f89417f internal: (studio) force test re-run if watchForFileChanges: false (#31982)
* internal: (studio) force test re-run if `watchForFileChanges: false`

* fix lint

* don't set function through addSocketListeners

* use common functions

* revert unnecessary changes

* update socket tests

* stablize tests

* try to fix test

* fix test
2025-07-10 10:19:15 -05:00
Adam Stone-Lord e05de87b51 internal: (studio) show error and allow retry when studio cannot be initialized (#31951) 2025-07-03 12:07:44 -04:00
Ryan Manuel 8a6d1d666b Merge branch 'develop' into release/15.0.0 2025-07-02 10:10:59 -05:00
Ryan Manuel 954847c613 internal: (studio) add manifest for all of the cloud delivered files (#31923)
* internal: (studio) add manifest for all of the cloud delivered files

* fix tests and environment variables

* update strategy

* fix tests

* rework

* Apply suggestions from code review

* require manifest

* require manifest

* clean up

* refactor

* Update packages/server/lib/cloud/studio/StudioLifecycleManager.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor

* just use the string

* try and fix test

* try and fix test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-01 22:21:39 -05:00
Bill Glesias b75850e37b feat: rework window bound commands to use automation clients (#31862)
* spike: cut over cy.url(), cy.hash(), cy.location(), cy.reload(), cy.go(), and cy.title() all to use the automation client to subvert the cross-origin boundary

refactor backend client

* chore: add unit tests for cy url, hash, location, title, reload, and go changes to make it easier to test minor behavior changes

bump cache

* fix issues with cy in cy tests. refactor aut discovery code as the frame tree gets stale on reload

* update comments from code review

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-06-17 16:33:56 -04:00
Jennifer Shehane 968dabbe45 Merge branch 'develop' into release/15.0.0 2025-06-17 13:51:52 -04:00
Adam Stone-Lord ef1a73b1e0 internal: create cloud studio session ID to group telemetry and errors (#31833)
* internal: create cloud studio session ID to group telemetry and errors

* safely call updateSessionId
2025-06-12 11:43:22 -05:00
Jennifer Shehane 74daed48b7 Merge branch 'develop' into release/15.0.0 2025-05-21 11:57:04 -04:00
renovate[bot] b07ea0e988 chore(deps): update dependency devtools-protocol to v0.0.1459876 (#31708)
* chore(deps): update dependency devtools-protocol to v0.0.1459876

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-14 11:03:59 -04:00
Jennifer Shehane a43873832a merge develop 2025-05-14 09:59:16 -04:00
Adam Stone-Lord 6d1d2d1336 internal: show loading and error statuses in studio panel, add download timeout (#31633)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-05-13 15:42:50 -04:00
Jennifer Shehane 10c6656ed6 misc: Remove migration UI, warnings, and errors for changes pre-Cypress 10 (v15) (#31629)
* begin removing migration code

* remove migration query

* add back actions

* remove more migration references

* more migration removals

* remove call to migration

* remove gqp-Migration file

* updates to remove migration

* update type

* remove a lot more migration code - especially errors

* Remove other errors/warnins for versions before 10.x

* update error snapshots

* fix some tests

* index on remove-migration: 49fa75ab78 Merge branch 'remove-migration' of https://github.com/cypress-io/cypress into remove-migration

* index on remove-migration: 49fa75ab78 Merge branch 'remove-migration' of https://github.com/cypress-io/cypress into remove-migration

* index on remove-migration: 49fa75ab78 Merge branch 'remove-migration' of https://github.com/cypress-io/cypress into remove-migration

* remove more system tests and references

* fix call to refreshMetaState which was lost at initialization

* rearrange some system tests to not be dependent on migration

* update welcome version test

* fix wording of messaging

* skip irrelevant test

* fix failing assertion

* remove tests around cypress-plugin-retries

* Remove test from config_spec

* Remove screenshot from snapshot

* fix tests + remove more migration projects

* remove + update system tests

* remove + update system tests

* remove some invalid dev-server: start errors

* remove references and tests around pluginsFile which was removed

* remove some more invalid config examples

* Add changelog entry

* fix changelog link

* fix unit test

* index on remove-migration: 490ddb134c Merge branch 'release/15.0.0' into remove-migration

* index on remove-migration: 490ddb134c Merge branch 'release/15.0.0' into remove-migration

* index on remove-migration: 490ddb134c Merge branch 'release/15.0.0' into remove-migration

* run all binary/windows tests on this branch

* Update packages/scaffold-config/test/unit/detect.spec.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update packages/scaffold-config/test/unit/detect.spec.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-05-12 13:17:32 -04:00
Jennifer Shehane a621b422f3 Merge branch 'develop' into release/15.0.0 2025-05-05 09:36:42 -04:00
Adam Stone-Lord 2a6e9fbd44 internal: (studio) capture anonymous telemetry for studio initialization (#31555) 2025-04-30 09:18:59 -04:00
Bill Glesias 9b3b023aa0 feat: replace ts-node with tsx for parsing user configuration (#31520)
* feat: replace tsnode with tsx for parsing user configuration in all cases

* bump ubuntu images from node 18 to 20 as node 18 is not supported in cypress 15 and allows us to not include the 18.19.0 workaround to use --import with tsx inside the ProjectConfigIpc

* fix: issues finding tsx on windows as it needs the file:// protocol as absolute drive paths are not recognized as a file protocol in the node context

* make sure to filter out stack code correctly for windows

* fix: fix flake from windows on reporter menu not expanding (unrelated to this PR and should be merged into develop)

* chore: update changelog with all issues tsx cutover closes

* fix merge conflicts

* chore: add regression tests for cypress projects that previously did not work but now do with tsx

* build all binaries

* chore: address issues from code review

* update changelog

* remove todo comment on testing legacy migration with tsx

* refactor codeFrame calculation into a util function and add a unit test

* updated node versions in project config ipc tests to remove 18 and test threshold / latest values. Removed redundant comments on ts-node.
2025-04-29 13:31:28 -04:00
Adam Stone-Lord a5ba8c497c internal: (studio) initialize cloud studio asynchronously (#31469)
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-04-29 09:37:44 -04:00
Ryan Manuel 38f980e0c4 internal: (studio) improve error reporting (#31546)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* feat: capture errors with studio

* types

* add tests

* fix types

* fix typescript

* strip path

* fix tests
2025-04-23 15:54:30 -05:00
Ryan Manuel ac3bb18dbc internal: (studio) enable studio to access the protocol database with a new connection (#31502)
* internal: (studio) improvements to how studio can access the protocol database

* fix

* fix build

* refactor due to downstream changes

* Update packages/app/src/studio/studio-app-types.ts

* Update packages/server/lib/cloud/studio.ts
2025-04-17 20:32:29 -05:00
Matt Schile f62a65fe82 internal: (studio) add socket listeners (#31470) 2025-04-15 11:24:52 -06:00
Jennifer Shehane 6b28356878 chore: convert cache.js file within server to TypeScript (#31471)
* chore: convert cache.js file within server to TypeScript

* update cache calls and await them

* updates to imports and switching cache calls to await

* remove Partial from Allowed State

* change cache calls back to not await

* Remove dead code

* update memo.push return
2025-04-10 15:02:58 -04:00
Bill Glesias ce1119aacc chore: make mobx decoratorless (#31459)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-04-09 16:37:49 -04:00
Ryan Manuel 108eb7ea0d internal: (studio) make the protocol database accessible to studio (#31443)
* internal: (studio) make the protocol database accessible to studio

* PR comment
2025-04-06 15:04:26 -05:00
Cacie Prins 5d8bf8570a misc: automation implementation / prerequisite for cy.press() (#31366)
* cdp command impl for tab dispatch

* misc: add automation command to cdp for forthcoming tab key

* changelog

* skip non chromium browsers for press() driver test

* fix test

* misc: bidi automation impl for key press

* amend types

* log, but do not fail, if key:press is not supported

* rm extraneous debugs

* rm more debug

* changelog

* comments

* revert to keyDown from rawKeyDown, remove delay

* expand changelog to include bidi

* changelog

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-26 11:42:59 -04:00
renovate[bot] a566242f7f dependency: update dependency semver to v7.7.1 (#31341)
* fix(deps): update dependency semver to v7.7.1

* changelog

* caret dep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-20 13:58:02 -04:00
Ryan Manuel 9201d3280a chore: ensure that studio AI logic is disabled on non chromium based browsers (#31272)
* update url with studio params

* updates

* spec updates

* adding tests

* updating changelog

* skip adding visit log during start

* update url support

* cy origin tests

* fix tests

* updates

* update origin test

* chore: support studio lifecycle in protocol

* merge changes

* fix types

* fix tests

* fix tests

* fix tests

* fix more tests

* fix more tests

* fix more tests

* fix test

* fix bugs

* fix tests

* attempt to fix test

* further fixes

* improve cloud studio enablement

* refactoring

* remove new dom link

* fix last test

* Update packages/app/cypress/e2e/studio/studio.cy.ts

* Update packages/server/lib/project-base.ts

* chore: ensure that studio llm logic is disabled on non chromium based browsers

* use canAccessStudioLLM in the component

* fix types

* fix types

* fix types

* PR comments

* fix types

* fix types

* revert type stuff

* refactor

* import type

* fix types

---------

Co-authored-by: Matthew Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-14 14:20:40 -05:00
Ryan Manuel 0daf7e639f chore: support studio lifecycle in protocol (#31239)
* update url with studio params

* updates

* spec updates

* adding tests

* updating changelog

* skip adding visit log during start

* update url support

* cy origin tests

* fix tests

* updates

* update origin test

* chore: support studio lifecycle in protocol

* merge changes

* fix types

* fix tests

* fix tests

* fix tests

* fix more tests

* fix more tests

* fix more tests

* fix test

* fix bugs

* fix tests

* attempt to fix test

* further fixes

* improve cloud studio enablement

* refactoring

* remove new dom link

* fix last test

* Update packages/app/cypress/e2e/studio/studio.cy.ts

* Update packages/server/lib/project-base.ts

* Update packages/proxy/lib/http/request-middleware.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* PR comments

* fix build

* fix build

* update

* Update packages/server/lib/project-base.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix unit test

* rework save logic

---------

Co-authored-by: Matthew Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-13 20:30:29 -05:00
Matt Schile b9103af3fd misc: (studio) add support for url routing (#31205)
* update url with studio params

* updates

* spec updates

* adding tests

* updating changelog

* skip adding visit log during start

* update url support

* cy origin tests

* fix tests

* updates

* update origin test

* add a wait

* update

* pr updates

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-10 21:36:18 -06:00
Ryan Manuel bd4774fb57 chore: pass file preprocesor override to protocol as debug data (#31171)
* chore: set up sharing of react via module federation in studio

* chore: add ability to load types from the studio bundle

* fix build

* fix build

* fix build

* chore: pass file preprocesor override to protocol as debug data

* fix tests

* PR comments

* PR comment

* update types
2025-03-03 12:52:01 -06:00
Ryan Manuel ffcc6387ef chore: add ability to load types from the studio bundle (#31153)
* chore: set up sharing of react via module federation in studio

* chore: add ability to load types from the studio bundle

* fix build

* fix build

* fix build

* PR comments

* Update guides/studio-development.md

Co-authored-by: Matt Schile <mschile@cypress.io>

* fix test

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2025-02-28 16:30:45 -06:00
Jennifer Shehane a5a343bcdc chore: remove warning from webpack:runner about version import (#31170) 2025-02-27 16:07:49 -05:00
Bill Glesias 5da0995531 feat: implement webdriver BiDi for Firefox versions 135 and greater (#30870)
* feat: implement BiDi automation client base (without full extension cutover). [run ci]

* chore: implement suggestions from code review. [run ci]

* update error text to be in line with documentation

* address comments from code review

* address comments from code review

* make bidi, cdp, and both active protocols object enumerations to make the code easier to read

* address additional comments from code review

* fix errors from refactor

* update firefox warning
2025-02-24 13:17:44 -05:00
Ryan Manuel 017750810e chore: set up sharing of react via module federation in studio (#31129)
* chore: set up sharing of react via module federation in studio

* PR comments
2025-02-24 10:51:14 -06:00
Ryan Manuel 2dce6d5831 chore: add logic to dynamically load studio functionality (#31033)
* chore: add logic to dynamically load new studio functionality

* fix types

* fix tests

* fix

* fix tests

* fix tests

* additional changes to lock things down

* clean up code

* Update guides/studio-development.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update protocol-development.md

* additional headers

* PR comments

* Update packages/server/lib/cloud/api/get_app_studio.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* Update packages/app/vite.config.mjs

* update studio/protocol development guides

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-02-14 14:54:15 -06:00
Jennifer Shehane f920dcbd0d chore: enforce 'no-implicit-dependencies' on tslint (#31022)
* chore: enforce 'no-implicit-dependencies' on tslint

* downgrade chalk version for errors package
2025-02-06 17:33:05 -05:00
renovate[bot] c1390bffd8 chore(deps): update dependency devtools-protocol to v0.0.1413303 (#30986)
* chore(deps): update dependency devtools-protocol to v0.0.1413303

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-01-31 12:52:06 -05:00
Bill Glesias 5e7982d3d0 chore: automatically infer cypress major version from package.json version and error when no splash page exists for said major version (#30911) 2025-01-22 16:21:57 -05:00
Bill Glesias 49d578c5c7 chore: make sure the constant for the welcome screen is patched (#30893) 2025-01-16 13:43:48 -05:00
Cacie Prins 0547d65a2a breaking: no longer inject document.domain by default (#30770)
* remove experimentalSkipDomainInjection, add and deprecate injectDocumentDomain

* remove experimentalSkipDomainInjection, add injectDocumentDomain

* begin rethreading domain injection

* complete document domain transition

* move some cookie specs to separate test run

* origin and privileged commands with default docdom inject

* fix privileged channel when injecting document domain

* rm unnecessary .getOrigin abstraction in cors lib

* move remote-states in prep for refactor Replace Conditional with Polymorphism

* refactor remote states to strategy pattern

* cookie commands work as expected w cross origin bridge on different origins

* some origin tests updated

* run tests with document domain enabled

* run tests actually

* use correct config, swap conditional

* check-ts

* inject documetn domain for webkit tests

* do not exec injectDocumetnDomain in parallel

* fix ServerBase construction in tests to include cfg now

* pass cfg to ServerBase

* improved integration tests

* remove document domain checks for all server integration specs - will add injectDocumentDomain cases

* tests for injecting document domain when configured to

* square away server integration tests

* ensure cookies are set correctly, potentially

* errors pkg snapshots

* fix config tests

* fixing config tests

* somewhat improves tests for cors policies in packages/network

* fix ts err in server-base

* enable injectDocumentDomain for cy in cy tests

* fix Policy type ref

* refactor cypress-schematic ct spec to be less prone to timeouts

* run vite-dev-server tests with injectDocumentDomain

* rm document domain assertion from page_loading system test

* add system tests that test with injectDocumentDomain and others that test with cy.origin

* fix results_spec snapshot

* update experimentalSkipDomainInjection system test

* different behavior for certain net_stubbing tests based on injectDocumentDomain or not

* fix ts

* extract origin key logic from remote states, for now

* move server-base and response-middleware over to new pattern

* WIP - reentry

* fix build, remove console.log

* check-ts

* fix spec frame injection

* remove injection for localhost

* mostly fix vite-dev-server app integration tests

* fix codeframe in certain cases in chrome

* drop internal stack frames from stacks intended for determining code frame data

* some improvements to vite ct error codeframes

* fix proxy unit tests to use document domain injection util class

* rm .only

* fix all vite ct error specs

* rm console.log

* slight refactor to util class to make easier to test

* fix refactor - missing rename in files.js

* several tests do not set testingtype in config, so just check against component instead of checking for e2e

* revert changes to getInvocationDetails to see if that breaks tests

* re-enable stack stripping in invocation details for chrome

* new snapshots with more accurate invocation details

* test for same-site cross-origin cookie behavior

* ignore window.top ts errors

* revert forcing injectDocumentDomain in vite-dev-server cy config

* fix normalized whitespace for firefox "loading_failed" error

* always trim trailing wsp from stack before appending additional content

* force normalization of whitespace to three \n when adding additional stack details

* normalize wsp between stack and additional stack to "\n  \n" in firefox

* remove stack_utils attempt at normalizing wsp

* various cleanup: remove commented console logs, add more detailed comments

* add on links to error messages

* remove experimentalSkipDomainInjection from exported type defs

* Update system-tests/test/experimental_skip_domain_injection_spec.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* Update packages/driver/cypress/e2e/e2e/origin/cookie_misc.cy.ts

Co-authored-by: Bill Glesias <bglesias@gmail.com>

* no need to coerce a boolean value to a booleanc

* export base config from primary cypress config in driver for use in inject-document-domain test subset

* lift experimentalSkipDomainInjection breaking option to root

* rollback config/options changes

* rm invalid comment

* use hostname instead of origin to create cookie from automation cookie

* clarify stack regex in results_spec

* lint

* take a stab at the changelog entries for this

* Update cli/CHANGELOG.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update cli/CHANGELOG.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* reenable locally-failing test

* changelog

* snapshot updatesfor experimental skip domain injection err msg

* remove packageManager declaration in package.json

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2025-01-06 13:48:43 -05:00
Jennifer Shehane 636bed9cf7 merge develop 2024-12-02 09:42:47 -05:00
Bill Glesias 15c5761eb6 breaking: make JustInTimeCompile GA from experimentalJustInTimeCompile and default to true (#30641)
* pull support for JIT from vite since it doesn't have an affect for end users or performance (webpack only) [run ci]

rebase this

* remove the experimentalJIT flag and make it GA (default still false) [run ci]

* enable justInTimeCompile by default [run ci]

* chore: bump cache [run ci]
2024-11-21 15:25:59 -05:00
Alex Schwartz 82f45c51d6 feat: added ability to specify the default browser in cypress config (#30517) 2024-11-14 12:49:32 -07:00
Ryan Manuel 0975b2f07f feat: update the protocol to be able to flex logic based on project config (#30594)
* feat: update the protocol to be able to flex logic based on project config

* slight refactor

* Update cli/CHANGELOG.md

* Update packages/types/src/protocol.ts

* fix ts
2024-11-13 15:42:11 -06:00
Jennifer Shehane 0aa73c44d5 breaking: remove logic around min supported browsers (#30462)
* remove logic around min supported browsers

BREAKING: remove logic around min supported browsers

* changelog entry

* forgot to save some changed files

* update broken tests

* remove another test testing unsupported browsers

* Add back logic for browser validator

* return if validator is undefined

* update called browser

* fix failing tests

* fix logic of unsupported showing

* add parens
2024-11-01 11:04:00 -04:00
Ryan Manuel 9fda261dde chore: upgrade electron to 32.2.0 (#30394)
* chore: upgrade electron to 32.2.0 -- run ci

* fix node versions

* fix build

* fix evil-dns

* various fixes

* fix srcdoc

* various fixes

* update package.json

* update yarn.lock

* various fixes

* fix integrity check

* fix binary verification

* various fixes

* update yarn.lock

* fix typo

* fix lock file

* fix tests

* fix tests

* various fixes

* various fixes

* various fixes

* fix stuff

* fix things

* try to fix errors

* fix

* updates

* add yarn berry

* upgrade electron

* attempt with gcc

* blank

* update arm64 executor

* try to fix the arm64 issue

* fix arm64

* bump cache

* attempt to fix arm64 again

* attempt to fix arm64 again

* fix darwin problems

* merge release/14.0.0

* update yarn.lock

* blank -- run ci

* blank

* blank

* blank

* try something

* try something

* clean up

* blank

* try to fix sessions issue

* fixes

* get more info

* get more info

* try something

* fix

* try something

* try something

* try something

* tweak

* one more thing

* let us see if this works

* blank

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* Apply suggestions from code review

* Apply suggestions from code review

* Update cli/CHANGELOG.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update cli/CHANGELOG.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update CHANGELOG.md

* Update cache-version.txt

* fix nx (maybe)

* Update package.json

* try something

* Update packages/app/src/runner/aut-iframe.ts

* bump version

* try to bust cache

* try to invalidate cache

* Update cli/CHANGELOG.md

* suppress benign warnings

* Apply suggestions from code review

* PR comments

* PR comment

* Apply suggestions from code review

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* Update cli/CHANGELOG.md

Co-authored-by: Matt Schile <mschile@cypress.io>

* update debug scenario 4 regex

* Update scripts/binary/trigger-publish-binary-pipeline.js

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2024-10-29 14:55:26 -05:00
Bill Glesias eed699eb6d chore: update lerna to 8.1.8 from 6.6.2 (#30436)
* fix sync script with updateds npm-packlist

* chore: update lerna from 6.6.2 to 8.1.8 and ran lerna repair

* chore: pin typescript to ~5.4.5 to avoid importsNotUsedAsValues that was removed in 5.5 and edit workflows and scripts to correctly scope learna packages on v8 snapshot tests [run ci]

* fix indentation in comments

* remove console.log reference to print current package directory in sync exported npm with cli script
2024-10-22 14:46:46 -04:00
Bill Glesias 0e316966af misc: implement webdriver on top of geckodriver in order to reduce overhead maintenance and code (#30324)
* misc: implement webdriver npm package as the client for the webdriver specification

* misc: go back to xulstore to save browser preferences [run ci]

* add changelog [run ci]

* chore: fix screenshot resolution [run ci]

* fix check-ts issues [run ci]

* run windows ci [run ci]

* run ci

* add comments [run ci]

* build binaries for webdriver impl [run ci]

* fix Cypress namespace missing issue. see https://github.com/cypress-io/cypress/pull/30331/commits/6d7ba97c2562054e11983e8bfed576f0fa3ee37b

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* patch edgedriver and preserve dependency paths for webdriver so they are included in the binary [run ci]

* fix issues with firefox profile not being created in open mode when old profile exists from previous cypress versions where they are no longer compatible [run ci]

* address comments that came up in review [run ci]

* see if this fixes extension test [run ci]

* make sure process kill emits the exit event [run ci]

* update geckodriver to include contribution patch to types [run ci]

* fix misapplication of geckodriver package (accidentally deleted) [run ci]

* empty commit to trigger ci [run ci]

* address comments from code review [run ci]

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-10-15 11:18:14 -04:00
Ryan Manuel 8cff95661a misc: pass spec to beforeSpec to support better reporting on client side protocol errors (#30316)
* feat: pass spec to beforeSpec to support better reporting on client side protocol errors

* Update packages/types/src/protocol.ts

Co-authored-by: Matt Schile <mschile@cypress.io>

* update changelog

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2024-09-30 16:55:13 -05:00