* Adding remaining reporter error tests.
* Removing existing integration spec file
* Removing existing runner fixtures for error specs
* Fixing ts lint
* Testing with less tests kept in memory
* Testing some cypress-in-cypress settings to improve run-mode performance.
* Reverting changes to doc_url specs
* PR Updates. Inverting default value for 'open in IDE' validation in an attempt to reduce test time.
* Cleaning up ported code
* Update system-tests/projects/runner-e2e-specs/cypress/fixtures/index.html
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* Trying build workaround
* Bumping up parallelized builds for app integration tests
* Removing suspicious tests to validate CI build
* Removing more suspicious tests to test CI
* Trying to not scaffold every navigation
* Bumping resources for run-app-integration job. Updating reporter.errors specs to appropriately reduce AUT refreshes.
* Couple API tweaks
* test: Migrating runner hooks specs to app
* Removing unused helper from runner package; cleaning up a few things
* Updating yarn.lock
* fix: Migrating runner sessions ui tests to app
* test: Migrating runner's runner.ui tests to app
* test: Migrating runner retries ui tests to app
* Cleaning up a few things for consistency
* Fixing ts errors
* Removing tests for runner header that have existing coverage in app
* Working around detached elements in CI
* Still working around detached elements in CI
* Updating sessions.ui test to click more carefully. Adding bit more coverage around runner header and snapshot pinning.
* Update packages/app/cypress/e2e/runner/retries.ui.cy.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Migrating issue specs. Updating TODOs. Hopefully addressing some flake.
* Stopping icon spin animation for percy snapshots
* WIP
* customPercyCommand.ts
* WIP: working on custom percy snapshots for hiding elements other than the reporter [skip ci]
* WIP: Adding naive mutation observer for reseting DOM mutations after snapshots [skip ci]
Got tired of tripping over types, I can add them when we're feature complete
* Implementing scoped snapshots throughout app/runner tests, let's see how percy output looks
* Adding more snapshots to runner tests.
* Using spec link as click target
* Stop taking snapshots of failed tests
* Scoping selector playground snapshots (though they're still unstyled)
* Addressing flake in virtualized spec list
* Drying up runner snapshotting
* Logging single percy snapshot that reflects proper viewport and overrides
* Updating describes to better match previous snapshot names
* Removing added snapshots to get more accurate better diff presentation in Percy
* Removing new runner.ui snapshots as well
* Adding a few PR recommendations. Updating one last spec name that was corrected for grammar and no longer matched. Updating/removing relevant TODOs.
* Updating to use anticipated default width for reporter
* Updating tests for consistency with previous snapshots
* Tying original command into promise chain
* Let's try that again
* Making percy command enqueuing explicit to test result
* Scoping down on some variables. Using defaults for sessions tests.
* Updating some overrides to see if visibility is handled inconsistently
* Whitespace vanquished, working session test updates back in for long command logs
* Viewport height is not reflected in snapshots, let's try forcing the height on the panel
* Forcing the height issue
* Let's try a minHeight on the percy command
* Cleaning up alterations made during percy exploration
* Trying to get a cleaner percy diff after merge
* Fix Percy to use 10.0-release branch as baseline image comparison
* add comments about temporary percy env vars
* Adding some doc for changes made to customPercyCommand
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
* develop:
feat: gray out the path to system node in cypress run header (#20121)
feat: redesign server errors (#20072)
test: fix awesome-typescript-loader test and remove test-binary job (#20131)
fix: Fix issues with stack traces and command log in Chrome 99 (#20049)
fix: `cy.type(' ')` fires click event on button-like elements. (#20067)
fix: `change`, `input` events are not fired when the same option is selected again. (#19623)
build: publish vue3 on latest (#20099)
chore: release @cypress/webpack-preprocessor-v5.11.1
chore: release @cypress/webpack-dev-server-v1.8.1
fix: detect newly added specs in dev-server compilation (#17950)
chore: Remove pkg/driver //@ts-nocheck part 3 (#19837)
chore: set up semantic-pull-request GitHub Action (#20091)
chore: release @cypress/react-v5.12.2
fix: remove nullish coalescing in js files to support node 12 (#20094)
docs: update @cypress/webpack-preprocessor links (#19902)
refactor: use aliases instead of meta (#19566)
* chore: rename errors.js -> errors.ts
* refactor: type safety on errors
* refactor: add err_template for consistent error formatting
* fix a few system tests
* fix tests; update snapshots
* Fix types
* normalize snapshot - remove chalk ansi colors
* more unit test fixes
* more system test fixes
* circleci build
* backtick always in stdout, fix error formatting and failing snapshots
* refactor: create @packages/errors
* fix import
* fix import
* fixing build / tests
* remove extraneous file
* move warnIfExplicitCiBuildId
* fix build / tests
* Fix
* error, type fixes, documentation, standardize child process error serialization
* fix import
* build errors on install
* wrote specs generating visual images of all errors
* remove unused dep
* sanitize stack traces
* add image diffing
- if base images don't exist, create them
- if base images don't match and local, overwrite them, if in CI throw
- if base images are stale and local, delete them, if in CI throw
* remove Courier New + MesloLGS NF font
* type fixes, remove Bluebird, general cleanup
* TS Cleanup
* skip typecheck on tests for now
* yarn.lock
* fix @types/chai version
* fix yarn.lock
* Different version of mocha types so it isnt patched
* errors spec snapshot
* CI fix
* fixes
* store snapshot images in circle artifacts
* dont change artifact destination prefix
* use Courier Prime
* antialias the text
* decrease pixelmatch threshold, fail in CI only when changed pixels > 100
* increase timeout
* overflow: hidden, remove new Promise, add debug logging
Co-Authored-By: Tim Griesser <tgriesser@gmail.com>
* run unit tests w/ concurrency=1
* unique window per file
* disable app hardware acceleration + use in process gpu + single process
* do not do image diffing
- conditionally convert html to images
- store html snapshots
- do not store images in git
* store snapshot html
* Merge branch 'tgriesser/chore/refactor-errors' of https://github.com/cypress-io/cypress into tgriesser/chore/refactor-errors
* remove concurrency
* fix assertion
* fixing ci
* Link in readme
* pass the browsers to listItems
* fix: build @packages/errors in CI, defer import to prevent errors locally
* Merge branch 'develop' into tgriesser/chore/refactor-errors
* develop:
chore: fix cypress npm package artifact upload path (#20023)
chore(driver): move cy.within logic into it's own file (#20036)
chore: update automerge workflows (#19982)
fix(selectFile): use target window's File/DataTransfer classes (#20003)
chore: Update Chrome (stable) to 98.0.4758.80 and Chrome (beta) to 98.0.4758.80 (#19995)
fix: Adjust ffmpeg CLI args for performance (#19983)
build: allow unified to run cypress on Apple Silicon (arm64) (backport #19067 to 9.x) (#19968)
* fix run-if-ci.sh
* remove dead code
* Mark the .html files as generated in gitattributes
* fix running single error case, slice out more of the brittle stack
* remove additional brittle stack line
* firefox web security error
* nest inside of describe
* reformat and redesign errors
* more error cleanup and standardization
* additional formatting of errors, code cleanup, refactoring
* update ansi colors to match terminal colors
* cleanup remaining loose ends, update several errors, compact excess formatters
* fix types
* additional formatting, remove TODO's, ensure no [object Object] in output
* add test for 412 server response on invalid schema
* update unknown dashboard error on creating run
* use fs.access instead of fs.stat for perf
* added PLUGINS_FILE_NOT_FOUND error
- separated out from PLUGINS_FILE_ERROR
- add system tests for both cases
- update snapshots
- remove stack trace from PLUGINS_FILE_NOT_FOUND fka PLUGINS_FILE_ERROR
* add plugins system test around plugins synchronously throwing on require
* remove forcing process.cwd() to be packages/server, update affected code
- this was a long needed hangover from very old code that was doing unnecessary things due to respawning electron from node and handling various entrypoints into booting cypress
- this also makes the root yarn dev and dev-debug work correctly because options.cwd is set correctly now
* perf: lazy load chalk
* remove excessive line since the file exists but is invalid
* fix types
* add system test when plugins function throws a synchronous error
* create new PLUGINS_INVALID_EVENT_ERROR, wire it up correctly for error template use
- properly pass error instance from child to ensure proper user stack frames
- move error display code into the right place
* only show a single stack trace, either originalError or internal cypressError
* push error html snapshots
* fix tests, types
* fix test
* fix failing tests
* fix tests
* fixes lots of broken tests
* more test fixes
* fixes more tests
* fix type checking
* wip: consistent handling of interpolated values
* feat: fixing up errors, added simple error comparison tool
* wrapping up error formatting
* Fixes for unit tests
* fix PLUGINS_VALIDATION_ERROR
* fix fs.readdir bug, show rows even if there's only markdown formatting [SKIP CI]
* when in base-list, show full width of errors
* Fix type errors
* added searching and filtering for files based on error name
* fix: system tests
* updated NO_SPECS_FOUND error to properly join searched folder + pattern
- join patterns off of process.cwd, not projectRoot
- highlight original specPattern in yellow, baseDir in blue
- add tests
* fixes failing tests
* fix test
* preserve original spec pattern, display relative to projectRoot for terminal banner
* make the nodeVersion path display in gray, not white
* fix tests, pass right variables
* fix chrome:canary snapshots
* update snapshots
* update snapshot
* strip newlines caused by "Still waiting to connect to {browser}..."
* don't remove the snapshotHtmlFolder in CI, add additional verification snapshots match to error keys symmetrically
* update snapshot
* update snapshot
* update snapshot
* update snapshot
* update snapshot
* update snapshot
* update gitignore
* fix snapshot
* update snapshot html
* update logic for parsing the resolve pattern matching, add tests
* update snapshots
* update snapshot
* update snapshot
* update snapshot
* fix failing test
* fix: error_message_spec
* fix snapshot
* run each variant through an it(...) so multiple failures are received
* add newlines to multiline formatters, add fmt.stringify, allow format overrides
* stringify invalid return values from plugins
* move config validation errors into packages/errors, properly highlight and stringify values
* add component testing yarn commands
* fix the arrow not showing on details
* fix typescript error
* fixed lots of poorly written tests that weren't actually testing anything. created settings validation error when given a string validation result.
* fixes tests
* fixes tests, adds new error template for validating within an array list (for browser validation)
* remove dupe line
* fix copy for consistency, update snapshots
* remove redundant errors, standardize formatting and phrasing
* more formatting
* remove excess snapshots
* prune out excessive error snapshot html files when not in CI
* add missing tests, add case for when config validation fails without a fileType
* fixes test
* update snapshot
* update snapshot
* update snapshot
* sort uniqErrors + errorKeys prior to assertion - assert one by one
* add system test for binding to an event with the wrong handler
* fixes tests
* set more descriptive errors when setting invalid plugin events, or during plugin event validation
* remove duplicate PLUGINS_EVENT_ERROR, collapse into existing error
* use the same multiline formatting as @packages/errors
* standardize verbiage and highlighting for consistency
* fix incorrect error path
* fixes tests, standardized and condensed more language
* Update packages/errors/src/errors.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update guides/error-handling.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update guides/error-handling.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* added some final todo's
* fix types
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Tim Griesser <tgriesser@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Adding remaining reporter error tests.
* Removing existing integration spec file
* Removing existing runner fixtures for error specs
* Fixing ts lint
* Testing with less tests kept in memory
* Testing some cypress-in-cypress settings to improve run-mode performance.
* Reverting changes to doc_url specs
* PR Updates. Inverting default value for 'open in IDE' validation in an attempt to reduce test time.
* Cleaning up ported code
* Update system-tests/projects/runner-e2e-specs/cypress/fixtures/index.html
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* Trying build workaround
* Bumping up parallelized builds for app integration tests
* Removing suspicious tests to validate CI build
* Removing more suspicious tests to test CI
* Trying to not scaffold every navigation
* Bumping resources for run-app-integration job. Updating reporter.errors specs to appropriately reduce AUT refreshes.
* Couple API tweaks
* Removing unused helper from runner package; cleaning up a few things
* Updating yarn.lock
* Props isn't optional here.
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* testFiles
* ignoreTestFiles
* supportFile
* use utility functions
* remove setupNodeEvents and supportfile from component
* don't throw for supportFiles query
* custom integrationFolder default testFiles
* add default e2e directory to e2e specPattern
* add missing type import
* work on migration project docs
* update docs
* use prettier to run assertion
* add detailed breakdown of expected config and update code to correspond
* remove unused code
* update comment
* update component testing migration expected configurations
* wip: tests for edge cases
* make plugins require relative
* do not add defineConfig if they do not have cypress 10
* edge case of define config
* system test
* do not show supportfile for CT only project
* fix: set correct config file on migration (#19990)
* fix: set correct config file on migration
* add e2e test
* Fix test
Co-authored-by: Cesar Avitia <cesar@cypress.io>
* fix: allow default support file to be TS
* test: with a ts support file
* refactor: duplicate hasTypeScript in migration
* move migration utils files
* rename functions that returns globs with globs
* fix(launchpad): Support migrating projects w/o pluginsFile (#19993)
* handle case of no plugins file
* fix readme
* style: add comments
* build: fix types
Co-authored-by: ElevateBart <ledouxb@gmail.com>
* fix types
* fix migration unit-tests
* fix: build for unit types
* fix shouldShowSteps unit tests
* fix: typo
* do not import from data-context in frontend test
* remove non-type import
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
Co-authored-by: Alejandro Estrada <estrada9166@gmail.com>
Co-authored-by: ElevateBart <ledouxb@gmail.com>
* fix(unify): Updating reporter to use consistent preferred editor dialog
Migrating helpers and initial tests to app from existing runner specs
* Simplifying reporter tests around IDE launch
* It'd help to open the stack trace
* Scoping util hooks
* Removing unnecessary spec project files
* Removing socket emit assertions from system test validation
* Condensing components further to better control tooltip presentation
* Updating runnables usage
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
* develop:
fix: correct reference branch / commitSha in performance-reporter (#19941)
test: Honeycomb system-test reporter (#19855)
fix(deps): update dependency engine.io to v5.2.1 [security]
feat: Retain fileName when working with aliased fixtures and files (#19820)
Update release-process.md
Update release-process.md
Update release-process.md
Update release-process.md
Update release-process.md
Update release-process.md
Phrasing
Updating release guide with findings from 9.3.0 release snafu
add link to the video how to report Cypress bug