From d76ff39766409d9240191b58b699e5f4ec9afa2f Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" <70410625+michael-s-molina@users.noreply.github.com> Date: Mon, 25 Sep 2023 17:39:06 -0300 Subject: [PATCH] fix: Workaround for Cypress ECONNRESET error (#25399) --- .../cypress-base/cypress.config.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/superset-frontend/cypress-base/cypress.config.ts b/superset-frontend/cypress-base/cypress.config.ts index 1d2c3baf49600..7340830bf0016 100644 --- a/superset-frontend/cypress-base/cypress.config.ts +++ b/superset-frontend/cypress-base/cypress.config.ts @@ -38,6 +38,23 @@ export default defineConfig({ // We've imported your old cypress plugins here. // You may want to clean this up later by importing these. setupNodeEvents(on, config) { + // ECONNRESET on Chrome/Chromium 117.0.5851.0 when using Cypress <12.15.0 + // Check https://github.com/cypress-io/cypress/issues/27804 for context + // TODO: This workaround should be removed when upgrading Cypress + on('before:browser:launch', (browser, launchOptions) => { + if (browser.name === 'chrome' && browser.isHeadless) { + // eslint-disable-next-line no-param-reassign + launchOptions.args = launchOptions.args.map(arg => { + if (arg === '--headless') { + return '--headless=new'; + } + + return arg; + }); + } + return launchOptions; + }); + // eslint-disable-next-line global-require,import/extensions return require('./cypress/plugins/index.js')(on, config); },