Skip to content

Wrap more into interactive startup updates in julialauncher - #1535

Open
xgdgsc wants to merge 3 commits into
JuliaLang:mainfrom
xgdgsc:feat/launcherREPLupdate
Open

Wrap more into interactive startup updates in julialauncher#1535
xgdgsc wants to merge 3 commits into
JuliaLang:mainfrom
xgdgsc:feat/launcherREPLupdate

Conversation

@xgdgsc

@xgdgsc xgdgsc commented Jun 12, 2026

Copy link
Copy Markdown
  • Introduced a new function run_startup_updates to handle both version database updates and self-updates when the launcher is invoked in interactive mode.
  • Modified the process for forking and executing the Julia process to ensure updates are only triggered in interactive sessions.
  • Added tests to verify that self-updates are correctly triggered in interactive mode and not in non-interactive invocations (e.g., julia -e).
  • Enhanced the test suite to simulate interactive terminal sessions for more accurate testing of the launcher behavior.

fix #1519

xgdgsc added 3 commits June 12, 2026 10:50
- Introduced a new function `run_startup_updates` to handle both version database updates and self-updates when the launcher is invoked in interactive mode.
- Modified the process for forking and executing the Julia process to ensure updates are only triggered in interactive sessions.
- Added tests to verify that self-updates are correctly triggered in interactive mode and not in non-interactive invocations (e.g., `julia -e`).
- Enhanced the test suite to simulate interactive terminal sessions for more accurate testing of the launcher behavior.
- Simplified the command construction for executing Julia in interactive mode by removing unnecessary conditional branching.
- Ensured that the command is consistently built using `Command::new("script")` for both macOS and other platforms.
- Improved readability and maintainability of the code by consolidating command argument handling.
- Simplified the logic for determining if the Julia launcher is running in interactive mode by clarifying the role of TTY access and the `-i` flag.
- Updated comments for better clarity on the conditions that define interactivity.
- Adjusted the `run_julia_interactive` test to directly invoke the Julia symlink without relying on `script`, improving cross-platform consistency and reliability.
@davidanthoff

Copy link
Copy Markdown
Collaborator

I don't agree with this approach. If version db and self-updates are configured to happen, then it should be triggered regardless of whether the launcher is started in interactive mode or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider changing self update defaults

2 participants