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

chore: remove app.allowRendererProcessReuse and BrowserWindow affinity options #26874

Merged
merged 1 commit into from Apr 21, 2021

Conversation

MarshallOfSound
Copy link
Member

As in title and notes, this is going to be a multiple step process and it'll take a decent amount of refactoring to remove the patch files that we actually want to remove. But this is step 1 "remove the public API".

Notes: Removed the deprecated app.allowRendererProcessReuse and BrowserWindow affinity options

@nornagon
Copy link
Member

nornagon commented Dec 7, 2020

Would be good to note in the release notes that allowRendererProcessReuse is now always on.

Copy link
Member

@nornagon nornagon left a comment

Choose a reason for hiding this comment

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

needs docs/breaking-changes.

Copy link
Contributor

@miniak miniak left a comment

Choose a reason for hiding this comment

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

Looks good, except for missing breaking-changes as mentioned by @nornagon

Copy link
Member

@deepak1556 deepak1556 left a comment

Choose a reason for hiding this comment

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

Can we do the reverse order of removing the patches first and then flipping the public api bits.

Our custom navigation controller should not be used for process reuse mode and also the fork logic in the renderer client. This would ensure the right tests pass when the bits are flipped.

@MarshallOfSound
Copy link
Member Author

@deepak1556 Unfortunately not, there's a lot of logic that needs to be unwound here and the first thing we can (and need to) do is remove this public API. I'll write up an issue shortly outlining all the work that still needs to happen, but this is a very tangled mess and untangling it going to take a lot of time, refactoring and pull requests. Unfortunately the final step will be removing the patches.

@MarshallOfSound MarshallOfSound force-pushed the remove-allow-process-reuse branch 2 times, most recently from 1b832ad to 56143f8 Compare December 8, 2020 19:55
@deepak1556 deepak1556 dismissed their stale review December 8, 2020 19:56

discussed offline about required api changes before patch removal

@electron-cation electron-cation bot removed the new-pr 🌱 PR opened in the last 24 hours label Dec 14, 2020
@electron electron deleted a comment from hixio-mh Jan 7, 2021
@sentialx
Copy link
Contributor

Does it also mean that Electron will use Chromium's NavigationController instead of its own?

@MarshallOfSound
Copy link
Member Author

Does it also mean that Electron will use Chromium's NavigationController instead of its own?

Long term, yes

@nornagon
Copy link
Member

@MarshallOfSound 13.x is already in beta, are we sure we want to backport major breaking changes? Can this target 14.x instead?

@MarshallOfSound
Copy link
Member Author

13.x is already in beta, are we sure we want to backport major breaking changes? Can this target 14.x instead?

Eh sure. Not super attached to when it goes out, just want to get it into master so I can start destroying our frame host manager patch 😄

@@ -1426,19 +1426,6 @@ This is the user agent that will be used when no user agent is set at the
app has the same user agent. Set to a custom value as early as possible
in your app's initialization to ensure that your overridden value is used.

### `app.allowRendererProcessReuse`
Copy link
Member

Choose a reason for hiding this comment

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

we should mark this as deprecated in 13.x. did it already make it into docs/breaking-changes as a deprecation?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's definitely been deprecated since like, Electron 11. There's been a warning. I'm not sure if we put deprecations in breaking-changes. The default flip back in Electron 9 is in the breaking-changes list though.

Copy link
Member

Choose a reason for hiding this comment

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

image

We generally mark deprecations in the docs for a feature when we deprecate it, and for major things we put them in breaking changes too.

Copy link
Member Author

Choose a reason for hiding this comment

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

Hm, I'll put a PR back into 13-x-y to add the @depreacted tag

Copy link
Member

@samuelmaddock samuelmaddock left a comment

Choose a reason for hiding this comment

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

API LGTM

@MarshallOfSound MarshallOfSound merged commit 79077f6 into master Apr 21, 2021
@release-clerk
Copy link

release-clerk bot commented Apr 21, 2021

Release Notes Persisted

Removed the deprecated app.allowRendererProcessReuse and BrowserWindow affinity options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants