diff --git a/apps/app-frontend/src/composables/useJavaTest.ts b/apps/app-frontend/src/composables/useJavaTest.ts index c5209db8de8..448854454c6 100644 --- a/apps/app-frontend/src/composables/useJavaTest.ts +++ b/apps/app-frontend/src/composables/useJavaTest.ts @@ -1,14 +1,14 @@ import { ref } from 'vue' import { trackEvent } from '@/helpers/analytics' -import { test_jre } from '@/helpers/jre.js' +import { get_jre, test_jre } from '@/helpers/jre.js' export default function useJavaTest() { const testingJava = ref(false) const javaTestResult = ref(null) let testDebounceTimer: ReturnType | null = null - async function runJavaTest(path: string, version: number, track = true) { + async function runJavaTest(path: string, version: number | null, track = true) { if (testDebounceTimer) { clearTimeout(testDebounceTimer) testDebounceTimer = null @@ -19,7 +19,8 @@ export default function useJavaTest() { } testingJava.value = true try { - javaTestResult.value = await test_jre(path, version) + javaTestResult.value = + version === null ? !!(await get_jre(path)) : await test_jre(path, version) } catch { javaTestResult.value = false } @@ -30,7 +31,7 @@ export default function useJavaTest() { } } - function testJavaInstallationDebounced(path: string, version: number, delay = 600) { + function testJavaInstallationDebounced(path: string, version: number | null, delay = 600) { if (testDebounceTimer) clearTimeout(testDebounceTimer) if (!path) { javaTestResult.value = null @@ -39,7 +40,7 @@ export default function useJavaTest() { testDebounceTimer = setTimeout(() => runJavaTest(path, version, false), delay) } - async function testJavaInstallation(path: string, version: number, track = false) { + async function testJavaInstallation(path: string, version: number | null, track = false) { await runJavaTest(path, version, track) } diff --git a/apps/app-frontend/src/pages/instance/components/settings-modal/java-settings.vue b/apps/app-frontend/src/pages/instance/components/settings-modal/java-settings.vue index 8050e44c685..49868d84774 100644 --- a/apps/app-frontend/src/pages/instance/components/settings-modal/java-settings.vue +++ b/apps/app-frontend/src/pages/instance/components/settings-modal/java-settings.vue @@ -62,19 +62,21 @@ let hasInitialized = false watch( javaTestPath, (newPath) => { - if (newPath && optimalJava?.parsed_version) { + if (newPath) { if (!hasInitialized) { - testJavaInstallation(newPath, optimalJava?.parsed_version, false) + testJavaInstallation(newPath, null, false) hasInitialized = true } else { - testJavaInstallationDebounced(newPath, optimalJava?.parsed_version) + testJavaInstallationDebounced(newPath, null) } } }, { immediate: true }, ) -const javaDetectionModal = ref<{ show: (version: number, current: object) => void } | null>(null) +const javaDetectionModal = ref<{ show: (version: number | null, current: object) => void } | null>( + null, +) async function handleBrowseJava() { const result = await open({ multiple: false }) @@ -84,7 +86,7 @@ async function handleBrowseJava() { } function handleDetectJava() { - javaDetectionModal.value?.show(optimalJava?.parsed_version, { path: javaPath.value }) + javaDetectionModal.value?.show(null, { path: javaPath.value }) } const overrideJavaArgs = ref((instance.value.extra_launch_args?.length ?? 0) > 0) @@ -262,9 +264,6 @@ const messages = defineMessages({
- Java {{ optimalJava?.parsed_version }}