* chore: set up sharing of react via module federation in studio
* chore: add ability to load types from the studio bundle
* fix build
* fix build
* fix build
* chore: pass file preprocesor override to protocol as debug data
* fix tests
* PR comments
* PR comment
* update types
* chore: convert some server js files to ts
* Update packages/server/lib/controllers/spec.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* Update packages/server/lib/controllers/spec.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix type issues
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: set up sharing of react via module federation in studio
* chore: add ability to load types from the studio bundle
* fix build
* fix build
* fix build
* PR comments
* Update guides/studio-development.md
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix test
---------
Co-authored-by: Matt Schile <mschile@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
* fix: retry instance creation when the Cloud request fails
* cleanup defunct branches in circleci workflows.yml
* rm unintentional delta in system test snapshot
* dependency: bump mime dep
* changelog entry
* yarn lock update
* add pending to changelog
* index on mime-dep-update: ccff6a976e add pending to changelog
* index on mime-dep-update: ccff6a976e add pending to changelog
* another removal of package
* changelog update
* index on mime-dep-update: ccff6a976e add pending to changelog
* whoops wrong issue
* fix test that was just....wrong
* Revert "fix test that was just....wrong"
This reverts commit 73ed5b0867.
* nvm, application/javascript is obsolete
* app/js to text/js updates
* downgrade to mime 3.0.0
* back to application/javascript
* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update
* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update
* index on mime-dep-update: 23cbb7783b Merge branch 'mime-dep-update' of https://github.com/cypress-io/cypress into mime-dep-update
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: AtofStryker <bglesias@gmail.com>
* Convert xhrs js to ts
* empty commit
* Clean up types and leftover todos
* install mime in net-stubbing package
* Update packages/net-stubbing/lib/server/util.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/net-stubbing/lib/server/util.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Remove internal function to clean up intention of code
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* 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>
* chore: convert screenshots.js to screenshots.ts
* Fix export
* Try to clean up types
* Add some more types around data
* Add some more info around types to the screenshots file
* try to fix the error in screenshots
* fix type of overwrite
* revert everything in that getPath function (just dont touch it)
* more reverting
* fix the thenable
* revert again
* revert outputFile change
* do not retry instance creation, report that cannot proceed with failed cloud in serial
* update system tests
* changelog
* changelog
* Update cli/CHANGELOG.md
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* update error language
* snapshots
---------
Co-authored-by: Jennifer Shehane <jennifer@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]
* feat: update the protocol to be able to flex logic based on project config
* slight refactor
* Update cli/CHANGELOG.md
* Update packages/types/src/protocol.ts
* fix ts
* chore: gracefully handle CDP address not returning from webdriver capabilities, prompting a browser relaunch
Update packages/server/lib/browsers/firefox.ts
add inline comment to github comment thread [run ci]
strongly type errors more consistently [run ci]
* add test for firefox cdp error for visual snapshot [run ci]
* misc: implement webdriver npm package as the client for the webdriver specification
* misc: go back to xulstore to save browser preferences [run ci]
* add changelog [run ci]
* chore: fix screenshot resolution [run ci]
* fix check-ts issues [run ci]
* run windows ci [run ci]
* run ci
* add comments [run ci]
* build binaries for webdriver impl [run ci]
* fix Cypress namespace missing issue. see https://github.com/cypress-io/cypress/pull/30331/commits/6d7ba97c2562054e11983e8bfed576f0fa3ee37b
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* chore: updating v8 snapshot cache
* patch edgedriver and preserve dependency paths for webdriver so they are included in the binary [run ci]
* fix issues with firefox profile not being created in open mode when old profile exists from previous cypress versions where they are no longer compatible [run ci]
* address comments that came up in review [run ci]
* see if this fixes extension test [run ci]
* make sure process kill emits the exit event [run ci]
* update geckodriver to include contribution patch to types [run ci]
* fix misapplication of geckodriver package (accidentally deleted) [run ci]
* empty commit to trigger ci [run ci]
* address comments from code review [run ci]
---------
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
* 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: pass spec to beforeSpec to support better reporting on client side protocol errors
* Update packages/types/src/protocol.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* update changelog
---------
Co-authored-by: Matt Schile <mschile@cypress.io>
* misc: replace marionette-client with geckodriver as b2g marionette client is no longer supported [run ci]
* install pump [run ci]
* refactor to have geckodriver launch the browser and split out webdriver to own class [run ci]
fix other failing tests [run ci]
fix other failing tests [run ci]
pass env variables to firefox
* fix sigkill / treekill issues on windows with firefox binary being a dangling process [run ci]
* fix issue where browser in headed mode was not starting maximized [run ci]
* stub firefox_spec added deps different to get type inference
* add comment to geckodriver patch
* move capabilities to verbose debug statement
* update changelog
* address comments from code review
* add pending for changelog
* update with suggestions from code review
* remove debug enable as the process needs to be bound to stderr and stdout
* add comment on why we need to bind
* add comments from code review
* address comments from code review
* make sure sessionId is set
* new error message for stream stall upload failures
* new unknown error msg, extract printProtocolUploadError for testing, consolidatd args for stream stall msg
* rename env more appropriately, add sampling interval param to putProtocolArtifact
* default to 5000, override with app capture protocol value, override that with env var
* update snapshots
* fix math in upload stall error msg
* changelog
* update gql schema w/ new error msg, fix protocol tscheck
* update test to use fn for app capture supplied interval
* increase default stream stall interval to 10 seconds
* typos
* snapshots
* rename env var
* do not use user-supplied interval if it parses to NaN
* use the more standard makeErr for unknown/uncategorized upload error in visual snapshots
* rearrange upload stall error message
* fix typo
* changelog
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* catch Fetch.enable errors on extra target in browser CRI
* changelog
* changelog
* changelog
* Update packages/server/test/unit/browsers/browser-cri-client_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* use try/catch instead of .catch for wider unit test support
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>