diff --git a/Cargo.lock b/Cargo.lock index 5a62b679f..4fe344fbf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5655,12 +5655,14 @@ dependencies = [ "chrono", "cocoa 0.25.0", "daedalus", + "dashmap", "dirs", "futures", "lazy_static", "objc", "once_cell", "os_info", + "paste", "sentry", "sentry-rust-minidump", "serde", diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index d7404b1a9..d007db6bb 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -1,5 +1,5 @@ diff --git a/apps/app-frontend/src/components/ui/RunningAppBar.vue b/apps/app-frontend/src/components/ui/RunningAppBar.vue index 91372bcfd..ef5248373 100644 --- a/apps/app-frontend/src/components/ui/RunningAppBar.vue +++ b/apps/app-frontend/src/components/ui/RunningAppBar.vue @@ -23,7 +23,7 @@
- {{ selectedProfile.metadata.name }} + {{ selectedProfile.name }}
-
{{ profile.metadata.name }}
+
{{ profile.name }}
- diff --git a/apps/app-frontend/src/pages/Index.vue b/apps/app-frontend/src/pages/Index.vue index 521bcf5a5..4b902cd23 100644 --- a/apps/app-frontend/src/pages/Index.vue +++ b/apps/app-frontend/src/pages/Index.vue @@ -26,13 +26,13 @@ const offline = ref(await isOffline()) const getInstances = async () => { const profiles = await list(true).catch(handleError) recentInstances.value = Object.values(profiles).sort((a, b) => { - return dayjs(b.metadata.last_played ?? 0).diff(dayjs(a.metadata.last_played ?? 0)) + return dayjs(b.last_played ?? 0).diff(dayjs(a.last_played ?? 0)) }) let filters = [] for (const instance of recentInstances.value) { - if (instance.metadata.linked_data && instance.metadata.linked_data.project_id) { - filters.push(`NOT"project_id"="${instance.metadata.linked_data.project_id}"`) + if (instance.linked_data && instance.linked_data.project_id) { + filters.push(`NOT"project_id"="${instance.linked_data.project_id}"`) } } filter.value = filters.join(' AND ') @@ -105,6 +105,7 @@ onUnmounted(() => { label: 'Jump back in', route: '/library', instances: recentInstances, + instance: true, downloaded: true, }, { diff --git a/apps/app-frontend/src/pages/Settings.vue b/apps/app-frontend/src/pages/Settings.vue index f5f226609..8692714fb 100644 --- a/apps/app-frontend/src/pages/Settings.vue +++ b/apps/app-frontend/src/pages/Settings.vue @@ -22,8 +22,8 @@ const version = await getVersion() const accessSettings = async () => { const settings = await get() - settings.javaArgs = settings.custom_java_args.join(' ') - settings.envArgs = settings.custom_env_args.map((x) => x.join('=')).join(' ') + settings.launchArgs = settings.extra_launch_args.join(' ') + settings.envVars = settings.custom_env_vars.map((x) => x.join('=')).join(' ') return settings } @@ -31,7 +31,7 @@ const accessSettings = async () => { const fetchSettings = await accessSettings().catch(handleError) const settings = ref(fetchSettings) -const settingsDir = ref(settings.value.loaded_config_dir) +// const settingsDir = ref(settings.value.loaded_config_dir) const maxMemory = ref(Math.floor((await get_max_memory().catch(handleError)) / 1024)) watch( @@ -43,26 +43,26 @@ watch( const setSettings = JSON.parse(JSON.stringify(newSettings)) - if (setSettings.opt_out_analytics) { + if (setSettings.telemetry) { mixpanel_opt_out_tracking() } else { mixpanel_opt_in_tracking() } - for (const [key, value] of Object.entries(setSettings.java_globals)) { - if (value?.path === '') { - value.path = undefined - } - - if (value?.path) { - value.path = value.path.replace('java.exe', 'javaw.exe') - } - - console.log(`${key}: ${value}`) - } - - setSettings.custom_java_args = setSettings.javaArgs.trim().split(/\s+/).filter(Boolean) - setSettings.custom_env_args = setSettings.envArgs + // for (const [key, value] of Object.entries(setSettings.java_globals)) { + // if (value?.path === '') { + // value.path = undefined + // } + // + // if (value?.path) { + // value.path = value.path.replace('java.exe', 'javaw.exe') + // } + // + // console.log(`${key}: ${value}`) + // } + + setSettings.extra_launch_args = setSettings.launchArgs.trim().split(/\s+/).filter(Boolean) + setSettings.custom_env_vars = setSettings.envVars .trim() .split(/\s+/) .filter(Boolean) @@ -96,31 +96,31 @@ async function signInAfter() { credentials.value = await getCreds().catch(handleError) } -async function findLauncherDir() { - const newDir = await open({ - multiple: false, - directory: true, - title: 'Select a new app directory', - }) - - const writeable = await is_dir_writeable(newDir) - - if (!writeable) { - handleError('The selected directory does not have proper permissions for write access.') - return - } - - if (newDir) { - settingsDir.value = newDir - await refreshDir() - } -} - -async function refreshDir() { - await change_config_dir(settingsDir.value).catch(handleError) - settings.value = await accessSettings().catch(handleError) - settingsDir.value = settings.value.loaded_config_dir -} +// async function findLauncherDir() { +// const newDir = await open({ +// multiple: false, +// directory: true, +// title: 'Select a new app directory', +// }) +// +// const writeable = await is_dir_writeable(newDir) +// +// if (!writeable) { +// handleError('The selected directory does not have proper permissions for write access.') +// return +// } +// +// if (newDir) { +// settingsDir.value = newDir +// await refreshDir() +// } +// } +// +// async function refreshDir() { +// await change_config_dir(settingsDir.value).catch(handleError) +// settings.value = await accessSettings().catch(handleError) +// settingsDir.value = settings.value.loaded_config_dir +// }