diff --git a/desktop/src/imports.ts b/desktop/src/imports.ts
index 1cb37d83..3f6c8440 100644
--- a/desktop/src/imports.ts
+++ b/desktop/src/imports.ts
@@ -6,3 +6,5 @@ import '@fontsource/poppins/600.css';
import 'overlayscrollbars/overlayscrollbars.css';
import 'virtual:uno.css';
import './globals.css';
+
+export * as bridge from './bindings';
diff --git a/desktop/src/index.tsx b/desktop/src/index.tsx
index f6a1e051..dc4a4767 100644
--- a/desktop/src/index.tsx
+++ b/desktop/src/index.tsx
@@ -12,17 +12,15 @@ import SettingsRoot from '~ui/pages/settings/SettingsRoot';
import BrowserRoot from '~ui/pages/browser/BrowserRoot';
import { initAppInfo } from '~utils/program-info';
-export * as bridge from './bindings';
-
-initAppInfo()
- .then(() => {
- render(() => (
-
-
-
- } />
- } />
- } />
-
- ), document.getElementById('root') as HTMLElement);
- });
+(async () => {
+ await initAppInfo();
+ render(() => (
+
+
+
+ } />
+ } />
+ } />
+
+ ), document.getElementById('root') as HTMLElement);
+})();
diff --git a/desktop/src/ui/hooks/useCluster.tsx b/desktop/src/ui/hooks/useCluster.tsx
index 2b85cd26..d45ee4d2 100644
--- a/desktop/src/ui/hooks/useCluster.tsx
+++ b/desktop/src/ui/hooks/useCluster.tsx
@@ -1,7 +1,7 @@
import { type Context, type ParentProps, type Resource, Show, createContext, useContext } from 'solid-js';
import useCommand from './useCommand';
import type { Cluster } from '~bindings';
-import { bridge } from '~index';
+import { bridge } from '~imports';
const ClusterContext = createContext() as Context;
diff --git a/desktop/src/ui/hooks/useSettings.tsx b/desktop/src/ui/hooks/useSettings.tsx
index 7e241748..898a4153 100644
--- a/desktop/src/ui/hooks/useSettings.tsx
+++ b/desktop/src/ui/hooks/useSettings.tsx
@@ -1,7 +1,7 @@
import { type Context, type ParentProps, type Resource, Show, createContext, createEffect, useContext } from 'solid-js';
import useCommand from './useCommand';
import type { Settings } from '~bindings';
-import { bridge } from '~index';
+import { bridge } from '~imports';
const SettingsContext = createContext() as Context;
diff --git a/desktop/src/ui/pages/Home.tsx b/desktop/src/ui/pages/Home.tsx
index 917094e8..b6a848f3 100644
--- a/desktop/src/ui/pages/Home.tsx
+++ b/desktop/src/ui/pages/Home.tsx
@@ -17,7 +17,7 @@ import TextField from '../components/base/TextField';
import ClusterCover from '~ui/components/game/ClusterCover';
import type { Cluster } from '~bindings';
import useCommand from '~ui/hooks/useCommand';
-import { bridge } from '~index';
+import { bridge } from '~imports';
import { upperFirst } from '~utils/string';
// TODO: Replace this into it's own component
diff --git a/desktop/src/ui/pages/settings/SettingsRoot.tsx b/desktop/src/ui/pages/settings/SettingsRoot.tsx
index f4154b3b..9906f856 100644
--- a/desktop/src/ui/pages/settings/SettingsRoot.tsx
+++ b/desktop/src/ui/pages/settings/SettingsRoot.tsx
@@ -13,8 +13,6 @@ import SettingsChangelog from './about/SettingsChangelog';
import AnimatedRoutes from '~ui/components/AnimatedRoutes';
import ErrorBoundary from '~ui/components/ErrorBoundary';
import Tooltip from '~ui/components/base/Tooltip';
-import { bridge } from '~index';
-import useCommand from '~ui/hooks/useCommand';
import { AppInfo } from '~utils/program-info';
function SettingsRoutes() {
diff --git a/desktop/src/utils/program-info.ts b/desktop/src/utils/program-info.ts
index e8e9d328..56bc2aa4 100644
--- a/desktop/src/utils/program-info.ts
+++ b/desktop/src/utils/program-info.ts
@@ -1,10 +1,23 @@
import type { ProgramInfo } from '~bindings';
-import { bridge } from '~index';
+import { bridge } from '~imports';
// eslint-disable-next-line import/no-mutable-exports -- because yes
-export let AppInfo!: ProgramInfo;
+export let AppInfo: ProgramInfo = {
+ launcher_version: 'err',
+ tauri_version: 'err',
+ webview_version: 'err',
+ platform: 'err',
+ arch: 'err',
+ dev_build: false,
+};
+
export default AppInfo;
export async function initAppInfo() {
- AppInfo = await bridge.commands.getProgramInfo();
+ try {
+ AppInfo = await bridge.commands.getProgramInfo();
+ }
+ catch (err) {
+ console.error(err);
+ }
}