* fix: make sure string_decoder is shipped with wbip
* fix: remove pnp-webpack-plugin as it isnt needed with webpack 5
* chore: update enhanced-resolve to 5.17.0 in the yarn-lock and remove the need for you 5.15 patch as the issue we were patching was fixed in 5.16
* build binary [run ci]
* resolve to process lib installed by cypress and not the users home directory
* add changelog entry [run ci]
* build binaries [run ci]
* add binary system test
skip system test install for yarn 4 as it is an exception case [run ci]
adapt dep installer to handle yarn 4.1.1 [run ci]
rebase this out [run ci]
try this [run ci]
temp [run ci]
* update circle cache [run ci]
* fix conditional for yarn install [run ci]
* Update system-tests/projects/yarn-v4.1.1-pnp-dep-resolution/README.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* update from yarn 4.1.1 to 4.3.1
* update docker image name
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* direct copy paste of angular npm package to angular18 (no changes)
* feat: implement angular-signals test hardness to support angular signals
add changelog entry and build binary [run ci]
rename angular18 to angular-signals until we are able to merge back into core package [run ci]
fix linting job [run ci]
make sure angular-signals harness is copied to cli after build [run ci]
add project fixture directory to angular 18 and build binaries for newly named branch
run ci
update cache [run ci]
bust nx cache [run ci]
bust cache on linux [run ci]
try busting the cache... again [run ci]
usually helps when you have the correct build output... [run ci]
fix issue where component internal props were getting blown away when user would not set prop in componentProperties [run ci]
* update test harness description
* add built-in control flow tests with signals
* make sure to clean up rxjs observables in order to prevent a memory leak
* address comments from code review
* yarn lock
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: add CT support for angular 18
* chore: update system test for angular 17 to use released version [run ci]
* chore: add ignore engines for system test install until Electron 29 update is finished
* empty commit to run ci
* fix changelog
* fix changelog
* fix: update the monorepo to typescript 5
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* run ci to see problems [run ci]
* update vue-tsc and typings that conflict with update
* regen snapshot
* fix typescript errors ui test as stack trace behavior has changed
* fix server unit tests
* update cy.origin() spec based on stack traces and code frames
* update spec to include source map url
* run ci
* fix check-ts
* chore: fix system tests [run ci]
* add preprocessor tests to batteries included to exercise new logic
* run ci
* refactor unit tests to be a bit more dry
* pin typescript to ~5.4 and adjust config to ignroe deprecations but keep importsNotUsedAsValues
* add changelog entry
* add fixme issue to stack trace mismatches inside evaled context
* use import type webpack as webpack as a lib isn't actually invboked in the runner webpack config
* fix system test as adding 4 lines of comments impacts the stack trace line 4 lines (duh)
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* feat: support vite v5 [run ci]
* make sure to use correct path in windows if no cypress public path is provided [run ci]
* update snapshot [run ci]
* update docs on devServerPublicPathRoute for vite-dev-server
* update comments
* refactor resolveConfig test
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* fix: Encode fileServerFolder to fix#25839
* fix: Encode fileServerFolder to fix#25839 add changelog
* update unit tests
* adjust CHANGELOG location
* Update packages/server/test/unit/config_spec.js
* Fix changelog entry placement
* Fix some bugs to pass the test case
* maintain a test case
* Fix changelog entry
* added integration test and updated to use encodeURI
* Update cli/CHANGELOG.md
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Matt Schile <mschile@gmail.com>
* fix: Searching by files using digits (Fixes#29034)
When trying to search for a file using digits cypress wasn't able
to find it. Now it is able to do more complex searches with digits.
* Update cli/CHANGELOG.md
* Update changelog to new version/reword
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* chore: update browser internal images to chrome 124 and firefox 125 [run ci]
* update screenshot sizes for chrome as they have changed in the chrome 124 and is ultimately out of our control since the options passed into the CLI are STILL not respected [run ci]
* fix cypress-in-cypress tests for chrome 119 and up
* remove windows app integration code added in 29198
* run windows build [run ci]
* fix some failing system tests [run ci]
* update non proxied png [run ci]
* fix system tests failing [run ci]
* fix afterEach [run ci]
* chore: update documentation in response middleware
* chore: (for eslint-plugin-dev only is breaking) update eslint-plugin dev minimum to eslint 7. Remove support for coffeescript and reconfigured required peer deps
* correctly configure eslint-plugin-json-format for the monorepo and run linting on all json files (previously was not running)
* properly support no duplicate imports
* feat: support webpack-dev-server-5 for @cypress/webpack-dev-server [run ci]
* sidestep Forge types installed by webpack dev server [run ci]
* add changelog entry
* remove webpack 4 types
* format changelog
* Update cli/CHANGELOG.md
* Update npm/webpack-dev-server/src/helpers/sourceRelativeWebpackModules.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* add back in importsNotUsedAsValues and update system test snapshot
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: support new protocol structure for shadow DOM elements
* chore: capture scroll events inside shadow DOM that occur on shadow element scroll containers
* ignore scroll event listener test in webkit as fixture that uses CSSStyleSheet to help create scrollbox throws illegal constructor
* change structure of capture to be array of strings and assume shadowDom traversal similar to axe-core [run ci]
* fix issue where closed shawdow doms were causing application to crash [run ci]
* add actionability tests for protocol. Add synthetic input events in order to capture nested shadow DOM inputs
* build binary [run ci]
* remove actionability from driver [run ci]
* add changelog entry for feature, add serialization comments
* address comments from code review [run ci]
* remove unreachable code
* remove additional dead code
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* activate main cypress tab before taking a screenshot
* new tests to cover page activation behavior
* updates changelog
* whitespace
* fix check-ts
* reduce extension failure timeout to 500ms to account for origin bridge timeout
* only use tab activation workaround in chrome; default to Page.bringToFront in headless mode
* update unit tests
* swap order of tests in 5016 system test
* some debugging to try and hunt down firefox issue
* rm debug prev added - looks like sys test passed that time?
* rm debug emit from v2 extension
* dependency: upgrades electron from 25 to 26
* bump cache run ci
* fix docker img names
* ref electron upgrade branch
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* debug
* debug
* debug
* update search string for resize observer error swallow
* debug
* update integrity check
* update electron readme with upgrade troubleshooting section
* point to new publish binary workflow branch for electron 27
* update electron readme with locations of chromium & node versions for a given electron version
* update node versions and docker image refs
* update electron version to 27.1.3
* fix db nativeBinding arg
* chore: updating v8 snapshot cache
* install setuptools on mac when updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* run workflows on this branch run ci
* require addon directly and pass to better-sqlite3 init; debug
* rm debug
* try loading better-sqlite with a more dynamic filename
* bump electron version
* bump electron version
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* bump electron version -- run ci
* add a step to update workflows.yml to electron upgrade process
* reduce retry limit on issue 1244 test to prevent circle from thinking tests have hanged
* target main branch of binary publish workflow? run ci
* Update .node-version -- run ci
* Update CHANGELOG.md
* Update module_api_spec.ts
* point publish binary back to electron upgrade branch
* Adds some logging re: cachedDataVersion
* use precise electron version for better-sqlite3 for centos7
* Update CHANGELOG.md
* chore: fix issue with bytenode (#28568)
* fix jsc for 27 -- run ci
* Update smoke.js
* fix build
* update electron upgrade steps
* Update packages/electron/README.md
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
* Update cli/CHANGELOG.md
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
* fix DebugEmptyStates component test
* try to fix downstream build -- run ci (#28649)
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
* point to consolidated binary publish branch
* revert webpack-preprocessor-awesome-typescript-loader update
* revert certain system tests
* increase padding for module api system test duration window
* account for differing screenshot sizes
* screenshot size differs locally vs ci
* update protocol snapshots
* Update after-pack-hook.js
* fix flaky slideshow
* correct the chromium version in changelog
* use 18.17.1 internal images
* workflow filters
* fix trailing checkbox in electron readme
* add solution to crashing better-sqlite3 in electron readme
* Update packages/electron/README.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update scripts/after-pack-hook.js
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* add branch to setup_should_persist_artifacts
* debug app e2e test
* bump cache
* upgrade browsers-internal to chrome 121
* revert to chrome 118 images
* bump cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* bump cache
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Move currentRetries tests to a system test to reduce flake
* empty commit
* remove typo on test title
* Migrate origin retries test, which purposefully retries, into a system test
* Snapshot updates around the 'errors errors' typo
* Fix port issue
* Update origin test to reuse existing html files in directory
* fix: issue with service workers in test replay when they're initiated from a support file
* add changelog
* Update cli/CHANGELOG.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* PR comment
* get prerelease
* PR comments
* Update .circleci/workflows.yml
* Update .circleci/workflows.yml
Co-authored-by: Matt Schile <mschile@cypress.io>
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore(deps): update dependency vite [security]
* empty commit to trigger CI
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* dependency: updated chrome-remote-interface to 0.33.0
* updating changelog
* updating tests
* updating snapshot
* enable debug logs
* run ci without app integration tests
* .
* is this our problem? seems to be
* .
* run app tests
* .
* remove debug logs in ci
* clean up & re-enable all jobs
* .
* keep existing checked in error for now
* update changelog
---------
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* feat(webpack-dev-server): add support for angular 17
* update changelog
* fix broken spec pattern
* update to rc 2 for cli
* remove = from dependency minVersion lists
* update angular 17 rc version and update dep test
* add projectDirFolder to fixtures for angular-17
* resolve broken system tests
* update ct project dir angular version
* chore: set up feature/test-burn-in feature branch
* feat: add burnIn Configuration option (currently a no-op) (#27377)
* feat: add the burnIn Configuration to the config package. Option
currently is a no-op
* chore: make burn in experimental
* chore: set experimentalBurnIn to false by default
* feat: add new experimental retries configuration (#27412)
* feat: implement the experimental retries configuration options to pair
with test burn in
* [run ci]
* fix cache invalidation [run ci]
* fix snapshot added in v13 for module api to include test burn in experimentalflag
* chore: fix merge conflict
* chore: add burnInTestAction capability (#27768)
* add burnInTestAction capability
* feat: add burn in capability for cloud
* chore: fix snapshot for record_spec
* feat: implement experimental retries (#27826)
* chore: format the retries/runner snapshot files to make diff easier
* feat: implement experimentalRetries strategies 'detect-flake-and-pass-on-threshold' and 'detect-flake-but-always-fail'. This should not be a breaking change, though it does modify mocha and the test object even when the experiment is not configured. This is to exercise the system and make sure things still work as expected even when we go GA. Test updates will follow in following commits.
* chore: update snapshots from system tests and cy-in-cy tests that now have the cypress test metadata property _cypressTestStatusInfo. tests have been added in the fail-with-[before|after]each specs to visually see the suite being skipped when developing.
* chore: add cy-in-cy tests to verify reporter behavior for pass/fail tests, as well as new mocha snapshots to verify attempts. New tests were needed for this as the 'retries' option in testConfigOverrides currently is and will be invalid for experiment and will function as an override. tests run in the cy-in-cy tests are using globally configured experimentalRetries for the given tested project, which showcases the different behavior between attempts/retries and pass/fail status.
* chore: add unit test like driver test to verify the test object in mocha is decorated/handled properly in calculateTestStatus
* chore: add sanity system tests to verify console reporter output for experimental retries logic. Currently there is a bug in the reporter where the logged status doesnt wait for the aftereach to complete, which impacts the total exitCode and printed status.
* fix: aftereach console output. make sure to fail the test in the appropriate spot in runner.ts and not prematurely, which in turn updates the snapshots for cy-in-cy as the fail event comes later."
* chore: address comments from code review
* fix: make sure hook failures print outer status + attempts when the error is the hook itself.
* chore: improve types within calculateTestStatus inside mocha.ts
* Revert "feat: add burnIn Configuration option (currently a no-op) (#27377)"
This reverts commit c428443079.
* Revert "chore: add burnInTestAction capability (#27768)"
This reverts commit ae3df1a505.
* chore: run snapshot and binary jobs against experimental retries feature branch
* chore: add changelog entry (wip)
* Revert "fix snapshot added in v13 for module api to include test burn in experimentalflag"
This reverts commit bb5046c91e.
* Fix system tests
* Clear CircleCI cache
* Normalize retries config for test execution
* Fixed some unit tests
* update snapshots for newer test metadata
* Fix cy-in-cy snapshots
* update snapshots
* bump cache version
* chore: ensure legacy retry overrides work; reject exp. retries overrides (#28045)
* update changelog
* flip if statement in experimental retries option validation
* refactor invalid experimental retry override for more useful error msg
* revert testConfigOverrides snapshot
* update snapshots for test override sys test
* Update packages/config/src/validation.ts
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* succinct changelog entry; links to docs for details
* testConfigOverride system test snapshots
* Update .github/workflows/update_v8_snapshot_cache.yml
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update packages/driver/src/cypress.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* updating cache-version
* improve typescript usage when appending experimental retry options to experiments in Experimenets.vue
* Revert "improve typescript usage when appending experimental retry options to experiments in Experimenets.vue"
This reverts commit b459aba882.
* refactor test config override validation for experimental retry subkeys
* account for error throw differences in browsers in system tests
* bump circle cache
* bump circle cache again
---------
Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: mabela416 <mabel@cypress.io>
Co-authored-by: Muaz Othman <muaz@cypress.io>
Co-authored-by: Muaz Othman <muazweb@gmail.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matthew Schile <mschile@cypress.io>
* report correct number of failures if browser crashes in the middle of a test suite
* report failure correctly when browser crashes during test
* refactor crash handling
* correct exit option check, clean up debug
* exit on success if exit option !== false
* use default stats when reporter stats are unavailable
* fix error messaging
* move reporter types to an intermediate .ts file, to be combined with reporter.js when migrated
* debug tab close test in ci
* move debug env from pkg to ci yml
* set debug env in spec
* fix pckg
* adds some logging to cri-client
* remove event emit logging from project-base
* revert snapshot for tab close system test
* fixes console output for no exit on success
* changelog
* changelog wsp
* cleanup
* clean up tests
* refactor to more straightforward control flow
* rm export for unused type
* correct tab close snapshot for ci
* new system test for mid-test config crash
* update snapshots
* fix: set a crashed flag when cri detects a crash, throw on send if crashed
* changelog update
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* update snapshots
* updates changelog, updates crash handling snapshot
* electron tab crash snapshot fix
* electron tab crash snapshot...
* add wsp to eol on snapshot - maybe the diff?
* more whitespace?
* update snapshots again
* fix screenshot res in electron tab crash snap
* updates changelog
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* 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>