Commit Graph

1809 Commits

Author SHA1 Message Date
Cacie Prins
5719c84683 chore: migrate server and webpack-batteries-included-preprocessor to modern eslint (#32343)
* eslint migration for webpack-batteries-included

* some debug

* rm debug?

* rm debug

* update migration manifest
2025-09-05 13:46:29 -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
b5fc986749 chore: convert server/lib/plugins files from JS to TS (#32337)
* chore: convert server/lib/plugins files from JS to TS

* consolidate error types

* update anys to unknowns where we don't know the args

* add module esports

* forgot to push this I guess

* Update so this isn't always true

* add some utils to a JS file

* remove duplicate ts file

* remove dead code

* remove module.exports = API

* chore: fix exports of run events and adapt CJS tests importing TS modules to use the default export

* fix another preprocessor default call

---------

Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-09-03 09:52:53 -04:00
Bill Glesias
58bee2839c fix: force gtk version 3 to avoid Electron 36 from crashing (#32372)
* Fix: force gtk version 3 to avoid https://www.electronjs.org/blog/electron-36-0\#behavior-changed-gtk-4-is-the-default-when-running-on-gnome

* Update cli/CHANGELOG.md

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

* add suggestions from code review

* empty

---------

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
2025-08-28 20:32:28 -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
Jennifer Shehane
ab2004bbde fix: move from getos to systeminformation to fix OS distro/release info (#32283)
* fix: move from getos to systeminformation

* add changelog entry

* remove extraneous package that isn't used

* update changelog
2025-08-27 09:52:48 -04:00
Adam Stone-Lord
0b2e6697c9 chore: (studio) don't log to Sentry when user opens studio before initialization (#32352) 2025-08-26 09:51:31 -04:00
Cacie Prins
e463fdbc61 fix: Redirect spammy electron stderr to a debug sink (#32188)
* wip: system test to reproduce

* system test for alsa stderr

* split cypress from 3rd party stderr at parent process to electron child

* rm garbage warning regexes

* fix newline behavior when parsing internal stderr

* migrate left over console errors

* clean up system test name

* fix typed import

* extract stderr splitting to separate pkg so runner can use @packages/error

* rm new err log from packherd-quire

* handle backpressure

* docs

* some unit tests & coverage for stderr-filtering

* unit tests

* no longer test regexp specific output in spawn unit tests

* filter enabled debug namespaces rather than just cypress namespacesc

* revise stream splitting et al

* try to fix v8 snapshot build??

* fix console.log assertion

* add missing eslint config

* rm unused spies

* fix regexp for optional leading wsp and ansi on debug entries

* update unit tests because sinon

* lint

* colon..

* build stderr-filtering before checking if binary exists

* adds TagStream transform stream, fixes stderr from child proc config

* add build-prod script for stderr-filtering

* changelog

* properly handle backpressure in prefixed content transform stream

* use standard tsconfig?

* better tsconfig

* Add pkgStderrFiltering to monorepoPaths

* add \"files\" manifest

* pipe all stderr to stderr when CYPRESS_INTERNAL_DEBUG_ELECTRON is enabled

* rm explicit build of stderr-filtering in check-if-binary-exists step

* ensure all dependencies of scripts/ are built before scripts are executed in the check-if-binary-exists command

* fix dev version ref

* swap logic

* add stdin piping

* fix exec name on the run-on-dependencies command to be more useful

* use correct env

* rm obsolete type refs

* simplify stderr-filtering public iface, pipe cy-in-cy stderr through filtering tx

* bust cache

* fix mocks

* fix v8-snapshot

* move stderrfiltering to dev pkg in cli

* skip integrity check in ci, if they are out of date things should fail anyway

* copypasta over a portion of stderr-filtering to cli, since cli cannot import @packages

* Delete issues.md

* rm special filtering for cy in cy

* rm too narrow rules file

---------

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-19 17:05:53 -04:00
Bill Glesias
3c79d12b38 chore: update firefox docs to exclude CDP (#32272) 2025-08-18 17:29:24 -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
Tyler Biethman
5260488a0b internal: updating studio-server initialization with renderer APIs (#32204)
* feat: updating studio-server initialization with renderer APIs

* Updating gen types

* Adding unit tests, adjusting types

* Removing electron dep to better follow existing patterns in server; parallelizing browser state reset during studio initialization

* Deferring StudioElectron creation until Studio AI init

* Fixing unit test

* Clean up debug logs

* PR updates
2025-08-15 14:54:07 -05:00
Chris Breiding
c46b3c3165 internal: Add support for Studio first use instructions (#32197)
* add support for studioFirstUseInstructionsDismissed

* add support for setting global or project saved state

* add get:app:state socket event

* handle getSavedState errors

* check that config is initialized
2025-08-12 08:17:49 -04:00
Jennifer Shehane
f2a381ca55 Merge branch 'develop' into release/15.0.0 2025-08-08 12:58:43 -04:00
Adam Alston
39c175976f fix: return raw fixture when encoding is specified (#32155)
* fix: return raw fixture when encoding is specified

* revert: revert test change

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2025-08-08 12:28:37 -04:00
Bill Glesias
d1667d7d63 Merge branch 'release/15.0.0' into merge_develop_15 2025-08-07 15:49:56 -04:00
Bill Glesias
9ef239e68b fix: update bidi automation client to handle unspecified cookie option in firefox and keep behavior for firefox 139 and under as the 'default' sameSite value does not exist in this version 2025-08-06 16:04:55 -04:00
Bill Glesias
a3924071c1 Merge branch 'develop' into merge_develop_15 2025-08-05 16:23:25 -04:00
Bill Glesias
d18f66006e chore: fix AUT discovery if frame name is not present (#32154)
* chore: fix issues with AUT discovery if for any reason the name is not present

* Update packages/server/lib/browsers/cdp_automation.ts

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-08-05 13:45:36 -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
d12e94524a chore: (studio) ensure to strip out paths from all data when reporting errors in studio (#32135)
* fix: (studio) ensure to strip out paths from all data when reporting errors in prompt and studio

* disable with environment variable
2025-07-31 20:59:32 -05: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
b47cb0ec21 internal: (studio) remove studioAiAvailable property (#32072) 2025-07-22 18:51:43 -06:00
Adam Stone-Lord
f65ac036aa internal: (studio) wire up cloud studio AI enabled feature flag (#32055)
* internal: (studio) wire up cloud studio AI enabled feature flag

* actually pass props

* fix types
2025-07-21 11:21:57 -04:00
Adam Stone-Lord
b771060097 internal: (studio) only initialize cloud studio bundle when experimentalStudio is enabled in project config (#32018) 2025-07-15 13:46:48 -04:00
Bill Glesias
0eaea54519 breaking: make @cypress/vite-dev-server an ESM only package and support Vite 7 (#32001)
* chore: cut over mocha tests to vitest in @cypress/vite-dev-server

* breaking: make @cypress/vite-dev-server an ESM only package

* feat: support vite version 7 in @cypress/vite-dev-server

* build binaries

* test

* fix: file import issues on windows

* avoid optimized deps to suppress extraneous console logs

* does this work?

* chore: add unit tests for getVite as the implementation as changed quite a bit

* chore: update changelog

* fix vite optimize dependency messages being logged out to the console
even though log level is silent

* fix issues with correct vite being invoked

* chore: address issues from code review

* Downgrade react in vite 7 project to fix deprecation warnings
2025-07-14 16:03:37 -04:00
Adam Stone-Lord
992f89417f internal: (studio) force test re-run if watchForFileChanges: false (#31982)
* internal: (studio) force test re-run if `watchForFileChanges: false`

* fix lint

* don't set function through addSocketListeners

* use common functions

* revert unnecessary changes

* update socket tests

* stablize tests

* try to fix test

* fix test
2025-07-10 10:19:15 -05:00
Jennifer Shehane
54ac4ae48c chore: Replace deprecated Electron API calls (#32003)
* Replace deprecated Electron API call

* replace deprecated 'removeExtension'
2025-07-08 15:22:05 -04:00
Adam Stone-Lord
e05de87b51 internal: (studio) show error and allow retry when studio cannot be initialized (#31951) 2025-07-03 12:07:44 -04:00
Ryan Manuel
8a6d1d666b Merge branch 'develop' into release/15.0.0 2025-07-02 10:10:59 -05:00
Ryan Manuel
954847c613 internal: (studio) add manifest for all of the cloud delivered files (#31923)
* internal: (studio) add manifest for all of the cloud delivered files

* fix tests and environment variables

* update strategy

* fix tests

* rework

* Apply suggestions from code review

* require manifest

* require manifest

* clean up

* refactor

* Update packages/server/lib/cloud/studio/StudioLifecycleManager.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor

* just use the string

* try and fix test

* try and fix test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-01 22:21:39 -05:00
Matt Schile
b9e47e08ee internal: remove CYPRESS_ENABLE_CLOUD_STUDIO env (#31976) 2025-07-01 14:24:04 -06:00
Cacie Prins
30b07ec239 Merge branch 'develop' into release/15.0.0 2025-06-30 11:51:22 -04:00
Tim Griesser
ed8e7ea8a4 chore: continuing with request to axios changes (#31915) 2025-06-27 17:18:12 -04:00
Tim Griesser
4dd4e35378 chore: remove httpstat.us dependency, add utility route for cy-in-cy (#31961) 2025-06-27 13:44:33 -04:00
Jennifer Shehane
3eaf7400ad Merge branch 'develop' into release/15.0.0 2025-06-26 12:25:20 -04:00
Bill Glesias
40c81d0ec8 fix: proxy spec flake in firefox due to improper sweeping and correlation (#31651)
* fix: don't automatically remove requests when cdpRequestWillBeSentReceivedTimestamp is set to 0. Also, do not ass hashes to prerequest url as the urls do not have hashes when coming through the middleware

* Update packages/server/lib/browsers/bidi_automation.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-24 15:33:38 -04:00
Tim Griesser
31c3455b6d chore: normalize options passed via axios to the agent layer (#31905)
* fix: normalize options passed via axios to the agent layer

* improvements to testing, using debugging-proxy

* clean up & add test cases for authorization

* add follow-redirects as explicit dependency
2025-06-23 14:52:46 -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
968dabbe45 Merge branch 'develop' into release/15.0.0 2025-06-17 13:51:52 -04:00
Adam Stone-Lord
ef1a73b1e0 internal: create cloud studio session ID to group telemetry and errors (#31833)
* internal: create cloud studio session ID to group telemetry and errors

* safely call updateSessionId
2025-06-12 11:43:22 -05:00
Jennifer Shehane
b7aff4521a Merge branch 'develop' into release/15.0.0 2025-06-10 09:13:37 -04:00
Ryan Manuel
6a5bf0e6e2 internal: (studio) be more up front with protocol errors during studio development (#31848) 2025-06-07 09:13:41 -05:00
Ryan Manuel
430465a935 internal: (studio) add indication in the console in local development that watch mode has detected a change (#31824)
* internal: (studio) add indication in the console in local development that watch mode has detected a change

* rework

* PR comments
2025-06-07 09:00:44 -05:00
Ryan Manuel
4081664454 internal: (studio) add telemetry around time it takes to download the bundle and initialize studio fully (#31834)
* internal: (studio) add telemetry around time it takes to download the bundle and initialize studio fully

* fix tests
2025-06-06 14:37:49 -05:00
Ryan Manuel
fed81d47c8 internal: (studio) set up hot reloading for the studio bundle (#31796)
* internal: (studio) set up hot reloading for the studio bundle

* fix types

* floating promise

* Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* fix tests

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* index on ryanm/internal/hot-reloading: b6a9137258 Update packages/server/test/unit/cloud/get_cloud_metadata_spec.ts

* fix tests

* fix binary

* fix tests

* minor tweaks

* code cleanup

* update guide

* PR comments

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2025-05-30 13:38:42 -05:00
Bill Glesias
8b8230b291 breaking: remove built-ins from @cypress/webpack-batteries-included-preprocessor (#31738)
* breaking: remove webpack built-ins shimmed in from webpack 4 to 5 upgrade as they should no longer be needed for most users

* Update npm/webpack-batteries-included-preprocessor/README.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update cli/CHANGELOG.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-05-29 00:16:40 -04:00
Jennifer Shehane
74daed48b7 Merge branch 'develop' into release/15.0.0 2025-05-21 11:57:04 -04:00
renovate[bot]
ff559dfd3a dependency: update dependency webdriver to v9.14.0 (#31689)
* fix(deps): update dependency webdriver to v9.13.0

* empty commit

* changelog entry

* update webdriver to 9.14.0 and update patches

* Update packages/server/patches/@wdio+protocols+9.14.0.patch

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
2025-05-16 16:59:42 -04:00
Bill Glesias
713575b548 misc: throw error when chrome 137 branded is used when the @cypress/puppeteer is used in headed mode or if --load-extension is added to launch options via a user testing an extension (#31709) 2025-05-16 09:23:23 -04:00
Jennifer Shehane
a43873832a merge develop 2025-05-14 09:59:16 -04:00