* 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>
* 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>
* 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>
* feat: set up experimentalUseDefaultDocumentDomain to disallow document.domain overwritting
* use default domain around experimentalUseDefaultDocumentDomain in main iframe and spec bridge iframes. Also adapt CORS policy to use same-origin if experimental flag is set
* run ci
* fix: add insertion of experimental flag where is was needed/missing
* chore: add system test to exercise experimental flag for expected behavior
* fix: fix issues with template updates to conform to squirrelly v7
* fix: update config tests to include new experimental flag
* run ci
* fix: trailing whitespace [run ci]
* chore: update snapshot
* run ci
* fix: update proxy unit tests to account for experimentalUseDefaultDocumentDomain
* run ci
* fix: Allow component tests with special characters in filepath (#25299)
feat: cut over experimental flag to take list of known problematic domains via string/glob pattern
run ci
chore: update system test and fix broken config
* fix: fix server unit and integration tests. integration tests should no longer use google to test against injection as we do not inject document.domain on google domains
* run ci
* run ci
* fix: server integration tests where google documents are expected to receive document.domain injection. Kept test same by changing URL
* run ci
* fix: update server test with mssing unupdated assertions
* run ci
* fix: turn off experimental flag by default while recommending sane defaults to users to configure
* run ci
* chore: fix typings [run ci]
* run ci
* chore: make experiment an e2e option only
* run ci
* chore: address comments in code review
* chore: rename experimentalUseDefaultDocumentDomain to experimentalSkipDomainInjection
* fix regression in shouldInjectionDocumentDomain utility function and add unit tests
* run ci
* chore: rename documentSuperDomainIfExists to superDomain [run ci]
* chore: address comments from code review
* chore: just pass opts through to policyForDomain
* run ci
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
* Revert "chore: remove document.domain usage for cross-origin testing (#24945)"
This reverts commit a3d3074e70.
* fix: set origin-agent-cluster=?0 for the spec bridge iframe
* re apply comment that was reverted in 1fa1246b5c
* Update packages/server/lib/routes-e2e.ts
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: update document.domain immutable target from chrome 106 -> chrome 109
Co-authored-by: Matt Schile <mschile@cypress.io>
* feat: re-enable Run All Specs (#24683)
* fix: disable query in run-mode
* feat: Run-all-specs-ui (#24738)
* wip run-all-specs-ui
* added component tests for specs-list, inline-specs-list, and run-all-specs
* updated tests for specslist, inlinespeclist, and runAllSpecs
* simplify test
* make prop with default value optional
* enable run all specs
* use named slot for clarify
* use Record type
* remove un-necessary dynamic component
* use group and hover to inline css
* fix tests
* fix tests and use snapshot for style testing
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* fix typescript
* fix test
* build binary for run all specs
* fix: tweaks for Run All Specs (#24746)
* update ui [skip ci]
* change types to reflect run all specs is e2e only
* chore: separate run all specs components
* fix typescript error
* fix: run-all UI tweaks and keyboard nav (#24757)
Closes undefined
* fix UI test
* move listener and use i18n [skip ci] (#24761)
* fix: run-all-specs duplicate file-matching (#24763)
* chore: limit linting [skip ci]
* do not get separator until app is loaded
* fix test
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
* fix: throw error if the cy.origin origin is in the same superDomainOrigin as top.
* testing test tweaks
* 'fix' cypress in cypress tests
* Inject cross origin in google subdomains when not same-origin
* style tweaks
* Ensure strict same-origin check works for google.
* test fixes
* we don't need the location object when we just want the href.
* what is in a name?
* Address PR Comments
* chore: refactor originPolicy to use superDomainOriginPolicy nomenclature and add sameSite/superDomainOrigin policy functions and make originMatch functions match fully same origin policy including sub domains
* chore: change doesAutMatchTopSuperOriginPolicy to doesAUTMatchTopSuperDomainOriginPolicy
* chore: rename originPolicy references to just be origin. Rename superDomainOriginPolicy to superDomainOrigin
* fix: remove duplicate origin keys and add check for remote.origin to return null
* chore: further rename variables to fit origin paradigm
* chore: remove latestActiveSuperDomainOrigin as it is no longer used
* fix: key order in consoleProps yielded test
* remove isAnticipatingCrossOriginResponse as it is no longer available
* chore: update documentation to urlMatchesSameSiteProps to show why the strictPortMatch is an option
* chore: refactor cors package to use a single parse function and update unit tests
* chore: refactor getOrigin to use url origin
* chore: update same-site documentation to now be dependent on cookies
* chore: update same-site policy to be schemeful-same-site policy as we consider protocol mismatches to be not same-site
* fix: use graceful-fs always, warn in development on sync calls
* skip prop linting in some dirs
* eslint rules
* use AST-based lint rule instead
* comment
* ignore existsSync
* run without nextTick
* remove dev warning code
* fix order
* register TS first
* fix tests
* fix test
* cover new call site
* fix new test
* add generic to cy.origin type
* fix log type, update/add comments
* fix comment indentation
* specific generic
* move RemoteState to internal types
* add on links to experimental flag descriptions
* chore: reduce nesting by flipping condition
* fix test title
* simplify failing log
* rename variable
* delete error property
* fix types
* fix type
* remove unnecessary todo
* update wait test
* jquery -> this
* update comment
* remove vestigial autoRun
* use finally
* re-throw non-security errors
* move back getting index
* add new state types
* remove unnecessary export
* startsWith -> includes
* it -> them
* update system test
* remove use of promise constructor
* Revert "remove use of promise constructor"
This reverts commit 35ccc28b6f.
* log errors from Page.getFrameTree
* test if anything breaks when removing optional chaining operator
* remove vestigial file
* handle queue ending in cross-origin driver
* fix coordinates spec
* improve chrome/firefox check in extension
* improve secure cookie regex
* use production mode for cross-origin driver bundle
* adding remoteStates.getPrimary
* catch and ignore queue errors
* remove optional chaining in postMessage handler
* removed unnecessary async
* update frame tree on cri client reconnect
* fix formatting
* renaming remoteStates variable
* prevent requests from being paused if experimentalSessionAndOrigin flag is off
Co-authored-by: Matt Schile <mschile@cypress.io>
* chore: [Multi-domain] Rename the last of the domain/multi-domain to origin type names.
* oops
* typo
* Update packages/driver/cypress/integration/e2e/multi-domain/multi_domain_validation_specs.ts
Co-authored-by: Matt Schile <mschile@gmail.com>
* Update packages/driver/cypress/integration/e2e/multi-domain/multi_domain_validation_specs.ts
Co-authored-by: Matt Schile <mschile@gmail.com>
Co-authored-by: Matt Schile <mschile@gmail.com>
* chore: [Multi-domain] Rename isMultiDomain for the driver and the server
* A couple more changes
* Update packages/driver/src/cy/commands/navigation.ts
Co-authored-by: Matt Schile <mschile@gmail.com>
Co-authored-by: Matt Schile <mschile@gmail.com>
* fix: do not encodeUri in webpack loader
* add tests
* fix test
* fix: use decodeURI in loader and add tests (#20593)
* add tests for non-unicode and specs with ...
* add more system tests
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* Setting response header for origin-agent-cluster for runner, iframes, and proxied requests that have domain injection
* Adding comments around header injection
* Adding unit tests
* start graphql server in run mode
* update url logic
* use correct mobx instance
* expose util method for testing selector playground
* add __Cypress__ global
* correctly order aut lifecycle methods
* correct spec url in tests
* fix server integration tests
* add title to html
* update url encoding
* uni test
* encoding
* encode ssr data as base64
* set correct cypress.spec.name
* set arch and os options
* add version to options
* update config test
* update encoding
* temp skip
* more skips
* try to fix launchpad tests
* update test
* update runner
* feat: automation
* ignore error
* remove unused runner steps
* try remove error
* config
* Ensuring a provided testId gets rendered on a consistent element reference within HeaderBar.
* better conditionals
* automation connection
* try applying firefox cdp automation
* skip spec
* skip for now
* skips
* respond to failed visit event correctly
* chore: fix screenshot system tests (#19686)
* set fake __CYPRESS_MODE__ on window
* vue logic for screenshot + run-mode checks
* Restore AUT wrapper div, make the name more clear
* switch to await for `before:screenshot` event send
* remove skipped tests
* add CYPRESS_INTERNAL_MODE to env
* move logic into component
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* do not run runner-shared tests anymore
* dont care about runner unit test
* add reference screenshots confirmed to be good
* fix rerun spec
* do not hardcode http protocol, remove old code
* revert protocol and add missing pre-fetch gql query
* correctly pass ssr data, update request policy
* automation element updates
* do not apply CDP automation for firefox
* make assertions more debug-friendly
* up timeout, make firefox pixels slightly looser on CI
* Fix TS
* Try to fix tests
* Try to fix tests
* do not require urql for run mode
* wip: request policy changes
* use separate component for run mode and open mode
* expose selector playground function globally for testing purposes
* fix typescript
* fixing unit tests
* encode ssr data to match production
* fix test
* fix test
* readme
* fix: Run mode for unified runner resolve conflicts (#19743)
* merge in 10.0-release
* Fix merge conflict with client route
* Fail earlier when trying to run cypress in cypress in a browser other than chrome
* Fix some tests
* Set empty obj if config is not set
* Update tests
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* update automation namespace, remove old code
* remove skipped test
* handle non proxied case
* clean up code
* revert png
* do not start graphql server in run mode
* Fix ts error
* revert type.cy.js to original test
* revert change in driver screenshot
* remove unused async
* remove unused env var
* remove old todo comment
* remove needless console.log
* unskip test
* use pause: true to avoid gql request
* remove unused automation element
* remove unused setAutomationStatus method
* change pane -> panel
* reimplement 1px flake fix for firefox type.cy.js
* chore: remove launchpad environment variable (#19778)
* remove LAUNCHPAD conditionals
* add timeout to test
* revert file
* correctly normalize url
Co-authored-by: Tyler Biethman <tbiethman@gmail.com>
Co-authored-by: Mark Noonan <oddlyaromatic@gmail.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Alejandro Estrada <estrada9166@gmail.com>
Co-authored-by: estrada9166 <estrada9166@hotmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* feat: add spec watcher to data-context
* fix typo
* attempt to fix flake
* fix path.join
* if this fixes it I'm going to be upset
* remove unused code
* address comments
* develop: (40 commits)
fix(driver): Sticky elements within a fixed container will not prevent an element from being scrolled to (#18441)
chore: make `create` function on server.ts obsolete (#18615)
docs: Add instructions to squash commits to develop in Contributing (#18728)
fix(@cypress/react): throw if using Next.js swc-loader without nodeVersion=system (#18686)
refactor: remove Ramda (#18723)
chore: Increase paralleled machines for desktop-gui tests (#18725)
chore: Update Chrome (stable) to 95.0.4638.69 (#18696)
chore: release @cypress/vue-v3.0.4
chore: release @cypress/react-v5.10.2
chore: release @cypress/schematic-v1.5.3
fix: remove outdated registry link (#18710)
chore: release @cypress/schematic-v1.5.2
chore: release create-cypress-tests-v1.1.3
chore: Update Chrome (beta) to 96.0.4664.27 (#18676)
chore(tests): Remove flaky assertion that relies on png how compression (#18668)
fix: make sure to go back to no-specs when delete spec file (#17760)
fix: Next.JS 12 components testing failing with ` TypeError: Cannot read property 'traceChild' of undefined` (#18648)
Backport .gitignore from unified-desktop-gui
chore(docs): add 'Upgrading Electron' instructions (#18594)
release 8.7.0 [skip ci]
...
* update server
* add launchMode param
* update logic
* update types
* update gql
* basic WIP for e2e
* hot reload
* dead code
* try to conditionally launch existing runner
* types
* update server
* params
* append gql port
* override to default ot e2e runner on launchpad and app e2e tests
* do not set launchpad variable for e2e runs
* use window to get graphql port and correctly run e2e conditionally using CIRCLECI env. var