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

[Tech] Update electron to version 26.2.1 #3053

Closed
wants to merge 1 commit into from
Closed

Conversation

arielj
Copy link
Collaborator

@arielj arielj commented Sep 17, 2023

This PR updates Electron to version 26.2.1.

I tested HBO Max as a sideloaded app and it works fine (I think that means the DRM is good?)
I tested logging into Epic and it works fine
I tested navigating stores and it works fine


Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

@arielj arielj added the pr:ready-for-review Feature-complete, ready for the grind! :P label Sep 17, 2023
@arielj arielj requested review from a team, flavioislima, CommandMC, Nocccer and imLinguin and removed request for a team September 17, 2023 00:28
@@ -468,7 +468,7 @@ ipcMain.on('unlock', () => {
unlinkSync(join(gamesConfigPath, 'lock'))
if (powerId) {
logInfo('Stopping Power Saver Blocker', LogPrefix.Backend)
return powerSaveBlocker.stop(powerId)
powerSaveBlocker.stop(powerId)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to change this cause typescript starts complaining about this function with electron 26 (not all code paths returned a value)

@Etaash-mathamsetty
Copy link
Member

Etaash-mathamsetty commented Sep 17, 2023

this introduces following issue:

Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at WebFrameMain.send (node:electron/js2c/browser_init:2:94847)
    at WebContents.send (node:electron/js2c/browser_init:2:80073)
    at sendFrontendMessage (/tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:1:3872)
    at /tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:2:14008
    at Array.forEach (<anonymous>)
    at Module.refresh$3 [as refresh] (/tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:2:13982)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.allSettled (index 1)
    at async /tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:191:9554
    at async WebContents.<anonymous> (node:electron/js2c/browser_init:2:89804)

@Etaash-mathamsetty
Copy link
Member

Etaash-mathamsetty commented Sep 17, 2023

cleared caches in ~/.config/heroic/ to fix above issue, now the following problem arises:
image

@imLinguin
Copy link
Member

I just tried the AppImage and don't have any issues, really not sure what's going on in your case @Etaash-mathamsetty

@Etaash-mathamsetty
Copy link
Member

I just tried the AppImage and don't have any issues, really not sure what's going on in your case @Etaash-mathamsetty

I'll try a new config home and see what happens

@imLinguin
Copy link
Member

the error message may hint a race condition of some sort

@Etaash-mathamsetty
Copy link
Member

Etaash-mathamsetty commented Sep 17, 2023

the error message may hint a race condition of some sort

this is probably some further evidence that somebody at google really can't code properly :/
(it doesn't work with a new config home either)

when using wayland, no image even shows up nvm tried again and it worked, but same white screen issue

not a renderer issue, software renderer leads to same problem

@arielj
Copy link
Collaborator Author

arielj commented Sep 17, 2023

hmmm weird, I tried with both with my usual config folder and a new clean one and I had no issues, would be interesting if you can do some debug on your end to know if it's something generic or maybe system-specific?

@arielj
Copy link
Collaborator Author

arielj commented Sep 17, 2023

is there any error in the chrome's dev tools? because the error you shared sounds like the frontend app doesn't start and then the sendFrontendMessage method fails, but seems like the issue is the chrome side not rendering things (maybe there's a dev tools error preventing that)

@Etaash-mathamsetty
Copy link
Member

Etaash-mathamsetty commented Sep 17, 2023

is there any error in the chrome's dev tools? because the error you shared sounds like the frontend app doesn't start and then the sendFrontendMessage method fails, but seems like the issue is the chrome side not rendering things (maybe there's a dev tools error preventing that)

dev tools disconnects, the chromium browser process is crashing internally somewhere

@Etaash-mathamsetty
Copy link
Member

this introduces following issue:

Error sending from webFrameMain:  Error: Render frame was disposed before WebFrameMain could be accessed
    at WebFrameMain.send (node:electron/js2c/browser_init:2:94847)
    at WebContents.send (node:electron/js2c/browser_init:2:80073)
    at sendFrontendMessage (/tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:1:3872)
    at /tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:2:14008
    at Array.forEach (<anonymous>)
    at Module.refresh$3 [as refresh] (/tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:2:13982)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.allSettled (index 1)
    at async /tmp/.mount_HeroicIUVNA6/resources/app.asar/build/electron/main.32a57070.js:191:9554
    at async WebContents.<anonymous> (node:electron/js2c/browser_init:2:89804)

this error has almost nothing to do with it actually

@arielj arielj added the pr:testing This PR is in testing, don't merge. label Sep 17, 2023
@arielj
Copy link
Collaborator Author

arielj commented Sep 17, 2023

maybe it's worth to try with other versions of electron? at least to identify when the problem starts, I went from 24.4.1 to 26.2.1, maybe some version in between works?

@Etaash-mathamsetty
Copy link
Member

Etaash-mathamsetty commented Sep 17, 2023

maybe it's worth to try with other versions of electron? at least to identify when the problem starts, I went from 24.4.1 to 26.2.1, maybe some version in between works?

electron 25 does not have this issue, but has another issue with gamepads and stuff

might be worth trying electron 27 too

@Etaash-mathamsetty
Copy link
Member

electron 27 works properly, but has the same controller navigation bug as electron 25, you can't navigate to the gamecards.

@arielj
Copy link
Collaborator Author

arielj commented Oct 14, 2023

closing in favor of #3136

@arielj arielj closed this Oct 14, 2023
@arielj arielj deleted the electron-26-2-1 branch December 16, 2023 17:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr:ready-for-review Feature-complete, ready for the grind! :P pr:testing This PR is in testing, don't merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants