* 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
* 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
* dependency: upgrade mocha to 7.2.0 (#31423)
* dependency: upgrade mocha to 7.2.0
* changelog entry
* remove the it.only from the mocha patch changelog that is triggering our stop-only check from passing
* skip patches folder with stop-only check
* remove extra bracket
* Update protocol_spec to reflect new mocha line number for error stack trace
* chore: updating v8 snapshot cache (#31424)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31425)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31426)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: migrates plugin system test to a v3 extension (#31434)
* chore: Update Chrome (stable) to 135.0.7049.52 (#31428)
* chore: Update Chrome (stable) to 135.0.7049.52
* empty commit
---------
Co-authored-by: cypress-bot[bot] <41898282+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
* chore: bump Firefox to 137 (#31431)
* chore: bump Firefox to 137
* use 137 version? weird.
* just kidding, major version only has 1 zero after it................
* dependency: update server to mocha 7.2.0 (#31432)
* dependency: update server to mocha 7.2.0
* Add PR to changelog
* chore: updating v8 snapshot cache (#31437)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31438)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31439)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: Update Chrome (beta) to 136.0.7103.17 (#31448)
* chore: Update Chrome (beta) to 136.0.7103.17
* empty commit
---------
Co-authored-by: cypress-bot[bot] <41898282+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* refactor: lifts toPosix to its own file, removes circular dependency between stack_utils and source_map_utils (#30983)
* refactor: lifts toPosix to remove circular dependency between stack_utils and source_map_utils
* camelCase to snake_case
* rm duplicated file
* internal: (studio) make the protocol database accessible to studio (#31443)
* internal: (studio) make the protocol database accessible to studio
* PR comment
* chore(deps): update dependency patch-package to v8 (#31451)
* chore(deps): update dependency patch-package to v8
* empty commit
* add types to handle json-stable-stringify dep change
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* chore: fix deprecation warnings and refactor react reporter to use functional components and hooks (#31284)
* chore: fix deprecation warnings and refactor react reporter to use functional components with hooks
* chore: update code to reflect feedback from code review
* fix issues with scrollIntoView() on updated component and refactor isOpen logic in collapsible to not attempt to sync state
* fix issues with tests after refactor
* see if event registration fixes windows flake
* chore: update snap-shot-core patch package file to match version (#31449)
* chore: update snap-shot-core patch package file to match version
* update circle cache
* experiment with removing .md from yarnclean
* add .md back to yarnclean
* bust circle cache
* remove .md files being cleaned from yarn to get around patch-package issue
* print size of cache
* try out the size of the .md
* remove md from yarnclean
* UPdate to version without removal of markdown files
* chore: updating v8 snapshot cache (#31460)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31462)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* chore: updating v8 snapshot cache (#31461)
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* feat: cy.press() (#31398)
* wip - cy.press() command
* cy command for dispatching key press/down/up events
* unit tests and failure cases for cy.press()
* Cypress.Keyboard.Keys definition; fix command log message
* add keys to the internal keyboard type
* auto-focus in cdp
* ensure aut iframe is focused before dispatching key events in bidi browsers
* update tests for cdp focus
* fixed tests for bidi
* lint
* fix type ref in .d.ts
* linting
* skip press() driver test in ff below v135
* try all contexts for frame before failing due to missing/invalid context id
* ensure error is error before accessing props
* skip press driver test in webkit
* changelog
* debug automation middleware invocation for firefox flake
* debug
* cache update
* use bidi automation middleware from connectToNewSpec rather than constructor
* more comprehensive logging
* debug socket base, additional debug in automation
* install firefox automation middleware on setup as well as connectToNewSpec
* unit tests for firefox-utils
* proper calledWith
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* docs: update contributing requirements for corepack (#31463)
* chore: remove `du` check (#31465)
* chore: use different args for `du` in win
* rm du command for build
* chore: release 14.3.0 (#31467)
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: cypress-bot[bot] <41898282+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
* wip - cy.press() command
* cy command for dispatching key press/down/up events
* unit tests and failure cases for cy.press()
* Cypress.Keyboard.Keys definition; fix command log message
* add keys to the internal keyboard type
* auto-focus in cdp
* ensure aut iframe is focused before dispatching key events in bidi browsers
* update tests for cdp focus
* fixed tests for bidi
* lint
* fix type ref in .d.ts
* linting
* skip press() driver test in ff below v135
* try all contexts for frame before failing due to missing/invalid context id
* ensure error is error before accessing props
* skip press driver test in webkit
* changelog
* debug automation middleware invocation for firefox flake
* debug
* cache update
* use bidi automation middleware from connectToNewSpec rather than constructor
* more comprehensive logging
* debug socket base, additional debug in automation
* install firefox automation middleware on setup as well as connectToNewSpec
* unit tests for firefox-utils
* proper calledWith
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* cdp command impl for tab dispatch
* misc: add automation command to cdp for forthcoming tab key
* changelog
* skip non chromium browsers for press() driver test
* fix test
* misc: bidi automation impl for key press
* amend types
* log, but do not fail, if key:press is not supported
* rm extraneous debugs
* rm more debug
* changelog
* comments
* revert to keyDown from rawKeyDown, remove delay
* expand changelog to include bidi
* changelog
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: implement BiDi automation client base (without full extension cutover). [run ci]
* chore: implement suggestions from code review. [run ci]
* update error text to be in line with documentation
* address comments from code review
* address comments from code review
* make bidi, cdp, and both active protocols object enumerations to make the code easier to read
* address additional comments from code review
* fix errors from refactor
* update firefox warning
* chore: add type linting + compilation checks to runner package
* empty commit
* A bunch of tslint fixes
* wow it is building
* Fix issue with CT not mounting correctly with comments within it
* Fix net-stubbing.ct.ts failures
* Fix tslint: disable comment
* move target into compilerOptions
* fix tslint disable comment
* update proxy-logging to undo changes
* standardize the tslint:disable comments
* fix comment
* fix the banner content not displaying and write a test for this situation
* fix ct reference
* put target to es2020
* actually set the property with replaced title
* Update packages/reporter/src/hooks/hook-model.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Fix eslint/tslint settings for system-tests with vue 3
* bump CI cache
* update types/react resolution
* add return
* lint fix
* tslint disable for empty blocks
* exclude dist files from ts linting
* update to exclude all dist folder
* exclude dist file
* change to await
* fix line numbers of stack trace with linting updating vue file
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* remove experimentalSkipDomainInjection, add and deprecate injectDocumentDomain
* remove experimentalSkipDomainInjection, add injectDocumentDomain
* begin rethreading domain injection
* complete document domain transition
* move some cookie specs to separate test run
* origin and privileged commands with default docdom inject
* fix privileged channel when injecting document domain
* rm unnecessary .getOrigin abstraction in cors lib
* move remote-states in prep for refactor Replace Conditional with Polymorphism
* refactor remote states to strategy pattern
* cookie commands work as expected w cross origin bridge on different origins
* some origin tests updated
* run tests with document domain enabled
* run tests actually
* use correct config, swap conditional
* check-ts
* inject documetn domain for webkit tests
* do not exec injectDocumetnDomain in parallel
* fix ServerBase construction in tests to include cfg now
* pass cfg to ServerBase
* improved integration tests
* remove document domain checks for all server integration specs - will add injectDocumentDomain cases
* tests for injecting document domain when configured to
* square away server integration tests
* ensure cookies are set correctly, potentially
* errors pkg snapshots
* fix config tests
* fixing config tests
* somewhat improves tests for cors policies in packages/network
* fix ts err in server-base
* enable injectDocumentDomain for cy in cy tests
* fix Policy type ref
* refactor cypress-schematic ct spec to be less prone to timeouts
* run vite-dev-server tests with injectDocumentDomain
* rm document domain assertion from page_loading system test
* add system tests that test with injectDocumentDomain and others that test with cy.origin
* fix results_spec snapshot
* update experimentalSkipDomainInjection system test
* different behavior for certain net_stubbing tests based on injectDocumentDomain or not
* fix ts
* extract origin key logic from remote states, for now
* move server-base and response-middleware over to new pattern
* WIP - reentry
* fix build, remove console.log
* check-ts
* fix spec frame injection
* remove injection for localhost
* mostly fix vite-dev-server app integration tests
* fix codeframe in certain cases in chrome
* drop internal stack frames from stacks intended for determining code frame data
* some improvements to vite ct error codeframes
* fix proxy unit tests to use document domain injection util class
* rm .only
* fix all vite ct error specs
* rm console.log
* slight refactor to util class to make easier to test
* fix refactor - missing rename in files.js
* several tests do not set testingtype in config, so just check against component instead of checking for e2e
* revert changes to getInvocationDetails to see if that breaks tests
* re-enable stack stripping in invocation details for chrome
* new snapshots with more accurate invocation details
* test for same-site cross-origin cookie behavior
* ignore window.top ts errors
* revert forcing injectDocumentDomain in vite-dev-server cy config
* fix normalized whitespace for firefox "loading_failed" error
* always trim trailing wsp from stack before appending additional content
* force normalization of whitespace to three \n when adding additional stack details
* normalize wsp between stack and additional stack to "\n \n" in firefox
* remove stack_utils attempt at normalizing wsp
* various cleanup: remove commented console logs, add more detailed comments
* add on links to error messages
* remove experimentalSkipDomainInjection from exported type defs
* Update system-tests/test/experimental_skip_domain_injection_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/driver/cypress/e2e/e2e/origin/cookie_misc.cy.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* no need to coerce a boolean value to a booleanc
* export base config from primary cypress config in driver for use in inject-document-domain test subset
* lift experimentalSkipDomainInjection breaking option to root
* rollback config/options changes
* rm invalid comment
* use hostname instead of origin to create cookie from automation cookie
* clarify stack regex in results_spec
* lint
* take a stab at the changelog entries for this
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* reenable locally-failing test
* changelog
* snapshot updatesfor experimental skip domain injection err msg
* remove packageManager declaration in package.json
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* pull support for JIT from vite since it doesn't have an affect for end users or performance (webpack only) [run ci]
rebase this
* remove the experimentalJIT flag and make it GA (default still false) [run ci]
* enable justInTimeCompile by default [run ci]
* chore: bump cache [run ci]
* remove foxdriver and force:gc/log:memory:pressure APIs
* Add changelog entry
* remove patched foxdriver file
* define types/spec FoundSpec without ref to Cypress namespace
* args
* chore: update unit test to still throw firefox cannot connect error if CDP fails to connect instead of the rtrying socket, which is no longer used when connecting to firefox
* Remove firefox-memory system test
---------
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: AtofStryker <bglesias@gmail.com>
* 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>
* initial commit, a kinda working prototype
* Ready to test in CI
* "SyntaxError: Cannot use import statement outside a module" I blame VS code for always inserting the wrong dependency
* try using built js instead of the ts file
* typescript fixes?
* get version correctly, don't use optional chaining in child process.
* trying this, idk
* try running telemetry for driver-integration-tests-chrome
* fix missing spans, add more attributes for some spans
* fix missing spans and add suite spans
* types
* Remove un-used require
* remove spans for describe blocks in favor of the full title for tests
* migrate to sync resource discovery, start new custom exporters for spans
* encrypted
* localhost
* don't do things on child process
* latest changes
* update server start span time / add v8 snapshot span & update command span names
* prepare for sync
* don't send blank key
* make telemetry work again for sending directly to honeycomb
* web-socket exporter
* Add in IPC exporter and message the child process before disconnecting
* Use the cloud api by default
* move cloud span exporter into telemetry package
* shutdown fixes
* fix enabled
* improve types
* run in ci
* yml is the worst
* type!
* add spans for timing insights for visible areas of improvement
* type errors
* lets try sending data to staging
* types
* types again
* remove problematic attributes
* clean up exporters
* i like this better even though it doesn't seem to matter much
* some self review cleanup
* Update comment
* add debug messages
* mocha tests
* actually exit with the right code... oops
* simple mistake... have to look into how to fix with ts...
* try this i guess
* don't return undefined
* read me diagram
* color?
* no rect
* moar diagram
* docs!
* formatting
* build more binaries
* Supposedly fix cypress in cypress test failures
* test 'fixes'
* try this instead
* do not transpile cypress packages dir
* lets try escaping our regex string
* Add some diagnostics to help test the built binary....
* try a more complex solution
* fix tests probably
* just ignore the specific file
* fix unit tests
* cr updates
* Apply suggestions from code review
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Pr updates
* don't change the command queue
* move encoding and decoding telemetry context for ipc to the telemetry package
* build darn it
* plead for mercy from the testing gods, i merely wished to have named test reports, but clearly i have overreached.
* pr updates, send record key
* pr review
* optional chaining fails tests
* Apply suggestions from code review
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* tests for cloud-span-exporter
* bad merge
* adding tests for the remaining exporters
* note
* docs
* Correctly set test under the current run span for component testing
* gate sending the message.
* pr updates
* finally, fingers crossed.
---------
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>