* feat: update to electron 25 and bump node dependencies. need to remove
custom docker image
* chore: update node versions to 18+ [run ci]
* chore: bump @types/node from v16 to v18 and bump the typescript supported CLI version from 3.9 to 4.4
* update mock-fs to 5.2.0 to fix BigInt issue (see https://github.com/tschaub/mock-fs/releases/tag/v5.1.4) [run ci]
* chore: update electron integrity check to pass create binary job
* chore: fix issues with achrinza/node-ipc not yet having node 18 engine support (only up to 17 by patching from 9.2.2 to 9.2.5 as seen in https://github.com/achrinza/node-ipc/pull/38. vue/cli-service is not maintained and we should migrate these over to vue create at some point in the near future to get rid of these resolutions
* allow for TLSv1 tests to work with node 18 as the express server running node 18 with tlsv1 needs to allow legacy ciphers
* chore: update snyk workflows to use node 18
* chore: add changelog
* update timeout
* more cleanup during binary build
* bump cache and run ci. include ignore engines for rwa and get rid of
16.16 image references
* chore: update FF tests to 115 as serialization now works with errors and click events do not get fired on buttons being typed into
* chore: don't error when symlink already exists
* chore: fix serialization test for newer versions of firefox
* chore: fix CI config
* chore: fix chrome system tests to work with chrome 114. updates mostly caused by bugs in screen height in chrome. see https://bugs.chromium.org/p/chromium/issues/detail?id=1416398
* chore: test binary against vite update in RWA
* remove wait for RWA as it shouldnt be needed for vite. link example recipes update to node 18
chore: remove commented out code
* chore: print message when DISABLE_SNAPSHOT_REQUIRE is set
* chore: clean out unneeded dependencies always
* chore: remove trailing space
* fix: propagate click events for enter and typing on firefox 106 or later
* chore: fix changelog failures
* fix: correctly simulate click events for buttons on keyup and space type in Firefox versions greater than 91 and simulate click for buttons on enter in Firefox versions greater than or equal to 106
* chore: add documentation to type to clarify firefox synthetic events
* chore: update protocol snapshot as order or log messages seems to have changed
* update comments
* sort commandLogChanged events for protocol
* chore: remove PR ids from CRA and CER as the PRs are merged into develop
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: add Nx Cloud (#26712)
* chore: add empty nx.json [run ci]
* chore: add nx cloud runner [run ci]
* chore: add nx-cloud dep [run ci]
* chore: update local nx cloud accessToken to be read-only
* feat: update git related messages for runs and debug (#26758)
* feat(app): update DebugError copy
* feat: set isUsingGit project flag and consume in DebugContainer
* feat(app): update not using git icon for DebugError
* feat(app): displays alert on runs page when not using git
* feat(app): add component for when no runs for current branch
* feat(app): add warning for no runs for branch on runs container
* chore: add feat to CHANGELOG
* chore: remove logged status value
* chore: resolve import from merge conflict
* test(app): stub branch name for e2e runs spec
* chore: add line break in changelog entry
* chore: cleanup PR
* chore: fix i18n import for DebugBranchError
* chore: add utm and update Warning links to inline
* chore: capitalize Git in i18n
* ref: warning liink
* test: add i18n to tests
* test(app): change utm_source assertions
* chore: cleanup pr
* chore: remove unused prop
* test(app): remove no git warning when moving to runs page in e2e
* chore: change template logic
* chore: remove duplicate RUNS_TAB_MEDIUM const
* Changed Debug test assertion and reordered new components for Debug
---------
Co-authored-by: Stokes Player <stokes.player@gmail.com>
* chore: rename video processing events to capture/compress (#26800)
* chore: change processing nomenclature to compressing when printing the run.
* chore: rename 'capturing of' to 'capturing'
* chore: rename upload results to upload screenshots & videos (#26811)
* chore: rename upload results to upload screenshots & videos
* run ci
* chore: capture versions of relevant dependencies with `x-dependencies` header (#26814)
* chore: update changlelog script to handle revert pr ref (#26801)
* fix: Correct typescript scaffold dependency (#26815)
* fix: correct typescript scaffold dependency (#26204)
* add changelog
* Update change log for PR comment
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
---------
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
* chore: 12.13.0 prep (#26833)
* chore: 12.13.0 release (#26834)
* chore: 12.13.0 changelog fix
* remove pending, bump version
* fix typo
* chore: release @cypress/vite-plugin-cypress-esm-v1.0.1
[skip ci]
* chore: Implement runSpec mutation (#26782)
* chore: replace gitter badge with discord on readme (#26771)
* chore: add GraphQL mutation for sending system notifications via Electron (#26773)
* fix: upgrade typescript from 4.7.4 to 4.9.5 (#26826)
Snyk has created this PR to upgrade typescript from 4.7.4 to 4.9.5.
See this package in npm:
See this project in Snyk:
https://app.snyk.io/org/cypress-opensource/project/d5b36925-e6ee-455d-9649-6560a9aca413?utm_source=github&utm_medium=referral&page=upgrade-pr
* test: fix 2 broken tests for Windows (#26854)
* Update stale_issues_and_pr_cleanup.yml
Upped the number of operations per run. Have been manually doing that so this job can get through all the issues in the repo with no problems.
* chore(dep): [Snyk] Upgrade vite from 2.9.13 to 2.9.15 (#26830)
Co-authored-by: Ben M <benm@cypress.io>
* Update triage_add_to_project.yml
* chore: fix minor background color styling in debug results component (#26887)
* Update stale_issues_and_pr_cleanup.yml
stalebot was incorrectly configured to run in debug mode. I have updated the default to run in normal mode when running scheduled
* chore: Deprecate @cypress/xpath package (#26893)
* chore: add telemetry realworld app (#26896)
* chore: capture telemetry for realworld app maybe
* idk what i was doing
* setup record key and telemetry
* testing
* override project id
* some times we just need a little context.
* Adding tests
* Adding comment
* fix yarn lock
* Trying this....
* fix tests?
---------
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Stokes Player <stokes.player@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Adam Stone-Lord <adams@cypress.io>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Dave Kasper <dave.m.kasper@gmail.com>
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Ely Lucas <ely@meta-tek.net>
Co-authored-by: Snyk bot <snyk-bot@snyk.io>
Co-authored-by: Stokes Player <stokes@cypress.io>
Co-authored-by: Ben M <benm@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: Added configuration parameter that controls the amount of connection attempts to the browser
* Revert "feat: Added configuration parameter that controls the amount of connection attempts to the browser"
This reverts commit 4fd816a7fe.
* feat: Added configuration parameter that controls the amount of connection attempts to the browser
* feat: Adjusted naming to match other env Variables
* Fix Off by one error in firefox utils
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
* Updated Changelog
* Update cli/CHANGELOG.md
* Update cli/CHANGELOG.md
* Update cli/CHANGELOG.md
* Trying to fix unit test
---------
Co-authored-by: fburgard <fburgard@testfabrik.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
* feat: set up experimentalUseDefaultDocumentDomain to disallow document.domain overwritting
* use default domain around experimentalUseDefaultDocumentDomain in main iframe and spec bridge iframes. Also adapt CORS policy to use same-origin if experimental flag is set
* run ci
* fix: add insertion of experimental flag where is was needed/missing
* chore: add system test to exercise experimental flag for expected behavior
* fix: fix issues with template updates to conform to squirrelly v7
* fix: update config tests to include new experimental flag
* run ci
* fix: trailing whitespace [run ci]
* chore: update snapshot
* run ci
* fix: update proxy unit tests to account for experimentalUseDefaultDocumentDomain
* run ci
* fix: Allow component tests with special characters in filepath (#25299)
feat: cut over experimental flag to take list of known problematic domains via string/glob pattern
run ci
chore: update system test and fix broken config
* fix: fix server unit and integration tests. integration tests should no longer use google to test against injection as we do not inject document.domain on google domains
* run ci
* run ci
* fix: server integration tests where google documents are expected to receive document.domain injection. Kept test same by changing URL
* run ci
* fix: update server test with mssing unupdated assertions
* run ci
* fix: turn off experimental flag by default while recommending sane defaults to users to configure
* run ci
* chore: fix typings [run ci]
* run ci
* chore: make experiment an e2e option only
* run ci
* chore: address comments in code review
* chore: rename experimentalUseDefaultDocumentDomain to experimentalSkipDomainInjection
* fix regression in shouldInjectionDocumentDomain utility function and add unit tests
* run ci
* chore: rename documentSuperDomainIfExists to superDomain [run ci]
* chore: address comments from code review
* chore: just pass opts through to policyForDomain
* run ci
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
* fix: Improve TypeScript support for custom queries
* Typo fix
* Fix TS more
* Move 'ensures' off of cy and onto Cypress
* Type fixes
* One missed replacement
* Test fixes
* Properly pass in to ensureRunnable
* Add .eslintignores to quiet down warnings
* Review feedback
* Update cli/types/cypress.d.ts
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* feat: re-enable Run All Specs (#24683)
* fix: disable query in run-mode
* feat: Run-all-specs-ui (#24738)
* wip run-all-specs-ui
* added component tests for specs-list, inline-specs-list, and run-all-specs
* updated tests for specslist, inlinespeclist, and runAllSpecs
* simplify test
* make prop with default value optional
* enable run all specs
* use named slot for clarify
* use Record type
* remove un-necessary dynamic component
* use group and hover to inline css
* fix tests
* fix tests and use snapshot for style testing
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* fix typescript
* fix test
* build binary for run all specs
* fix: tweaks for Run All Specs (#24746)
* update ui [skip ci]
* change types to reflect run all specs is e2e only
* chore: separate run all specs components
* fix typescript error
* fix: run-all UI tweaks and keyboard nav (#24757)
Closes undefined
* fix UI test
* move listener and use i18n [skip ci] (#24761)
* fix: run-all-specs duplicate file-matching (#24763)
* chore: limit linting [skip ci]
* do not get separator until app is loaded
* fix test
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
* chore: make error more inclusive of future cypress versions
* Additional wording change
Co-authored-by: Mark Noonan <mark@cypress.io>
* Update snapshot to match
* fix test (hopefully)
Co-authored-by: Stokes Player <stokes@cypress.io>
Co-authored-by: Mark Noonan <mark@cypress.io>
* fix: remove server and route commands
* This won't totally pass but it's a step in the right direction.
* Should be down to only two failing tests due to abort.
* fix the alias.<thing> api for intercept to be equivalent to route.
* adjust timeouts to reduce flake, ideally
* skip xhr abort tests
* More clean up
* Increase timeout
* trick next version
* fix unit tests probably
* yeah sure
* Apply suggestions from code review
Co-authored-by: Blue F <blue@cypress.io>
* remove addXhrLog
* Remove more usage of XHR stemming from proxy-logging
* Remove a couple of files that found their way back with the merge from release/12.0.0
* remove more server types
* increase timeouts again to prevent flake
Co-authored-by: Blue F <blue@cypress.io>
Co-authored-by: Zach Bloomquist <git@chary.us>
* Handle chrome tab and browser crashes.
* handle process crashes and add system tests
* handle crashing on windows
* updating comment
* update unit tests
* Update packages/server/lib/browsers/index.ts
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* fix flaky system test probably
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore(webkit): update error stack parsing and related system tests
* Adding better comment
* Putting column back. Indexing at 1.
* Let's wait for WebKit fixes to land for this
* Using default name/location values already used in stack enhancing logic
* Incorrect bracket in regex
* Trying without location, as the fake location causes more problems downstream.
* Loosening regex around locations in stack replacement
* Defaulting location sans row/column
* Parsing stack lines for reporter with unique regex
* D'oh
* Making the validation against '<unknown>' more specific
* Don't want a capture group here
* Updating spec_isolation system tests
* Consolidating regex pattern to errors package
* Can just keep this global now
* Simplifying regex. Removing lineAndColumn numbers from unknown locations.
* Updating system test stack regex
* Getting better baseline
* Revert "Updating system test stack regex"
This reverts commit 2b91eff369.
* Forking normalization for webkit to track down diffs
* Ensure line or column are set before rendering in enhanced stack
* Need to be a little more flexible
* Tweaking leading newline detection
* Trying out new composed regex
* Few more tweaks for multiple leading newlines and file locations without function name
* Updating remainderOfStack pattern with proper escaping
* Cleaning up comments
* Filtering native code from absolute path logic
* Rebuild CI after outage
* chore: wire up Cypress Studio (#23413)
* wip
* wip
* wip - spike
* more wip [skip ci]
* update style
* fix ts
* move types around
* extract types
* lint
* fixing tests
* fix component test
* skip some tests
* do not error on experimentalStudio flag
* add studio controls placeholder
* fixing tests
* revert
* revert changes
* rename store
* rename method
* remove comment
* refactor
* correctly feature flag studio
* simplify code
* simplify code
* lift check into useEventManager
* correctly hide create studio prompt based on flag;
* remove superfulous css
* rename variables
* fix bugs
* wip
* unskip tests
* unskip more tests
* fix a bug in the assertion API
* fix bug in assertions [skip ci]
* wip - bugs [skip ci]
* feat: add experimentalStudio flag back (#23506)
Co-authored-by: astone123 <adams@cypress.io>
* chore: Add Studio UI to Cypress 10 (#23537)
* wip
* wip
* wip - spike
* more wip [skip ci]
* update style
* fix ts
* move types around
* extract types
* lint
* fixing tests
* fix component test
* skip some tests
* do not error on experimentalStudio flag
* add studio controls placeholder
* fixing tests
* revert
* revert changes
* rename store
* rename method
* remove comment
* refactor
* correctly feature flag studio
* chore: wip add barebones studio modals
* simplify code
* simplify code
* lift check into useEventManager
* correctly hide create studio prompt based on flag;
* remove superfulous css
* chore: style studio toolbar
* chore: misc feedback
* chore: remove studio store prop
* chore: studio URL prompt and other changes
* update component
* chore: UI styling and remove studio init modal
* chore: revert unnecessary changes
* chore: fix types
* chore: fix some tests, minor refactor (#23545)
* fix test
* fix test
* add noHelp link to StandardModal
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* test: studio e2e tests (#23546)
* add basic e2e test
* add some e2e tests for studio and a note on limitations
* additional spec
* add more tests, refactor helper
* fix bug in studio
* remove test code
* chore: UI feedback
* fix race condition
* update tests
* rename test
* improve types in reporter
* remove dead code
* improve tests
* merge tests into one spec
* chore: Cap instruction modal width; exit studio mode when new spec is chosen
* chore: Only render studio error when test has failed; add test for studioEnabled
* correctly check if command is studio or not
* improve specs and hopefully reduce flake
* communicate studio state from app->reporter
* receive studio save state validity from app
* fix test
* improve test coverage
* fix external link
Co-authored-by: astone123 <adams@cypress.io>
* revive logic to run CT in a single tab
* add feature flag: experimentalSingleTabRunMode
* remove log
* reset browser state between tests
* document single tab run mode experiment;
* add system test for experimental run mode
* fix snapshots
* use more simple project for testing
* additional guard;
* fix test
* Apply suggestions from code review
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* destroy aut after each spec
* update snapshot
* fix types
* add experiment flag error
* add warning when using experimental flag with e2e
* build binaries for experimentalSingleTabRunMode feature
* build binaries take 2
* make error message more open ended
* destroy AUT later in run mode lifecycle
* add additional assertion around experimental flag
* simplify error
* remove test code from production code
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* wip: basic implementation
* update dependencies to have maxVersion
* handle promises correctly
* fix test
* update test project and styling
* only check for CT deps in CT
* install required deps
* revert
* rework detection and extend tests
* remove unused code
* remove more code
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* feat: show better error message if testing type is not configured
* Add tests
* Update tests
* Fix some tests
* Fix some tests
* Fix test
* Fix tests
* Update packages/errors/src/errors.ts
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* Update with code review
* Fix test
* Add on link
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* fix: UNIFY-1774, throw error if we do not detect a webpackConfig for the user
* remove dead code, rely on auto-sourcing webpack config
* fix error styles, exit the devServer process when config is missing, guard against empty remoteState
* Add missing webpack for todos project
* Update npm/webpack-dev-server/src/makeWebpackConfig.ts
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>