Commit Graph

103 Commits

Author SHA1 Message Date
Matt Schile 0e62696a0e fix: add support for checking multiple hosts when connecting to CDP (#24155) 2022-10-10 21:45:48 -06:00
Bill Glesias 695dd275bc feat: same origin spec bridges (#23885)
* chore: enforce strict origin spec bridges

chore: refactor spec bridges to strictly enforce same origin

fix: wrap fullCrossOrigin injection around feature flag inside buffered response

* fix: do NOT set the initial cypress cookie inside the spec bridge as it is sending unecessary cookies

* chore: simplify the finding cypress in the injection code

* chore: change order in which callback fn is declared

* chore: add spec bridge performance issue to validation tests
2022-10-04 18:26:04 -04:00
Bill Glesias 18321f80dd chore: refactor originPolicy to use superDomainOrigin nomenclat… (#23879)
* 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
2022-09-21 18:27:17 -04:00
Bill Glesias 9cdb33b4c6 fix: same site cookie context and duplicate cookies (#23438)
* test: refactor and add tests in the cors package

* fix: add areUrlsSameSite method to cookies package and fix
sameSiteContext calculation method and add tests

* fix: always use Set-Cookie optimistically whether or not we keep track of the cookie or not in the server side cookie jar

* chore: add failing unit tests for postpending cookies

* chore: add tough cookie integration tests to verify we append cookies appropriately to request header Cookie

* fix: do not duplicate cookies in request if existing in the cookie jar. Add additional tests to verify expected behavior

* test: add cookie behavior tests that document current expected behavior vs what spec behavior should/will be

* test: add misc tests that check for cookie order

* chore: update debug logs in request to discern cookies

* test: fix assertions in firefox as same-site cookies are actually set correctly

* fix test incorrect assertions. cookies currently exist in primary that are same-site regardless of browser

* skip SameSite=none test in firefox as we currently low insecure samesite none cookies in firefox

* chore: apply suggestions from code review

* chore: change expects to expect

* chore: add documentation for why we need an additional HTTPS port

* remove X-Set-Cookie fixmes
2022-09-07 23:19:52 -04:00
Zachary Williams 7ddcc96388 chore: update typescript (#23523)
* chore: update typescript

* use String()

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* use String()

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* use String()

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-08-25 09:31:02 +10:00
Ryan Manuel a9456887e4 fix: app crashing on websocket upgrade request over https (#23449) 2022-08-19 15:18:56 -05:00
Kukhyeon Heo a27affe447 chore: refactor server/lib/config.ts to pkg/config (#22530)
Co-authored-by: Rachel <rachel@cypress.io>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
2022-08-17 10:54:02 -07:00
Rachel c40a120aa7 chore: skip or fix flaky tests (#23167) 2022-08-15 08:50:34 -07:00
Buluc-Celik-Ozbul b1a51f9b49 fix: Proxy-Authorization: Basic (#22471)
Co-authored-by: buloheart <buloheart@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-06-29 16:17:02 +10:00
Zach Bloomquist d01932bf75 fix: retry on EMFILE always, lint sync FS calls (#22175)
* 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
2022-06-16 14:35:31 +10:00
Andrey Mokrousov 2c92b28fbc fix: pass family parameter to connect method (#21545)
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-05-25 18:16:46 +00:00
Tim Griesser b57e2a85b1 fix: cleanup check-ts type failures post merge 2022-05-05 16:17:07 -04:00
Bill Glesias 4f9dc00d94 ignore new url constructor ts compiler issues as it ships natively with
node and out supported browsers
2022-05-02 17:04:09 -04:00
Bill Glesias bbd9e7f1b2 Merge branch 'develop' into md-10.0-merge 2022-04-29 10:39:54 -04:00
Chris Breiding 3e6d6bfe15 chore: Updates based on PR feedback (#21137)
* 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>
2022-04-22 14:58:02 -05:00
Matt Schile fedb65c97c chore: (multi-domain) support multiple remote states (#20752) 2022-03-28 15:26:51 -06:00
Matt Henkes 8f7cc74ba9 Merge branch 'develop' into feature-multidomain 2022-03-24 16:01:06 -05:00
Zach Bloomquist 7aafae11fb Merge remote-tracking branch 'origin/develop' into 10.0-release-merge-3-24 2022-03-24 10:18:02 -04:00
renovate[bot] 3dc03a30c5 fix(deps): update dependency node-forge to v1.3.0 [security] (#20727)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 09:04:33 -05:00
Chris Breiding 22b35be276 fix(multi-domain): Handle SameSite cookies (#20450) 2022-03-22 09:57:12 -04:00
Chris Breiding bc30c6868e Merge branch 'develop' into feature-multidomain 2022-03-16 11:23:30 -04:00
Jessica Sachs 0a5be72c90 Merge remote-tracking branch 'origin/develop' into 10.0-release 2022-02-23 18:41:58 -05:00
Byeongung Ahn 14d0b93679 fix: poor outgoing network performance on Mac (#20062) 2022-02-23 15:58:06 +00:00
Chris Breiding fc7149ed5c Merge branch 'develop' into feature-multidomain 2022-02-23 10:28:34 -05:00
Tim Griesser 47b1f38f62 Merge branch 'develop' into 10.0-release
* develop: (35 commits)
  fix(deps): update dependency url-parse to v1.5.6 [security] (#20270)
  chore: fix cache keys to include PLATFORM (#20279)
  chore: fix server performance flake (#20271)
  test(system-tests): support docker-based tests against built binary (#20250)
  chore: fix system-test-firefox screenshots_spec flake (#20268)
  chore(deps): update dependency fs-extra to v9 🌟 (#19939)
  fix: Wait for child process to be ready (#19792)
  fix: treat form-data bodies as binary (#20144)
  test: replace cypress-test-example-repos coverage + remove bump (#20186)
  fix(driver): update wrapErr to ignore number and boolean values (#20172)
  release 9.5.0 [skip ci]
  chore: Update Chrome (stable) to 98.0.4758.102 (#20192)
  chore: enable volar.takeOverMode
  Add span names, merge develop
  fix: Update `.type(' ')` to not emit clicks when the keyup event has been prevented (#20156)
  test: remove redundant "other projects" CI jobs (#20133)
  chore(driver): move cy.focused and cy.root into their own files (#20054)
  Move sending root event to own script
  chore: release @cypress/vue-v3.1.1
  chore: release @cypress/react-v5.12.3
  ...
2022-02-22 12:40:07 -05:00
Brian Mann 73c7631816 fix all the tests that escape "doesn\'t" to use string templates 2022-02-18 16:23:20 -05:00
renovate[bot] 8d28261499 chore(deps): update dependency fs-extra to v9 🌟 (#19939)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: David Munechika <david@cypress.io>
2022-02-18 10:33:27 -06:00
Ryan Manuel c52e07d576 feat: Update version checking logic to query the manifest and ensure ctx.util.fetch can handle a proxy (#20107)
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-02-11 17:00:16 -06:00
Emily Rohrbough f669c101e1 Merge branch '10.0-release' into 1f70b21bc4-develop-into-10.0-release 2022-01-21 15:50:16 -06:00
Chris Breiding 7ef104e9a8 Merge branch 'develop' into feature-multidomain 2022-01-19 14:29:35 -05:00
Chris Breiding edb4642328 chore: Use @typescript-eslint/indent instead of eslint's indent (#19772) 2022-01-19 13:38:16 -05:00
Ryan Manuel ed51bcbdda feat: Set up cypress in cypress (#19602)
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
2022-01-14 17:07:07 -06:00
Chris Breiding 8e0770f235 Merge branch 'develop' into feature-multidomain 2022-01-13 09:31:25 -05:00
Chris Breiding 2ee98938cd chore: Remove hardcoded domain for multi-domain (#19323)
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-01-12 07:23:34 -05:00
renovate[bot] c45a24044c fix(deps): update dependency node-forge to v1 [security] (#19635)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 12:59:14 -08:00
Jessica Sachs 0975fec79b chore: merging in from develop into 10.0-release (#19148) 2021-11-30 14:32:08 -05:00
renovate[bot] 9bf8bf2212 fix(deps): update dependency @cypress/request to v2.88.10 🌟 (#19099)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2021-11-29 13:59:18 -05:00
Tim Griesser 7c339d41c8 Merge branch 'develop' into 10.0-release
* develop: (52 commits)
  feat: use hoisted yarn install in binary build (#17285)
  fix: compile npm packages for node 12 (#18989)
  fix: show call count even if `cy.stub().log(false)`. (#18907)
  chore: Update TypeScript to 4.4.4 (#18930)
  fix: wrap playground selectors in double quotes if not included (#18442)
  fix: flaky settings_spec test (#18979)
  chore: Update Chrome (stable) to 96.0.4664.45 (#18931)
  fix: Loading of specs with % in the filename (#18877)
  chore: refactor `create` into class `$Cy` (#18715)
  chore: Update Chrome (beta) to 96.0.4664.45 (#18891)
  fix: flaky `system-tests-firefox` job (#18848)
  chore: release @cypress/webpack-preprocessor-v5.10.0
  chore: release @cypress/vue-v3.0.5
  chore: release @cypress/schematic-v1.6.0
  chore: release create-cypress-tests-v1.2.0
  release 9.0.0
  feat: ensure major release
  have conduit app wait on localhost:3000
  fix install-required-node
  use --legacy-peer-deps
  ...
2021-11-20 16:03:53 -05:00
Tim Griesser e4f5b106d4 feat: use hoisted yarn install in binary build (#17285) 2021-11-20 14:19:51 -05:00
Kukhyeon Heo 2a6ded2352 chore: Update TypeScript to 4.4.4 (#18930) 2021-11-19 10:01:23 -05:00
renovate[bot] 3095d733e9 feat(deps): update dependency electron to v15 🌟 (#18317)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: David Munechika <davidam1203@gmail.com>
2021-11-09 20:52:17 +00:00
Emily Rohrbough 99c8d466c8 feat: create config package for config validation (#18589) 2021-11-09 13:19:05 -06:00
Tim Griesser d841e1331f refactor: Data context cleanup & IPC bindings for data push (#18357) 2021-10-11 12:13:41 -04:00
userquin 8614e97802 fix(unified-desktop-gui branch): initial installation on windows (#18247) 2021-09-25 14:18:17 -04:00
Lachlan Miller 23cb12cfc4 Merge branch 'develop' into unified-desktop-gui 2021-08-25 10:03:27 +10:00
Lachlan Miller ab401ecd35 chore: use import type syntax (#17864)
* chore: use import type across repo

* chore: use import type across repo

* chore: use import type across repo

* chore: use import type across repo

* update exports

* update test

* update import type

* update types

* use import type in driver

* correctly export function

* revert test

* remove unrelated code

* revert code

* improve type imports

* override for reporter
2021-08-25 09:11:56 +10:00
renovate[bot] 757a088828 fix(deps): update dependency @cypress/request to v2.88.6 🌟 (#17813)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-08-23 08:21:48 -05:00
Tim Griesser e2f395e330 feat: Structuring context & schema so it can be used on the client (#17489)
* wip: Structuring context & schema so it can be used on the client

* chore: fix dev mode

* Continuing to restructure graphql patterns

* Cleaning up the server

* Don't hash for now, for vite

* fix for CI

* WIP on integrating with vue

* yarn lock

* no need to return props from setup

* use useResult for more concise and better type safety

* fix regression

* wip: migrate to apollo

* Wip: mostly working with pollInterval

* apollo -> urql

* cleanup

* continuing to cleanup

* fix: updates to tests, strict type checking

* Tests passing

* wip: attempting rename

* adding @packages/graphql

* simplified fragment testing

* fixing build scripts

* remove --inspect-brk

* fix ci scripts

* fix build again

* Fix tests

* Add express as dep to @packages/graphql

* fix packages

* chore(launchpad): minor updates (#17551)

* apply general improvemets from PR comments

* remove unused file

* comment out test for now

* stub out missing story module

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2021-08-02 22:54:33 +10:00
Zach Bloomquist 0e137dff43 chore(tests): skip flaky "detects invalid PEM key passphrase" test (#17413)
Skips flaky test:

```
  1) lib/client-certificates loads cert files detects invalid PEM key passphrase:

      AssertionError: expected [Function: act] to throw error including 'Cannot decrypt PEM key with supplied passphrase (check the passphrase file content and that it doesn\'t have unexpected whitespace at the end)' but got 'Failed to load client certificates for clientCertificates[0]: Cannot parse PEM key: Only 8, 16, 24, or 32 bits supported: 352.  For more debug details run Cypress with DEBUG=cypress:server:client-certificates*'
      + expected - actual

      -Failed to load client certificates for clientCertificates[0]: Cannot parse PEM key: Only 8, 16, 24, or 32 bits supported: 352.  For more debug details run Cypress with DEBUG=cypress:server:client-certificates*
      +Cannot decrypt PEM key with supplied passphrase (check the passphrase file content and that it doesn't have unexpected whitespace at the end)
      
      at Context.<anonymous> (test/unit/client_certificates_spec.ts:386:47)
      at processImmediate (internal/timers.js:462:21)
```

https://app.circleci.com/pipelines/github/cypress-io/cypress/22260/workflows/043dddbc-1095-4a98-bd32-3606e59e65ce/jobs/816365

It seems to be a race condition, but I can't pin down where. Everything is synchronous...

cc @GCHQDeveloper911
2021-07-20 19:08:31 +00:00
GCHQDeveloper911 297599071c feat: Changes for PKI support - #2694 (#15179)
Co-authored-by: GCHQDeveloper911 <GCHQDeveloper911@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Zach Bloomquist <git@chary.us>
2021-07-12 21:09:55 +00:00