Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to the latest version of Electron #3568

Closed
chrisbreiding opened this issue Feb 22, 2019 · 32 comments · Fixed by #4720
Closed

Upgrade to the latest version of Electron #3568

chrisbreiding opened this issue Feb 22, 2019 · 32 comments · Fixed by #4720
Assignees
Labels
type: breaking change Requires a new major release version type: chore Work is required w/ no deliverable to end user

Comments

@chrisbreiding
Copy link
Contributor

chrisbreiding commented Feb 22, 2019

Currently, Cypress uses Electron 2.0.18. The latest stable release is 6.0.4. This will bring along features and breaking changes from 2.x, 3.x, and 4.x. The biggest changes that will affect users are:

As part of this upgrade, we should also enable the right-click context menu in the Electron browser. It was disabled due to an issue in the previous version that caused Cypress to crash, but is likely fixed now.

Related:

@mitar
Copy link

mitar commented Mar 3, 2019

Do you think you could explore also flags I mention #3633 as you are upgrading to new Electron/Chrome? Since Chrome 65 there is an option --disable-dev-shm-usage which would fix issues when running Cypress inside Docker. I think with upgrade to new Electron this option becomes available.

@benmonro
Copy link

i got here by clicking on 3 separate issues "closing in favor of <link to 2.0 update>" => "closing in favor of <link to 3.0 update>" => "closing in favor of <link to this 4.x update>"

in the meantime, cypress is using electron browser on version 59. is there any way I can force it to use a newer build of electron?

As it stands right now, I get an error that only seems to happen in older chromium builds: Cookie length should be less than or equal to 4096 characters. from a service I don't control. is there either A) a work around for that or B) a work around for that?

thanks in advance
-Ben

@jennifer-shehane
Copy link
Member

@benmonro Please read this issue in response to your question #3228

@benmonro
Copy link

@jennifer-shehane thank you for that but then I can't run headless in CI right?

@brandonb927
Copy link

@benmonro You can use the Cypress Docker images in CI for a particular version of Chrome https://github.com/cypress-io/cypress-docker-images

@miniak
Copy link

miniak commented Apr 1, 2019

I am one of the Electron maintainers. Do you need any help with the update? Electron 1.8 is not supported anymore. You should move to a supported version if possible. Electron 3 (Chromium 66) could be an option as well as it still supports OS X 10.9.

@miniak
Copy link

miniak commented Apr 1, 2019

You should also target the latest Electron 4 release, which is 4.1.3 at this time, to make sure you have all the latest security fixes.

@bahmutov
Copy link
Contributor

bahmutov commented Apr 2, 2019

Thank you @miniak for the offer, @chrisbreiding is there a way we can use Milan's expertise to help out?

@chrisbreiding
Copy link
Contributor Author

@miniak Any help would be greatly appreciated. I'm incrementally upgrading Electron and working to fix issues along the way. There are many failing tests related to upgrading to Electron 3, a lot because of EPIPE and ECONNRESET errors. Do you have any ideas what could be the root cause?

Thanks for the tip about the latest version. We'll make sure we're on the latest before we get this merged.

@chrisbreiding chrisbreiding changed the title Upgrade to Electron 4.0.5 Upgrade to the latest version of Electron Apr 2, 2019
@miniak
Copy link

miniak commented Apr 3, 2019

Those failing tests could be caused by upgraded Node.js inside of Electron

@joeljeske
Copy link

Any update on this? I would very much like to use the latest version.

@eliranskyline
Copy link

eliranskyline commented May 28, 2019

after upgrading to the latest cypress version (v3.3.1), Electron v61 does not support mapbox.js.
The thing is, that it used to work until mapbox.js have upgraded their library.
are you guys planning on fixing this issue any time soon?
tnx

@cypress-bot cypress-bot bot added the stage: ready for work The issue is reproducible and in scope label May 31, 2019
@Swatinem
Copy link

Now that electron has a predictable release cycle (https://electronjs.org/blog/12-week-cadence), I hope that makes it easier for all the tools built on it to keep up.

@shinobi64
Copy link

Some es6 syntax breaks in latest cypress. Is there an ETA on when an alpha or something will be available?

see the same Object.keys({}).values() worked with cypress 3.2.0 but breaks at least with cypress 3.4.0 (switch from electron 59 to electron 61)

@cookiescrumbs
Copy link

I hope the irony of this problem isn't lost on anyone.

@leonardoj-cit
Copy link

Is there any eta on this update?
There is a key part of my application that does not work on electron right now, only on chrome. I am assuming that is because of their version :(

Any ideas how could I by pass this while this is not updated? Or anyway that I could investigate this further? I see no logs on console, the page simply does not open

@trygveaa
Copy link

trygveaa commented Aug 9, 2019

@leonardoj-cit: As a workaround, you can run Cypress against a separate Chrome installation. See https://docs.cypress.io/guides/guides/launching-browsers.html#Browsers

@jennifer-shehane
Copy link
Member

This will go out as soon as all of our tests pass in this PR: #4720 (comment)

There is a checklist of tasks that need to be completed. I would love an ETA just like everyone else would. We could throw out a date, but giving an estimate for how long it will take us to solve problems we don't even know the cause of is just going to be wrong.

@mabedan
Copy link

mabedan commented Aug 10, 2019 via email

@leonardoj-cit
Copy link

leonardoj-cit commented Aug 12, 2019

@trygveaa that is true, but I cannot run that headless =(

@jennifer-shehane thanks for the update, I understand and I will keep an eye on it. I was just curious, no pressure on my side =D

@trygveaa
Copy link

trygveaa commented Aug 12, 2019

@leonardoj-cit: Yeah, you can. See https://developers.google.com/web/updates/2017/04/headless-chrome and https://developers.google.com/web/updates/2017/06/headless-karma-mocha-chai

Edit: Hm, or maybe it doesn't work with Cypress, I see that #832 is open.

@cypress-bot cypress-bot bot added stage: work in progress and removed stage: ready for work The issue is reproducible and in scope labels Aug 13, 2019
@cypress-bot cypress-bot bot added stage: needs review The PR code is done & tested, needs review and removed stage: work in progress labels Sep 12, 2019
@cypress-bot cypress-bot bot added stage: pending release and removed stage: needs review The PR code is done & tested, needs review labels Sep 24, 2019
@cypress-bot
Copy link
Contributor

cypress-bot bot commented Sep 24, 2019

The code for this is done in cypress-io/cypress#4720, but has yet to be released.
We'll update this issue and reference the changelog when it's released.

@leonardoj-cit
Copy link

Hey guys, first of all, thanks so much for all the hard work on this.
How is the plan to release this?
Is there any way that I can point to a version that has that already and start using?

@cypress-bot
Copy link
Contributor

cypress-bot bot commented Oct 23, 2019

Released in 3.5.0.

@janakdr
Copy link

janakdr commented Nov 16, 2019

Hi, is there a tracking bug for upgrading to the next version of Electron? It looks like 5.0.1 was released 6 months ago. What is the expected cadence going forward for Electron releases? I understand it's a whole lot of grunge work, but just curious if there is a plan. Thanks!

(I'm particularly interested in getting Chromium up to at least v74.)

@jennifer-shehane
Copy link
Member

@janakdr We're using nearly the latest version of Electron in our latest version. Please update. PR for newer update here #6085

@cypress-io cypress-io locked as resolved and limited conversation to collaborators Jan 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: breaking change Requires a new major release version type: chore Work is required w/ no deliverable to end user
Projects
None yet
Development

Successfully merging a pull request may close this issue.