Commit Graph

2436 Commits

Author SHA1 Message Date
Adam Stone-Lord
4671317eb1 feat: (studio) support @cypress/grep package in Cypress Studio (#32311)
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-09-08 09:55:06 -04:00
Chris Breiding
b4ba15e4e9 internal: Ensure studio/protocol is re-initialized any time test is run (#32349) 2025-09-05 08:36:45 -04:00
Jennifer Shehane
90310ae7f9 feat: extend Cypress.Keyboard.Keys and cy.press to support (almost) all keyboard keys (#31496)
* feat: extend Cypress.Keyboard.Keys and cy.press to support all keyboard keys

* Update cli/types/cypress.d.ts

* reference urls for codepoints

* type defs for expanded keys; tests

* changelog

* rm modifier keys temporarily - see WIP @ feat/key-press-modifier-keys

* Add pr link to changelog

* reduce repetition with key codes; remove unsupported capslock keycode

* only "key" special function keys in Cypress.Keyboard.Keys - otherwise, support any single character even if multiple codepoints

* do not refocus on f6 - f6 behavior keyup is indeterminate, so do not assert in that special case

* clean up keyboard key types, clean up duplicate def from merge

* various cleanup - wip - need multi-codepoint fix

* support multi-codepoint characters

* properly dispatch each part of a multipart utf-8 character

* fix import

* fix dtslint

* tscheck

* fix spacing

* Apply suggestions from code review

* changelog

* changelog

* ensure input actions are released in bidi; add test for keypress and input events for firefox

* fix keypress & input events in chrome

* consistent debug

* rm debug logging from input fixture

* some typos, changelog version

* fix toSupportedKey guard fn to properly reject non-strings

* add Space as named key, remove warnings re legacy firefox

* fix space

* support single-digit number keys

* remove support for F-keys

* add test cmd to types pkg

* rm failing vitest project config

* fix changelog

* clean up types a bit for single digit numbers

* more updates

---------

Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
2025-08-28 10:31:49 -04:00
Adam Alston
f437cad4b6 fix(fixtures): cache null and undefined encodings separately (#32277)
* fix(fixtures): cache null and undefined encodings separately

* docs: add changelog entry
2025-08-19 17:09:46 -04:00
Adam Alston
ad4bf37ad8 fix: invalidate cache when fixture is updated via writeFile (#32161)
* fix: invalidate cache when fixture is updated via writeFile

* refactor: delete space

* fix: improve fixture path resolution

* fix: improve fixture path resolution

* fix: update cache key generation

* fix: fetch config at execution time

* fix: invalidate fixture cache entries across encodings and paths

* fix optimized dependencies failures

* fix: relative pathing on windows as path polyfill only works with unix style paths

* Update packages/driver/src/cy/commands/fixtures.ts

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-08-18 14:38:43 -04:00
Bill Glesias
f6e0744e38 breaking: update execa from 1.0.0 to 4.1.0 (#32238)
* breaking: update execa from 1.0.0 to 4.1.0 which breaks the yielded cy.exec() object from yielding property code and instead yields exitCode

* fix launchpad tests on linux

* Update cli/CHANGELOG.md

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-08-18 11:52:24 -04:00
Matt Schile
f000167e8f internal: maximum call stack with sourcemaps (#32257) 2025-08-15 14:52:09 -06:00
renovate[bot]
9be5caeef0 chore(deps): update dependency vitest to v2.1.9 [security] (#32224)
* chore(deps): update dependency vitest to v2.1.9 [security]

* empty commit

* chore(deps): update dependency vitest to v2.1.9 [security]

* bump vitest in driver

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-08-14 12:51:32 -04:00
renovate[bot]
bebfa46bc9 fix(deps): update dependency body-parser to v1.20.3 [security] (#32225)
* fix(deps): update dependency body-parser to v1.20.3 [security]

* empty commit

* fix(deps): update dependency body-parser to v1.20.3 [security]

* add changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-08-14 12:50:37 -04:00
renovate[bot]
602cf8a442 chore(deps): update dependency react-dom-16.0.0 to v16.0.1 [security] (#32222)
* chore(deps): update dependency react-dom-16.0.0 to v16.0.1 [security]

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-08-13 15:05:43 -04:00
renovate[bot]
cc989d9b72 chore(deps): update dependency multer to v2.0.2 [security] (#32221)
* chore(deps): update dependency multer to v2.0.2 [security]

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-08-13 13:16:13 -04:00
Bill Glesias
19df26c279 chore: update babel to latest (#32203) 2025-08-12 15:07:23 -04:00
Bill Glesias
b7f6888ded chore: update build dependencies to vite 6 (#32041)
* chore: update build dependencies to vite 6

* empty commit

* update snapshots
2025-08-11 10:36:21 -04:00
Jennifer Shehane
f2a381ca55 Merge branch 'develop' into release/15.0.0 2025-08-08 12:58:43 -04:00
Adam Alston
317953b096 fix: update fixture cache to prevent encoding conflicts (#32151)
* fix: update fixture cache to prevent encoding conflicts

* feat: add changelog entry

* empty commmit

* refactor: update separator

* Update packages/driver/src/cy/commands/fixtures.ts

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-08-08 11:52:35 -04:00
Bill Glesias
a3924071c1 Merge branch 'develop' into merge_develop_15 2025-08-05 16:23:25 -04:00
Jennifer Shehane
788dfd1c0b chore: bump firefox version we test against to 141 (#32078)
* chore: bump firefox version we test against to 141

* account for unspecified sameSite which is now available in firefox 140

* fix expected error string for invalid cookie

* override FORCE_FIREFOX_CDP firefox 141

* fix cdp override in ff 141+

* maybe fix cookeie system tests? seem to time out locally

* set family as well as name

* fix system tests fore ff 141

* fix ff deprecation

* rm erroneous err param

* assume firefox is modern in cookies driver e2e test

* Update system-tests/lib/system-tests.ts

* we do still run tests against firefox 134

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
2025-08-05 13:00:30 -04:00
Ryan Manuel
6e2a60e159 Merge branch 'develop' into release/15.0.0 2025-08-04 08:52:16 -05:00
Ryan Manuel
41272643aa chore: add a private method on Cypress that tracks whether source maps are available (#32140)
* chore: add a private method on Cypress that tracks whether source maps are enabled

* refactor

* oops

* refactor
2025-08-04 08:50:59 -05:00
Adam Stone-Lord
e1ca574dc5 internal: (studio) allow tests to be created in specs that have .only tests (#32118)
* internal: (studio) allow tests to be created in specs that have .only tests

* fix stop-only

* add system test spec, add test, fix bugs

* clean up unused logic

* fix issue

* another fix

* refactors

* update variable name, consolidate logic

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-07-31 14:59:43 -05:00
Jennifer Shehane
4215983252 breaking: Move getSelector and reset to private methods on ElementSelector API (#32098)
* breaking: Move getSelector, getSelectorPriority, and reset to private methods on ElementSelector API

BREAKING: Move getSelector, getSelectorPriority, and reset to private methods on ElementSelector API

* Update getSelectorPriority back to public method

* Update error message + changelog for removed method

* mention this PR in changelog
2025-07-29 16:21:54 -04:00
Bill Glesias
9f48e243a4 fix: allow localhost hijacking and treat as secure if proxyServer is present (thanks to @mozfreddybmozfreddyb in https://github.com/cypress-io/cypress/pull/32056) (#32065) 2025-07-23 11:27:00 -04:00
Matt Schile
3b883838b0 internal: (studio) support creating new test in root suite (#32024) 2025-07-16 21:38:09 -06:00
mabela416
72daa51404 misc: Reporter redesign (#31914)
* 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

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-07-02 12:21:33 -04:00
Ryan Manuel
8a6d1d666b Merge branch 'develop' into release/15.0.0 2025-07-02 10:10:59 -05:00
Matt Schile
8f5c241142 fix: update stop button to immediately update UI (#31984) 2025-07-02 08:51:10 -06:00
Bill Glesias
0d9a2aed46 chore: fix flaky tests inside the cypress 15 branch (#31959) 2025-06-27 14:51:10 -04:00
Jennifer Shehane
f14336defc Merge branch 'develop' into release/15.0.0 2025-06-26 16:48:56 -04:00
github-actions[bot]
47bd448217 chore: Update Chrome (stable) to 138.0.7204.49 and Chrome (beta) to 139.0.7258.5 (#31936)
* chore: Update Chrome (stable) to 138.0.7204.49

* empty commit

* chore: Update Chrome (stable) to 138.0.7204.49 and Chrome (beta) to 139.0.7258.5

* empty commit

* remove invalid attribute HTML test

---------

Co-authored-by: cypress-bot[bot] <41898282+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-06-26 16:39:51 -04:00
Jennifer Shehane
850989e1b4 feat: Rename SelectorPlayground API to ElementSelector API (#31889)
* feat: Rename SelectorPriority API to ElementSelector API

BREAKING: Rename SelectorPriority API to ElementSelector API

* bump unique-selector + remove restriction on type of prop

* rename file + remove test

* rename and add types to files

* save file

* fix types

* Add error when Cypress.SelectorPlayground is called to suggest renaming

* Add better description of ElementSelector API

* Error on invalid selector priority types

* changelog entry

* Update types to match exact type of selectorPriority

* remove semicolon

* Add feature description for separate feature

* remove the other semicolon

* Update types to use official cypress types

* Add other issue that this PR resolves.

* add name to selector priority

* alphabetize strings in selectorPriority types
2025-06-26 11:08:12 -04:00
Bill Glesias
82077cf4da chore: fix cy.location() not retrying chained its() then chained should() (#31928)
* chore: fix cy.location() to retry if its() assertion fails

* return the cached URL while the url is being retried
2025-06-24 11:31:24 -04: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
32313cac84 feat: remove page hide event from triggering unload event listener (#31853)
* feat: remove page hide event from triggering unload event listener

BREAKING: remove page hide event from triggering unload event listener

* add changelog entry

* fix test
2025-06-11 14:59:47 -04:00
Jennifer Shehane
b7aff4521a Merge branch 'develop' into release/15.0.0 2025-06-10 09:13:37 -04:00
Matt Schile
76eb083327 fix: ensure Cypress.stop fires all end events appropriately (#31830) 2025-06-05 15:41:22 -06:00
Matt Schile
68469a67e9 fix: add cy.then timeouts to cy.session (#31788) 2025-05-30 10:47:52 -06:00
renovate[bot]
04f9e49727 chore(deps): update dependency multer to v2 (#31776)
* chore(deps): update dependency multer to v2

* 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-27 11:55:36 -04:00
Jennifer Shehane
74daed48b7 Merge branch 'develop' into release/15.0.0 2025-05-21 11:57:04 -04:00
renovate[bot]
21f22ce24d dependency: update dependency @sinonjs/fake-timers to v11 (#31746)
* chore(deps): update dependency @sinonjs/fake-timers to v11

* empty commit

* changelog entry

* fix changelog link

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-21 11:38:04 -04:00
renovate[bot]
b7cac8fb22 dependency: update dependency @sinonjs/fake-timers to v10 (#31737)
* chore(deps): update dependency @sinonjs/fake-timers to v10

* empty commit

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-20 09:31:36 -04:00
renovate[bot]
9d4b3db647 dependency: update dependency @sinonjs/fake-timers to v9 (#31725)
* chore(deps): update dependency @sinonjs/fake-timers to v9

* empty commit

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-19 11:12:07 -04:00
Jennifer Shehane
a43873832a merge develop 2025-05-14 09:59:16 -04:00
Tim Griesser
8f8bb60878 fix: Update cy.press signature to be Chainable (#31698)
* Update cy.press signature to be Chainable

Since it's added via `Commands.add`, I believe `cy.press` should have a return type of `Chainable<null>` rather than `void`

* Update first_spec.cy.js

Updated test for chainable

* use addAll rather than add to avoid type check

* fix unit test

* Add cli entry

* update changelog

---------

Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-14 09:52:28 -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
Bill Glesias
8659b275f8 breaking: make the minimum zone/js version in @cypress/angular 0.14.0 (#31632) 2025-05-05 10:58:18 -04:00
Jennifer Shehane
a621b422f3 Merge branch 'develop' into release/15.0.0 2025-05-05 09:36:42 -04:00
Jennifer Shehane
f58aabd320 breaking: Remove deprecated cy.stub(obj, method, fn) signature (#31548)
* breaking: Remove deprecated cy.stub(obj, method, fn) signature

BREAKING: Remove deprecated cy.stub(obj, method, fn) signature

* remove the code that supports 3 args of cy.stub

* changelog entry

* remove test for support of 3 arg signature

* link issue in changelog
2025-05-02 13:43:52 -04:00
Matt Schile
9f86cecdd7 perf: ensure the pausing event listeners are removed (#31596) 2025-04-29 11:29:32 -06: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
renovate[bot]
9697a8639b chore(deps): update dependency vite to v5.4.18 (#31554)
* chore(deps): update dependency vite to v5.4.18

* empty commit

* bump all projects + lockfiles

* bump specific vite versions

* bump vite-react projects

* fix missing instances of updating the vite projects

* bump circle cache

* fix yarn.lock

* update system-test snapshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-04-23 13:50:08 -04:00