davidanthoff / Electron.jl

Julia wrapper for Electron
Other
85 stars 19 forks source link

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

Closed IanButterworth closed 2 years ago

IanButterworth commented 2 years ago

This updates to electron v19.0.4 via https://github.com/davidanthoff/ElectronBuilder/pull/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:

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 commented 2 years ago

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

If you agree and you'd like me to handle releasing https://github.com/davidanthoff/ElectronBuilder/pull/5 and this PR, feel free to give me the necessary rights on the two repos

IanButterworth commented 2 years ago

Bump 🙏

davidanthoff commented 2 years ago

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.