fix: Settings desync between frontend and backend

This commit is contained in:
LynithDev 2024-12-15 18:47:12 +01:00
parent 4676ac2909
commit db55aaabfb
2 changed files with 6 additions and 2 deletions

View file

@ -17,6 +17,7 @@ interface SettingsControllerType {
settings: () => Settings;
saveOnLeave: (settings: () => Partial<Settings>) => void;
save: (settings: Settings) => Promise<void>;
refetch: () => void;
}
const SettingsContext = createContext() as Context<SettingsControllerType>;
@ -44,6 +45,7 @@ export function SettingsProvider(props: ParentProps) {
syncSettings(settings);
await refetch();
},
refetch,
};
if (getProgramInfo().dev_build)
@ -65,6 +67,8 @@ export function useSettings() {
if (!context)
throw new Error('useSettingsContext should be called inside its SettingsProvider');
context.refetch();
return context;
}

View file

@ -54,7 +54,7 @@ pub async fn install_java_from_major(java_version: u32) -> crate::Result<PathBuf
let package = packages
.into_iter()
.find(|p| p.java_version.contains(&java_version))
.ok_or(anyhow::anyhow!(
.ok_or_else(|| anyhow::anyhow!(
"Could not find a java package for version {}",
java_version
))?;
@ -65,7 +65,7 @@ pub async fn install_java_from_major(java_version: u32) -> crate::Result<PathBuf
#[onelauncher_macros::memory]
pub async fn install_java_from_package(download: JavaZuluPackage) -> crate::Result<PathBuf> {
let state = State::get().await?;
let java_version = *download.java_version.get(0).unwrap_or(&0);
let java_version = *download.java_version.first().unwrap_or(&0);
let ingress = init_ingress(
crate::IngressType::DownloadJava {