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

Update electron artifacts to v19.0.4. Add Apple Silicon support #106

Merged
merged 12 commits into from
Jun 17, 2022

Conversation

IanButterworth
Copy link
Contributor

@IanButterworth IanButterworth commented Jun 9, 2022

This updates to electron v19.0.4 via davidanthoff/ElectronBuilder#5

I released the tarballs on my fork to test CI here. That will need changing back once CI passes and that PR is released.

Fixes #103
Fixes #104
Fixes #105

Other notable changes:

  • set julia compat at 1.6 as I believe the MacOS aarch64 binaryplatform option errors on older versions
  • as of electron 12.0 electronjs.org/docs/breaking-changes contextIsolation should be false to allow node to be used within the created windows
  • fixed a typo for retval
  • replaced the deprecated dep URIParser with URIs. Is the way I switchedescape for escapeuri ok?
  • It seems like the relative path URI("file://test.html") test form was silently not showing the page on previous Electron.jl version tests. I switched it out to an absolute path

Remaining issues

I see the following upstream bug warning locally on Intel MacOS

     Testing Running tests...
objc[58946]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x7ffa43d0b318) and /Users/ian/.julia/artifacts/7a9ac683a7092d064df9498f0da88ee625042b77/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x10946ece0). One of the two will be used. Which one is undefined.
objc[58960]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x7ffa43d0b318) and /Users/ian/.julia/artifacts/7a9ac683a7092d064df9498f0da88ee625042b77/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x113eb8ce0). One of the two will be used. Which one is undefined.
objc[58970]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x7ffa43d0b318) and /Users/ian/.julia/artifacts/7a9ac683a7092d064df9498f0da88ee625042b77/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x10806dce0). One of the two will be used. Which one is undefined.
Test Summary: | Pass  Total
Electron      |   19     19
     Testing Electron tests passed

M1 MacOS (thanks @giordano)

     Testing Running tests...
objc[907]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x218f37808) and /Users/mose/.julia/artifacts/b91d2dd029bdfd4a6954cf64c062b25550be1a29/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x105305348). One of the two will be used. Which one is undefined.
objc[917]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x218f37808) and /Users/mose/.julia/artifacts/b91d2dd029bdfd4a6954cf64c062b25550be1a29/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x105505348). One of the two will be used. Which one is undefined.
objc[927]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x218f37808) and /Users/mose/.julia/artifacts/b91d2dd029bdfd4a6954cf64c062b25550be1a29/Julia.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib (0x1077bd348). One of the two will be used. Which one is undefined.
Test Summary: | Pass  Total  Time
Electron      |   19     19  4.3s
     Testing Electron tests passed

On ubuntu CI this error is spammed

[1852:0610/024759.386335:ERROR:bus.cc(398)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

but locally on ubuntu I don't see any errors:

     Testing Running tests...
Test Summary: | Pass  Total
Electron      |   19     19
     Testing Electron tests passed 

I believe it's because the ubuntu runner needs GLFW

@IanButterworth IanButterworth changed the title Update electron artifacts to v19.0.4 Update electron artifacts to v19.0.4. Add Apple Silicon support Jun 9, 2022
@IanButterworth IanButterworth mentioned this pull request Jun 11, 2022
@IanButterworth
Copy link
Contributor Author

@davidanthoff I think this is looking good to me now.

If you agree and you'd like me to handle releasing davidanthoff/ElectronBuilder#5 and this PR, feel free to give me the necessary rights on the two repos

@IanButterworth
Copy link
Contributor Author

Bump 🙏

@davidanthoff
Copy link
Owner

Is the way I switched escape for escapeuri ok?

Good question ;) As far as I can tell, the docs for the encoding methods in URIs.jl are wrong and I don't fully understand the logic of the design there... But if tests pass, lets go with it for now.

We have a custom, new implementation for uris in the LS (https://github.com/julia-vscode/LanguageServer.jl/tree/master/src/URIs2), at some point we'll probably move that into its own package, and at that point I'll probably switch this package here over. But no rush, URIs2 probably needs a bit more work first.

@davidanthoff davidanthoff merged commit 4f73967 into davidanthoff:master Jun 17, 2022
@IanButterworth IanButterworth deleted the ib/update_electron branch June 17, 2022 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants