diff --git a/apps/ui/src/lib/store.ts b/apps/ui/src/lib/store.ts index 8834782a4..0656ada54 100644 --- a/apps/ui/src/lib/store.ts +++ b/apps/ui/src/lib/store.ts @@ -70,7 +70,10 @@ export const features = readable({ }); export const location: Writable = writable(null) -export const setLocation = (resource: any) => { +export const setLocation = (resource: any, settings?: any) => { + if (resource.settings.isBot) { + return location.set(`http://${settings.ipv4}:${resource.exposePort}`) + } if (GITPOD_WORKSPACE_URL && resource.exposePort) { const { href } = new URL(GITPOD_WORKSPACE_URL); const newURL = href diff --git a/apps/ui/src/routes/applications/[id]/__layout.svelte b/apps/ui/src/routes/applications/[id]/__layout.svelte index e5b15bd97..85f8001d2 100644 --- a/apps/ui/src/routes/applications/[id]/__layout.svelte +++ b/apps/ui/src/routes/applications/[id]/__layout.svelte @@ -127,18 +127,14 @@ $status.application.loading = false; $status.application.initialLoading = false; } + onDestroy(() => { $status.application.initialLoading = true; $location = null; clearInterval(statusInterval); }); onMount(async () => { - setLocation(application); - console.log(settings) - if (application.settings.isBot) { - $location = `${settings.ipv4}:${application.exposePort}`; - console.log($location) - } + setLocation(application, settings); $status.application.isRunning = false; $status.application.isExited = false; $status.application.loading = false; diff --git a/apps/ui/src/routes/applications/[id]/index.svelte b/apps/ui/src/routes/applications/[id]/index.svelte index beca53500..fbdeb43f8 100644 --- a/apps/ui/src/routes/applications/[id]/index.svelte +++ b/apps/ui/src/routes/applications/[id]/index.svelte @@ -5,7 +5,8 @@ if (stuff?.application?.id) { return { props: { - application: stuff.application + application: stuff.application, + settings: stuff.settings } }; } @@ -26,6 +27,7 @@