fix: prevent crash on reload when window/webContents destroyed (#1380) #1389
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
✨ Pull Request
📓 Referenced Issue
Fixes: #1380
ℹ️ About the PR
This PR adds a defensive check before triggering a reload action in the Electron menu handler to prevent a crash when the window or its webContents are already destroyed.
This bug mainly affects macOS (Command+R / View > Reload), where the user could receive a TypeError: Object has been destroyed error if the reload shortcut/menu is used in certain states.
The fix checks mainWindow and mainWindow.webContents for existence and not being destroyed before calling .reload() or sending the reload event.
This follows best practices for Electron apps, and keeps behavior unchanged for unaffected platforms (e.g., Windows).
🖼️ Testing Scenarios / Screenshots
On Windows, Ctrl+R and View > Reload continue to work as expected, and no errors are thrown.
While the original crash was reported on macOS, this change should prevent the uncaught exception for all platforms.
Please confirm on macOS that the bug is resolved.