diff --git a/src/main/util.ts b/src/main/util.ts index d354d5c1a35efbe322b982e9ba54553945a45362..6d1c00964de27b22c8d0b2ddcba6712c2cd62e3e 100644 --- a/src/main/util.ts +++ b/src/main/util.ts @@ -314,7 +314,7 @@ export async function checkIfCondaEnvironmentExists() { if (error) { response.status = 'error'; response.message = 'Conda environment check failed.'; - response.data = { stdout: '', stderr: stderr.toString() }; + response.data = { stdout: stdout?.toString(), stderr: stderr.toString() }; console.log('Conda environment check failed.'); return response; } @@ -330,8 +330,11 @@ export async function checkIfCondaEnvironmentExists() { stdout.includes(env_path) && fs.existsSync(path.join(root_dir, 'envs', 'transformerlab')) ) { - return true; + response.status = 'success'; + return response; } else { + response.status = 'error'; + response.message = 'Conda environment "transformerlab" not found.'; return false; } } diff --git a/src/renderer/components/Connect/LocalConnection.tsx b/src/renderer/components/Connect/LocalConnection.tsx index c938d46bc48bf0287d3c18f918f9fca2873af743..8a3450039e1ff960307048a3346708d8f76372e2 100644 --- a/src/renderer/components/Connect/LocalConnection.tsx +++ b/src/renderer/components/Connect/LocalConnection.tsx @@ -521,6 +521,7 @@ function CheckIfCondaInstalled({ activeStep, setActiveStep }) { function CheckIfCondaEnvironmentExists({ activeStep, setActiveStep }) { const [installStatus, setInstallStatus] = useState(''); // notstarted, pending, success, error + const [errorMessage, setErrorMessage] = useState(null); useEffect(() => { if (activeStep !== Steps.indexOf('CHECK_IF_CONDA_ENVIRONMENT_EXISTS')) @@ -530,11 +531,16 @@ function CheckIfCondaEnvironmentExists({ activeStep, setActiveStep }) { const condaExists = await window.electron.ipcRenderer.invoke( 'server:checkIfCondaEnvironmentExists' ); - if (condaExists) { + console.log(JSON.stringify(condaExists)); + if (condaExists?.status == 'success') { setInstallStatus('success'); setActiveStep(Steps.indexOf('CHECK_IF_CONDA_ENVIRONMENT_EXISTS') + 1); } else { setInstallStatus('notstarted'); + setErrorMessage({ + message: condaExists?.message, + data: condaExists?.data, + }); } })(); }, [activeStep]); @@ -567,12 +573,18 @@ function CheckIfCondaEnvironmentExists({ activeStep, setActiveStep }) { const condaExists = await window.electron.ipcRenderer.invoke( 'server:checkIfCondaEnvironmentExists' ); - if (condaExists) { + if (condaExists?.status == 'success') { setInstallStatus('success'); setActiveStep( Steps.indexOf('CHECK_IF_CONDA_ENVIRONMENT_EXISTS') + 1 ); return; + } else { + setInstallStatus('error'); + setErrorMessage({ + message: condaExists?.message, + data: condaExists?.data, + }); } setIntervalXTimes( async () => { @@ -580,12 +592,18 @@ function CheckIfCondaEnvironmentExists({ activeStep, setActiveStep }) { await window.electron.ipcRenderer.invoke( 'server:checkIfCondaEnvironmentExists' ); - if (condaExists) { + if (condaExists?.status == 'success') { setInstallStatus('success'); setActiveStep( Steps.indexOf('CHECK_IF_CONDA_ENVIRONMENT_EXISTS') + 1 ); return true; + } else { + setInstallStatus('error'); + setErrorMessage({ + message: condaExists?.message, + data: condaExists?.data, + }); } return false; }, @@ -599,6 +617,12 @@ function CheckIfCondaEnvironmentExists({ activeStep, setActiveStep }) { </Button> </ButtonGroup> )} + <Typography level="body-sm" color="warning"> + {errorMessage?.message} + </Typography> + <Typography level="body-sm" color="neutral"> + {errorMessage?.data?.stdout} {errorMessage?.data?.stderr} + </Typography> </Stack> </> );