* 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>
* 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
...
* 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
...
* 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
* 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>
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