-
Notifications
You must be signed in to change notification settings - Fork 717
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 electron to v8.2.1 #1589
Conversation
Thanks for trying this and for the nice summary! :)
I don't think that's an issue.
What you did seems good.
Sounds good. It would be interesting to try to build the app as a standalone executable. We should get some people to test it, to be sure there is no major bugs on the all 3 OSes :) |
Tried, works on Linux. Tested preview games, debugger, export to Android and Linux. |
Another thing: Following are the new warnings I get on starting the app after Electron upgrade:
The first warning is because The second warning comes from here. The new API for |
I'm not sure. Can't find it.
The API doc is not very clear.
Speaking of this, these "protocols" are here to make Piskel/Jfxr work. Can you try to run Piskel in:
(you need to test both, because as you can see the protocal registration is different). Thanks for spotting this :) |
How do I cause the call to fail (I tried passing an invalid URL)? I tried the first option yesterday (returns |
I'm not sure how to make it fail :) But as the call returns |
I've fixed the protocol API warning, and another warning (
|
I just noticed another strange problem - the scroll in the Inspectors List in the Debugger has stopped working. The The Electron upgrade has caused this somehow since the scroll works fine on |
This is because the Chromium version was updated, and might have changes in the way flexbox is handled. Take a look at trying to use |
A rough outline of the structure:
The issue is that the I tried adding |
Unfortunately no, we don't want to have Line being able to set a scroll, it's not its job and make the component more complex while we should strive for simplicity. See if you can instead to simplify the markup (can you try remove Line, or remove Column, or both). Try a combination of this with maxHeight for column. See if you can use the |
Oh right, that worked right out of the box 😄 ! I removed the second Line, with I'll move on to upgrading the runtime Electron now. This ( |
Great!
Maybe we could do the update in another PR? But for testing, install and package with electron-builder an exported game. |
Okay, I'll do that in another PR. So now we can put up this PR for testing by other people, I guess. |
Alright!
Thanks for your work so far :) |
Okay, I'm on it. |
What about the dialog calls which were synchronous before this change (where callback argument was not provided and return value was used)? Should I refactor them to promises too? |
You can keep those sync - it's fair that the PR is just converting the calls of the callback based ones :) |
I would like to verify what is it exactly that you need me to test @NilayMajorwar? |
Sure, thanks a lot. Yeah, just test if there's anything that should be working but isn't. Just wait for a few minutes, I'm pushing another little commit. |
Sure, ping me whenever you are ready. |
Actually, never mind. I just found a serious issue that might take quite some time to solve 😅, so I guess testing will have to wait a bit more. Sorry! |
Ohh never mind, I am also working on an issue, so you gave me no trouble whatsoever :) |
@4ian This happens much more often actually - the app crashes even if I just go into the default @PawBud There's a known issue as mentioned above. I guess you can test the app for any other issues. What OS are you on, btw? |
Sorry, couldn't work on this, was a little busy today 😅 I've rebased the PR to remove the merge conflict. I'll squash it into a summary commit soon. Video works great after @Bouh's fix 😄 . Also, on a side note, I figured out where the |
Thanks for rebasing :) Don't worry about squashing commits, I always squash PR commits when merging them :)
Thanks for finding this! That's great. If there is nothing blocking I'll merge this and we'll use this Electron version for the next release. |
I don't think there's any other issue.. has this PR been tested on MacOS? |
I'll give it a try as soon as possible on macOS ;) |
I can't seem to reproduce the issue. Opened the edit window, cancelled, added a sprite and the file open dialog opens up fine, and I'm able to add the sprite. Nevertheless, I'll go through the related files and APIs to check for anything out of place. Is there any kind of error log to help in debugging this? |
Unfortunately the logs in the terminal seems not helpful :/ Though it was a good idea. @Bouh (or anyone else), can you confirm that you don't have the issue I explained here on Windows and Linux? Unfortunately this is a blocker until we find a way to solve this on macOS - I'll try to take a new look. Might even be an Electron bug - but that would be suprising? |
This issue isn't on windows. I can't test other OS. |
I tested this on Linux (Ubuntu 19.10). So yeah, I guess it's a MacOS-only issue. |
This is a bug in Electron: electron/electron#22833 - only in macOS. |
Oh, okay. So I should probably rollback the target Electron version to v8.0.3, then (hoping it does not bring up any other issue 😅 ) |
That's a solution - though it's a bit sad because loose a potential crash fix (electron/electron#17558) but well it's less important than just not working at all (though there is a risk of missing other bug fixes or having other issues as you mentionned 😬).. or we wait a little bit for an update containing the bug fix (not sure what the release schedule is for Electron). |
Turns out that the fix is already available in 8.2.1 :) https://github.com/electron/electron/releases/tag/v8.2.1 |
Oh, right! I thought this was fixed in v9.0.0-beta13, that's why I went for rollback. And what luck - looks like v8.2.1 was just released two days ago 😄 ! I'll push a commit for this right away. |
I'll merge this as there is no good reason to hold this giving that version 8.2.1 works on macOS :) |
This is a
wipPR for upgrading electron to v8.2.0 (issue #1469).Following are the relevant changes in Electron I noticed:
API change for
protocol.registerStandardSchemes
The function
protocol.registerStandardSchemes
has been renamed toprotocol.registerSchemesAsPrivileged
, with slight change in the argument format. Have accordingly changed the call while initializing the app.BrowserWindow
optionsThe default values of some options in
new BrowserWindow(options)
have changed (see here). I have accordingly changed the options we use to initialize the app.Dialog API
The API for file open (
dialog.showOpenDialog
) and file save (dialog.showSaveDialog
) pickers has changed from callback-based to promise-based, and a sync version of each has been introduced (see v7 changelog and v6 changelog). I have updated all the dialog calls in the codebase to the sync version, and it seems to work well - except for one Electron issue on Linux (not sure about other OSs):If you run the Electron app from the VSCode integrated terminal, open an object, try to add a new sprite for any animation, and in the file picker click on a folder from left pane, the app crashes with a segfault (here's the Electron issue). This happens for the the manual Windows/macOS/Linux export location picker too, and probably for some more pickers. Everything works fine when the app is run from a normal terminal window, though.
electron.asar
no longer existsI don't really understand this one, so I'll just mention this. v7 also removes
electron.asar
(see v7 changelog from above). I saw this file in the GDevelop production tarball downloaded from the website for Linux platform, so I wondered if this may cause a problem.I haven't tested the app completely though - just checked a few game previews, debugger and exported a game to Linux. Seems to work till now. I will continue to test the app to check for any other issues.
Task list: