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

Features extending instance hooks #952

Open
PixelBedrock opened this issue Dec 21, 2023 · 3 comments
Open

Features extending instance hooks #952

PixelBedrock opened this issue Dec 21, 2023 · 3 comments
Labels
app Relates to Modrinth App enhancement New feature or request

Comments

@PixelBedrock
Copy link
Contributor

Is your suggested enhancement related to a problem? Please describe.

Modrinth doesn't give any documentation towards the hooks for instances. My test script fails with error code 2 with zero logging from within the Modrinth app itself, except for the toast telling me it failed with error code 2.

Describe the solution you'd like

Some documentation towards the hooks and environment variables (or command line args) provided by Modrinth for the instance to use. I have provided some example images from MultiMC for reference towards what I would like to be added to Modrinth.

image

image

Describe alternatives you've considered

I have attempted to create a script that tells me what environment variables and command line arguments are available, but fails with error code 2 with zero explanation from the Modrinth app. The script works perfectly fine outside of Modrinth, but refuses to run and exits with error code 2 when used as a hook.

Additional context

N/A, all screenshots and context have been included above.

@PixelBedrock PixelBedrock added the enhancement New feature or request label Dec 21, 2023
@PixelBedrock PixelBedrock changed the title Features towards extending instance hooks Features extending instance hooks Dec 21, 2023
@EchoEllet
Copy link

That's usually because those environment variables might not be supported yet or have a different name than the other launchers.

@Prospector
Copy link
Member

I believe the hooks in the Modrinth App currently don't support any variables, they're basically just triggers for running commands. They probably can be made more powerful in the future

@EchoEllet
Copy link

It seems that this feature request is already in the TODO list in code:

if let Some(hook) = pre_launch_hooks {
// TODO: hook parameters
let mut cmd = hook.split(' ');
if let Some(command) = cmd.next() {
let full_path = path.get_full_path().await?;
let result = Command::new(command)
.args(&cmd.collect::<Vec<&str>>())
.current_dir(&full_path)
.spawn()
.map_err(|e| IOError::with_path(e, &full_path))?
.wait()
.await
.map_err(IOError::from)?;
if !result.success() {
return Err(crate::ErrorKind::LauncherError(format!(
"Non-zero exit code for pre-launch hook: {}",
result.code().unwrap_or(-1)
))
.as_error());
}
}
}

@Minenash Minenash added the app Relates to Modrinth App label Aug 29, 2024
Geometrically added a commit that referenced this issue Oct 16, 2024
* Fix subscriptions edge case

* prep
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Relates to Modrinth App enhancement New feature or request
Development

No branches or pull requests

4 participants