Commit Graph

1544 Commits

Author SHA1 Message Date
Bill Glesias
b2a694fc65 chore: sync changelog with what is on docs.cypress.io and fix broken relative links (#30140) 2024-08-29 12:01:39 -04:00
Bill Glesias
e909c4ab63 chore: release 13.14.1 (#30138) 2024-08-29 11:47:29 -04:00
Bill Glesias
f6e7af954b fix: adds a description for the JIT experiment which was overlooked on initial implementation [run ci] (#30128) 2024-08-28 16:59:45 -04:00
Bill Glesias
34764c34a0 chore: release 13.14.0 (#30115)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-27 10:24:33 -04:00
Raymond Greeley
efe577aa66 feat: Passing --browser flag alone will launch after test selection (#28538)
* Add localSettings field to OpenBrowser query

* Add wasBrowserSetInCLI as OpenBrowserList prop

* Emit launch on mount if --browser was passed

* Add entry to cli changelog

* Correct typo in changelog

* Add link to issue addressed

* Add pull request title

* Check if browser is already open before launch

* Moved features section to top of file

* Add reference to PR in changelog

* Correct unintended completion

* Add features to top of changelog

* Change prop name for convention

* Add isValidBrowser

checkes whether a cliBrowser is valid or not and
returns a boolean

* Add isValidBrowser to schema

* Use isValid browser

creates a function launchIfBrowserSetInCli that
will launch the browser if a valid browser flag
was passed to the cli

* Add to changelog.md

* Add global launch count to keep track project launch

* Make global count available to the launchPad

* Add description for globalLaunchCount

* Add globalCounnt to schema

* Remove unused import and remove unused prop

* Use launch function

* Import document and use query

* Add to changelog

* Add to existing features section

* Add to changelog

* Update changelog.md

* Add setter for launchCount and add tests

* Update changelog

* Remove extra bugfix title

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update Changelog

* Update changelog

* Update Changelog

* Update changelog

* Fix changelog for line break error

* Update changelog

* Refactor to create single field for launching browser

* Update schema

* Refactor function to make use of single field

* Change launch count in beforeEach hook instead

* Clean up await in function

* Update changelog

* Add additional optional chaining for resiliency

* Use more precise browser launching query to fix silent bug

* Assert that launchProject hasn't been called when browser not found

* Update changelog

* Update cli/CHANGELOG.md

---------

Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-27 10:22:40 -04:00
Bill Glesias
5a6b8c49cf fix: Typescript config invalid with node v22.7.0 with ESM (#30099)
* 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>
2024-08-27 09:03:41 -04:00
Bill Glesias
50335a0d2b misc: allow HiDPI Screen running wayland to use cypress window/browser [run ci] (#30109) 2024-08-26 15:50:22 -04:00
renovate[bot]
507be6ce1b chore(deps): update babel monorepo (#30073)
* empty commit

* chore(deps): update babel monorepo

* empty commit

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* yarn

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-08-26 14:28:07 -04:00
Bill Glesias
64e4d3103e chore: remove duplicate changelog entries (#30110) 2024-08-26 14:00:38 -04:00
Cacie Prins
ebbf7b1bdc fix: do not use unload events in Chromium from App Runner (#30061)
* correctly determine current browser family from cy config in app event manager

* changelog

* rm unnecessary ts-ignore

* add type declaration to catch improper params to isBrowserFamily

* add check for msMatchesSelector so jquery does not add unload listener in chrome
add check for msMatchesSelector in jquery patch so unload is only added in ie

* run windows workflow on this branch

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-23 14:39:39 -04:00
Vladyslav Nosal
06acc2e8d2 feat: Implement correct behavior for all input types supporting arrow up (stepUp) and arrow down (stepDown) (#29678)
* Add changelog entry

* Update check in "_moveCursorUpOrDown" to trigger "stepUp" and "stepDown" on supported input types

* Update "validateTyping" function to validate {upArrow} and {downArrow} arguments for cy.type() for input[type=date]

* Remove "datetime" entry from valid input types

* Update chars validation for inputs that support "stepUp" and "stepDown"

* Add missing input types to dom.html

* Add tests of {upArrow} and {downArrow} for all supporting input types

* Update CHANGELOG

* Fix CHANGELOG line position

* Fix link to issue in CHANGELOG entry

* Fix typo in CHANGELOG

* Fix typo in CHANGELOG entry

* Merge develop

* Update changelog

* Add assertions for {upArrow} and {downArrow} arguments of cy.type() action that check if "change" and "input" events are triggered

* Fix changelog to include ref to issue

* Update packages/driver/cypress/e2e/commands/actions/type.cy.js

* update changelog

* Actually this is a feature release

* Fix test cases that fail on CI environment.

* Fix failing test case in type.cy.js test suite

* Refactor 'type.cy.js' test suite to skip tests for input type "month" and "week" for Webkit and Firefox browsers due to missing support

* add new release to changelog

* Prevent tests for input[type=range] from running on webkit browsers

* Update changelog

* Fix changelog

* Suppress tests for certain types of input when running on Webkit browsers

* Update use of check of webkit browser for consistency

* Update packages/driver/cypress/e2e/commands/actions/type.cy.js

* Update packages/driver/cypress/e2e/commands/actions/type.cy.js

* Update packages/driver/cypress/e2e/commands/actions/type.cy.js

* Update packages/driver/cypress/e2e/commands/actions/type.cy.js

* Update cli/CHANGELOG.md

Fix typo in CHANGELOG header

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
2024-08-23 13:27:55 -04:00
Ryan Manuel
052c258391 chore: remove duplicate Features section in changelog (#30094)
* Update CHANGELOG.md

* blank
2024-08-23 09:49:14 -04:00
Bill Glesias
d79c99e324 fix: resolve files outside the project directory to the bundled directory (#30067)
* fix: resolve files outside the project directory to the bundled directory via the directory path difference [run ci]

* update common ancestor code

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-22 16:59:33 -04:00
renovate[bot]
699fec50e4 chore(deps): update dependency dtslint to v4.2.1 (#30065)
* empty commit

* chore(deps): update dependency dtslint to v4.2.1

* empty commit

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 16:29:39 -04:00
Matt Schile
1b1a39e9c2 feat: (protocol) setup protocol with projectId and cloud api (#30066) 2024-08-22 09:45:59 -06:00
Bill Glesias
57f6110d29 feat: implement JIT component experiment (#30049)
* 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>
2024-08-22 10:56:55 -04:00
Josh Ward
482358b824 feat: add CYPRESS_SKIP_VERIFY option to suppress verification (#29836)
* misc: add `CYPRESS_SKIP_VERIFY` option to suppress verification

* Update CHANGELOG.md

* Move changelog entry to feature

* Whoops - features

* Update CHANGELOG.md

* Update cli/lib/tasks/verify.js

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

* Update cli/lib/tasks/verify.js

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

* Update cli/lib/tasks/verify.js

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

* Appease the linter

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2024-08-16 12:45:34 -04:00
Cacie Prins
8b54d3e919 perf: cri client memory leak (#29988)
* Refactor connection logic to cri-connection

CDPConnection class instantiates a persistent event emitter, and creates
a CDP Client instance via connect(). When this client emits a disconnect
event, the CDPConnection will automatically attempt to reconnect, if the
connection was not intentionally closed and the connection is created with
the reconnect flag. It only listens to 'event' and 'disconnect' events itself,
making it easy to unsubscribe from events in the event of a disconnection,
helping ease mental load when considering potential memory leaks.

Because it uses its own persistent event emitter, event listeners added
to the CDPConnection do not need to be re-added when the client reconnects.

The CriClient itself no longer handles reconnection logic: it only reacts to
connection state changes in order to re-send failed commands and enablements
when the CDPConnection restores the CDPClient.

* changelog

* clean up event listeners before reconnecting

* changelog

* changelog

* changelog

* unit tests

* lift out of the remote-interface dir

* complete lift from /remote-interface

* further fix imports

* import

* fix disconnect behavior to make integration test pass

* Update packages/server/test/integration/cdp_spec.ts comment

* fix snapgen

* improve debug

* further debug improvements

* do not attach crash handlers on browser level cri clients, add tests

* adds bindingCalled listeners discretely, rather than relying on 'event', which does not trigger for them

* back out of main `event` listener, use discrete listeners, add integration test for service worker bindingCalled

* Revert "back out of main `event` listener, use discrete listeners, add integration test for service worker bindingCalled"

This reverts commit 4855120d42.

* changelog

* adds integration test for various ways to add cdp event listeners

* note in changelog this is a cypress server fix

* ensure enablement promises resolve after reconnect

* Update cli/CHANGELOG.md

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

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2024-08-16 10:13:54 -04:00
Bill Glesias
9b977a8168 chore: update release date on changelog from 8.13 - 8.14 (#30044) 2024-08-15 09:09:27 -04:00
renovate[bot]
be8952aecf dependency: update dependency detect-port to ^1.6.1 (#30038)
* chore(deps): update dependency detect-port to ^1.6.1

* Add changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-14 15:50:44 -04:00
Bill Glesias
43271b94f7 chore: release 13.13.3 (#30030) 2024-08-13 13:27:58 -04:00
Bill Glesias
16670bbfb9 chore: Revert "misc: allow HiDPI Screen running wayland to use cypress window/browse…" (#30029) 2024-08-13 13:16:53 -04:00
renovate[bot]
a421f15be1 dependency: update dependency image-size to v1 (#30023)
* chore(deps): update dependency image-size to v1

* empty commit

* changelog

* Missing title in changelog

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-13 12:58:15 -04:00
Azvya Erstevan
c20b242ac6 misc: allow HiDPI Screen running wayland to use cypress window/browser (#29366)
* misc: allow HiDPI Screen running wayland to use cypress window/browser

* Added changelog entry

* Fix changelog entry release date to pending

* Changed release changelog entry to actual date

* Added issue number to the changelog entry

* fix tests

* update changelog

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2024-08-13 10:37:26 -04:00
Jennifer Shehane
0fec07bf71 fix: remove IE code that is calling deprecated unload event (#29944)
* fix: remove IE code that is calling deprecated unload event

* Add changelog entry

* Add new logic around checks on whether to add unload handler

* missing important things here

* revert previous changes

* patch with new reqs for edge

* commit missing line

* Put back some code

* Update cli/CHANGELOG.md

* build binary to test fix

* update workflow
2024-08-07 13:40:01 -04:00
Cacie Prins
eecaaf72b8 fix: Stream monitor behavior on failed and stalled upload attempts (#29959)
* fix: rethrow stalled network request error correctly

* no longer timeout from stream monitor on failure to start - allow OS to handle

* changelog

* fix system error detection

* fix test for system error throw

* Update cli/CHANGELOG.md

* Update packages/server/test/unit/cloud/network/put_fetch_spec.ts

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

* rm noop try-catch

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
2024-08-07 10:05:56 -04:00
Mike McCready
d8884e0a34 misc: update postinstall cypress open instructions (#29957)
* misc: update postinstall cypress open instructions

* add spacing line

* prepend dashes to command list

* update semver for change

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-08-02 15:40:41 -04:00
Mike McCready
6c3e11f7b6 chore: use ISO 8601 format in cli test timestamps (#29969) 2024-08-02 15:01:58 -04:00
Mike McCready
63d6cdd290 docs: clarify cli manual build instructions (#29965) 2024-08-02 10:14:07 -04:00
Bill Glesias
d1e340d19f chore: update changelog to correct release date retroactively (#29948) 2024-07-31 11:26:17 -04:00
Matt Schile
dddd2d55d3 perf: remove listener to fix log memory leak (#29939)
* fix: remove listener to fix log memory leak

* updating changelog
2024-07-30 12:28:28 -04:00
renovate[bot]
f4052f1f01 dependency: update dependency chrome-remote-interface to v0.33.2 (#29932)
* fix(deps): update dependency chrome-remote-interface to v0.33.2

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-30 11:39:35 -04:00
Bill Glesias
42b3f6e137 chore: release 13.13.2 (#29937) 2024-07-30 09:59:02 -04:00
renovate[bot]
0d5065a106 dependency: update dependency strip-ansi to v6.0.1 (#29931)
* fix(deps): update dependency strip-ansi to v6.0.1

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-29 14:54:06 -04:00
Mikhail
82601500b6 perf: optimize parseCspHeaders (#29887)
* fix: optimize parseCspHeaders

* Added changelog notes

* Fix changelog

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-26 15:23:51 -04:00
renovate[bot]
3df6bdb491 dependency: update dependency mime to v2.6.0 (#29870)
* fix(deps): update dependency mime to v2.6.0

* fix(deps): update dependency mime to v2.6.0

* changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-26 12:14:19 -04:00
Bill Glesias
1521399bc8 fix: allow yarn 4 berry to work with cypress webpack preprocessor (#29901)
* 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>
2024-07-25 14:29:12 -04:00
Jennifer Shehane
a09220278c chore: Fix changelog to correct vesion (#29920)
* Fix changelog to correct vesion

* empty commit
2024-07-25 11:22:02 -04:00
Mike McCready
767ddf8584 dependency: update @cypress/request to 3.0.1 (#29864)
* dependency: update @cypress/request to 3.0.1

* move changelog entry to next version

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-25 11:01:21 -04:00
Bill Glesias
5c9dc77708 chore: release 13.13.1 (#29868) 2024-07-16 12:20:29 -04:00
Cacie Prins
8a48ee7cdf fix: Unhandled "WebSocket connection closed" when CDP connection is unstable (#29830)
* unit and integration tests that reproduce websocket disconnected unhandled exception

* WIP: command queue

* complete command queue and retry refactor

* cri-client changes pass tests; modify certain tests for readability and accuracy

* removes unnecessary logic from command queue, adds unit tests for command queue

* rm unused cdp state - this should be reserved for future refactor

* small edits to cri-client: better error handling, more comprehensive comments

* comment re: queue property

* rearrange cri client member methods for readability

* further edits

* Changelog

* Update cli/CHANGELOG.md

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>

* fix continuous retry on close

* split heavier debugs to verbose

---------

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-16 09:46:40 -04:00
Jennifer Shehane
4bc8996568 chore: fix duplicate changelog entry (#29857)
* Fix changelog

* empty commit
2024-07-15 12:19:32 -04:00
Jennifer Shehane
4755bd9012 dependency: Replace jsonlint with json-parse-even-better-errors (#29673)
* dependency: Replace jsonlint with json-parse-even-better-errors

* run on windows

* add changelog entry

* Update changelog entry

* Update changelog entry

* yarn lock

* changelog update + lock
2024-07-12 22:53:00 -04:00
Jennifer Shehane
17fd5976d0 dependency: Update jquery to 3.4.1 (#29837)
* Update jquery to 3.4.1

* refactor use of half scroll pixels with some explanation

* remove layer coords from tests + comment out non-working page& value in chromium

* Fix scrollTo calculation to match previous implementation

* add changelog entry

* patch jquery to use old calculations for width/height to avoid breaking change

* revert scrollTo changes since jquery height/width calc is patched

* Add issue to changelog

* Make it a dev patch since it's a dev dependency
2024-07-12 16:56:12 -04:00
renovate[bot]
a901ea332e dependency: update dependency minimatch to v3.1.2 (#29821)
* fix(deps): update dependency minimatch to v3.1.2

* empty commit

* changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-12 14:56:38 -04:00
Cacie Prins
3c28109185 fix: non-JSON response body display for upload errors (#29801)
* 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>
2024-07-12 14:52:40 -04:00
Bill Glesias
9a7e59dc92 fix: do not attempt to reify snapshots in the primary if protocol is enabled and no tests are kept in memory (#29828)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-11 15:22:02 -04:00
Cacie Prins
5f2236e6cc fix: do not re-use readstreams when retry an upload of the test replay recording (#29745)
* custom async retry for any async fn

* "proxied" fetch for PUT, throwing http errors

* cleans up put_fetch return types & parsing

* move protocol upload logic to put_protocol_artifact, rm upload_stream

* changelog

* changelog

* manually fix wsp in snapshot

* reorganizes a little, properly tests retryable logic

* removes 408 as a non-retriable error in unit test

* make expectation to be resolved more clear

* rm unnecessary type coercion

* changelog

* Update cli/CHANGELOG.md

* asyncRetry only throws Aggregate errors if there is more than one attempt

* Update packages/server/test/unit/cloud/network/is_retryable_error_spec.ts

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

* Update packages/server/test/unit/cloud/network/is_retryable_error_spec.ts

---------

Co-authored-by: Matt Schile <mschile@cypress.io>
2024-07-08 09:30:05 -04:00
Cacie Prins
10f90f9543 chore: release 13.13.0 (#29781) 2024-07-01 09:55:51 -04:00
renovate[bot]
c2473c092b dependency: update dependency launch-editor to v2.8.0 (#29770)
* fix(deps): update dependency launch-editor to v2.8.0

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-06-28 15:05:26 -04:00