Repository navigation
Improve startup reliability and add opt-in lifecycle actions - #100
Merged
Merged
Conversation
added 3 commits
November 11, 2026 13:22
Launch the browser directly with CreateProcessW and close launch handles. Coordinate optional startup and exit commands across real browser owners so additional windows and forwarded URLs do not run commands twice. Expose the same settings in the bilingual embedded interface while keeping both commands disabled by default. Constraint: No upstream GPL implementation, new dependencies, persistent coordination files or implicit command shell Rejected: Unconditionally run actions in every main process | forwarded URLs and multiple profiles would duplicate actions Confidence: medium Scope-risk: moderate Tested: 16 WebUI regressions and 8 browser layout/language/theme combinations; native integration tests added Not-tested: Native process launch and lifecycle execution await Actions toolchain
…mmands safely Adopt real same-installation owners before deciding that the last browser exited, and let their later registration claim the existing record. Resolve executable names only through explicit application, system and absolute PATH directories so inherited working directories cannot select an unintended interpreter. Confidence: medium Scope-risk: narrow Tested: Added deterministic held-registration, adoption, forwarding and malicious-CWD regressions; Node syntax and diff checks Not-tested: New native cases await Actions compilation
Keep console-only startup and exit commands in the background while leaving GUI applications free to display their own windows. Tested: Added native helper assertion for no inherited or new console; script syntax and diff checks Scope-risk: narrow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Portable startup now uses CreateProcessW with explicit paths, correct quoting, no inherited handles and closed launch handles.
Add opt-in lifecycle actions in the INI and bilingual embedded settings page. The first real browser owner runs startup and the last normal owner runs exit; forwarded URLs and extra profiles do not duplicate commands. Restart ordering is coordinated in memory, and exit commands are waited on for at most three seconds without killing them.
Validation:
Defaults remain disabled. Commands require an explicit interpreter for scripts; no immediate-run UI is added. Crash/forced-termination exit actions are not guaranteed.