* add failing system binary test [run ci]
* fix: leverage the --no-experimental-detect-module when node 22.7.0 and above is detected [run ci]
* Update cli/CHANGELOG.md
* use environment variable to mock stubbing out of typescript install in order to unit test as mocking the module seems near impossible to do correctly given the context [run ci]
* update changelog to include mention of experimental-detect-module
* make sure node version is set before comparing versions
* Revert "update changelog to include mention of experimental-detect-module"
This reverts commit 5ef8ef0e4c.
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: implement JIT component experiment [run ci]
* don't update the dev server unnecessarily if the run is cancelled [run ci]
* fix system test flake
* Update cli/types/cypress.d.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update system-tests/projects/experimental-JIT/webpack/cypress/support/component-index.html
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update system-tests/projects/experimental-JIT/vite/cypress/support/component-index.html
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: ignore node_modules for webpack dev server
* be sure to end span when throwing error
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* 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>
* WIP - system test snapshots
* bolster error output for response body potential on upload network errors
* edit error output for readability
* changelog
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix partial rename
* fix system test for single upload error vs aggregate
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@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>
* chore: update babel to latest in packages and update vite to version 5, vite related vue plugins to version 5, and svg plugin to v5
update vitejs react to v5
updated vite plugins
updates unplugin-vue-components and unplugin-icons for vite
remove vite-plugin-copmponents as it is the same thing as unplugin-vue-components
update vue-i18n from beta package to released v9
get unplugin-vue-i18n to latest
add @babel/types to no rewrite [run ci]
fix typing errors [run ci]
* update snapshot [run ci]
* coerce type for compiled messages to bridge type compatibility between unplugin-vue-i18n and vue-i18n [run ci]
* chore: update babel to latest in packages and update vite to version … (#29634)
* fix vite
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* update other hard coded @babel/core
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
---------
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>
* [protocol] throw error verifying sig
Not throwing is surfacing as an upload error when it's a download error.
* adds system test snapshot for invalid signature
* changelog
* pending
* Update cli/CHANGELOG.md
---------
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* misc: report protocol capture afterSpec duration to cloud
* WIP: collecting afterSpec durations, TODO: system test scaffolding
* push all afterSpec timings to cloud
* push afterSpecTotal instead of afterSpec property
* changelog
* fix trailing slash in readme
* fix afterspec duration unit test
* correct return signature of afterSpec; add debug
* changelog
* Update packages/server/lib/cloud/api/index.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update packages/server/lib/cloud/protocol.ts
* fix ts check
* fix unit tests re: expected afterSpec sig
* fix return sig of protocol afterSpec stub for system tests
* use env var directly in tests for capture error codepath, rather than override var
* rm unused param
* bump cache
* changelog
* remove pending runnables duration from afterspec report
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
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>
* new error messages
* errors for initialization and capturing test replay
* messaging the case where no protocol instance but also no fatal error
* adds suggested remedies to initialization errors
* differentiation between network and http errors, initial work on db missing error
* improve db not found error
* add new error type to schema
* rm commented dead code
* clean up network error creation in uploadStream
* make artifact confirmation error msg more general
* test display of put instance artifacts failure
* changelog
* ensure we are displaying errors even in quiet mode
* fix pending changelog
* new snapshots for protocol errors
* improve aggregate error
* resolved html error snapshots
* fix check-ts
* fix test
* sanitize temp dir in CLOUD_PROTOCOL_CAPTURE_FAILURE error msg
* changelog
* fix double entry of certain network errors, error message prop for network errors
* fix url arg for network error
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* rm extra formatting from debug
* snapshot whitespace
* changelog update
* +pending
* Update cli/CHANGELOG.md
* resolve snapshots?
* does moving the stack trace fix whitespace in snapshots in ci?
* maybe fixes whitespace on electron now?
* fully normalize stack traces
* remove full normalization
* maybe debug stack normalization
* rm stack traces from error messages
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* 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>
* tbd
* workable templated filestream uploader
* clean up async assertions
* upload stream uses activity monitor to detect start timeouts and stalls
* makes uploadStream retryable
* filesize detection, enoent errors, and testable retry delays
* extract fs logic to putProtocolArtifact, impl putProtocolArtifact
* aggregate errors for retryable upload streams
* fixes imports from moving api.ts, uses new upload mechanism in protocol.ts
* use spec_helper in StreamActivityMonitor_spec due to global sinon clock changes
* fix putProtocolArtifact specs when run as a part of the unit test suite
* fix return type of ProtocolManager.uploadCaptureArtifact
* convert from whatwg streams back to node streams
* extract HttpError
* ensure system test snapshots
* changelog
* more changelog
* fix unit tests
* fix api ref in integration test
* fix refs to api in snapshotting and after-pack
* small edits
* Update packages/server/lib/cloud/api/HttpError.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/server/lib/cloud/upload/uploadStream.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* camelcase -> snakeCase filenames
* improve docs for StreamActivityMonitor
* added documentation to: upload_stream, put_protocol_artifact_spec
* move stream activity monitor params to consts - no magic numbers. docs.
* Update packages/server/lib/cloud/api/http_error.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/server/test/unit/cloud/api/put_protocol_artifact_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* fix check-ts
* fix imports in put_protocol_artifact_spec
* Update packages/server/test/unit/cloud/upload/stream_activity_monitor_spec.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* api.ts -> index.ts
* fix comment style, remove confusingly inapplicable comment about whatwg streams
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: disable firefox for issue 5016 system test
* link to flake issue for firefox screenshot timeout
* empty commit to trigger ci
---------
Co-authored-by: Jennifer Shehane <jennifer@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
* chore: add additional context to messaging when network errors occur in protocol uploads
* reduce total attempts for uploading capture artifacts from 8 to 3
* 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