[No QA] Add workaround for white screen in Electron#58623
Conversation
|
@kubabutkiewicz Looks good! Is there any way to test this to simulate a crash? |
|
|
||
| // Handle renderer process crashes by relaunching the app | ||
| browserWindow.webContents.on('render-process-gone', (event, detailed) => { | ||
| console.debug('App crashed'); |
There was a problem hiding this comment.
@kubabutkiewicz I wonder if we could do with logging this to the server via Log.info? That way we'd catch the crash quicker than relying on someone reporting and then finding the logs locally.
|
@jjcoffee I used |
|
Thanks! I'll give this a test tomorrow. |
Reviewer Checklist
Screenshots/VideosMacOS: Desktopdesktop-app-2025-03-20_14.29.34.mp4 |
| app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])}); | ||
| app.exit(0); | ||
| } | ||
| Log.info('App crashed render-process-gone'); |
There was a problem hiding this comment.
@yuwenmemon Just double-checking you agree with using Log.info here - my understanding is this will get sent to the server, so it'll be easier to track crashes down?
There was a problem hiding this comment.
That's correct. You may even want to use warn in this case if it's not expected.
| app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])}); | ||
| app.exit(0); | ||
| } | ||
| Log.info('App crashed render-process-gone'); |
There was a problem hiding this comment.
| Log.info('App crashed render-process-gone'); | |
| Log.info('Desktop App crashed with "render-process-gone"'); |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/yuwenmemon in version: 9.1.17-0 🚀
|
|
🚀 Deployed to production by https://github.com/cristipaval in version: 9.1.17-1 🚀
|
Explanation of Change
Fixed Issues
$#50002
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop
https://github.com/user-attachments/assets/54f1f55b-1602-435a-aa5a-4dc84d390a39