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

feat: UtilityProcess API #36089

Merged

Conversation

trop[bot]
Copy link
Contributor

@trop trop bot commented Oct 20, 2022

Backport of #34980

See that PR for details.

Notes: Added new UtilityProcess API to launch chromium child process with node integration

@trop trop bot requested a review from a team as a code owner October 20, 2022 05:50
@trop trop bot requested a review from deepak1556 October 20, 2022 05:50
@trop trop bot mentioned this pull request Oct 20, 2022
@trop trop bot added 22-x-y backport This is a backport PR backport/requested 🗳 semver/minor backwards-compatible functionality labels Oct 20, 2022
trop bot and others added 3 commits November 15, 2022 15:54
* chore: initial scaffolding

* chore: implement interface and docs

* chore: address code style review

* fix: cleanup of utility process on shutdown

* chore: simplify NodeBindings::CreateEnvironment

* chore: rename disableLibraryValidation => allowLoadingUnsignedLibraries

* chore: implement process.parentPort

* chore(posix): implement stdio pipe interface

* chore(win): implement stdio interface

* chore: reenable SetNodeOptions for utility process

* chore: add specs

* chore: fix lint

* fix: update kill API

* fix: update process.parentPort API

* fix: exit event

* docs: update exit event

* fix: tests on linux

* chore: expand on some comments

* fix: shutdown of pipe reader

Avoid logging since it is always the case that reader end of
pipe will terminate after the child process.

* fix: remove exit code check for crash spec

* fix: rm PR_SET_NO_NEW_PRIVS for unsandbox utility process

* chore: fix incorrect rebase

* fix: address review feedback

* chore: rename utility_process -> utility

* chore: update docs

* chore: cleanup c++ implemantation

* fix: leak in NodeServiceHost impl

* chore: minor cleanup

* chore: cleanup JS implementation

* chore: flip default stdio to inherit

* fix: some api improvements

* Support cwd option
* Remove path restriction for modulePath
* Rewire impl for env support

* fix: add tests for cwd and env option

* chore: alt impl for reading stdio handles

* chore: support message queuing

* chore: fix lint

* chore: new UtilityProcess => utilityProcess.fork

* fix: support for uncaught exception exits

* chore: remove process.execArgv as default

* fix: windows build

* fix: style changes

* fix: docs and style changes

* chore: update patches

* spec: disable flaky test on win32 arm CI

Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>

Co-authored-by: Robo <hop2deep@gmail.com>
@deepak1556 deepak1556 force-pushed the trop/22-x-y-bp-feat-utilityprocess-api-1666245009154 branch from 7405ff6 to ba01054 Compare November 15, 2022 08:36
Copy link
Member

@VerteDinde VerteDinde left a comment

Choose a reason for hiding this comment

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

Approved on behalf of @electron/wg-releases

@deepak1556 deepak1556 merged commit d843ae3 into 22-x-y Nov 17, 2022
@deepak1556 deepak1556 deleted the trop/22-x-y-bp-feat-utilityprocess-api-1666245009154 branch November 17, 2022 06:33
@release-clerk
Copy link

release-clerk bot commented Nov 17, 2022

Release Notes Persisted

Added new UtilityProcess API to launch chromium child process with node integration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
22-x-y backport/approved ✅ backport This is a backport PR semver/minor backwards-compatible functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants