diff --git a/frontend/src/lib/components/Awareness.svelte b/frontend/src/lib/components/Awareness.svelte
new file mode 100644
index 0000000000..8923983c5f
--- /dev/null
+++ b/frontend/src/lib/components/Awareness.svelte
@@ -0,0 +1,19 @@
+
+
+
+ {#each Object.entries($awarenessStore ?? {}).filter(([a, b]) => b == url && a != $userStore?.username) as [user, _]}
+
+ {user.substring(0, 2).toLocaleUpperCase()}
+
+ {/each}
+
diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte
index 886dcca4e9..3f7b37a624 100644
--- a/frontend/src/lib/components/Editor.svelte
+++ b/frontend/src/lib/components/Editor.svelte
@@ -210,7 +210,9 @@
})
} catch (e) {
console.log('initServices failed', e.message)
+ return
}
+
function createLanguageClient(
transports: MessageTransports,
name: string,
diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte
index ae1c4da00a..fb1a01beeb 100644
--- a/frontend/src/lib/components/FlowBuilder.svelte
+++ b/frontend/src/lib/components/FlowBuilder.svelte
@@ -1,7 +1,7 @@
+
+
diff --git a/frontend/src/lib/stores.ts b/frontend/src/lib/stores.ts
index bd9d6ca3aa..ced46e3503 100644
--- a/frontend/src/lib/stores.ts
+++ b/frontend/src/lib/stores.ts
@@ -18,6 +18,7 @@ export interface UserExt {
const persistedWorkspace = BROWSER && localStorage.getItem('workspace')
+export const awarenessStore = writable>(undefined)
export const enterpriseLicense = writable(undefined)
export const workerTags = writable(undefined)
export const usageStore = writable(0)
diff --git a/frontend/src/routes/(root)/(logged)/+layout.svelte b/frontend/src/routes/(root)/(logged)/+layout.svelte
index e915fae012..da4b55edf7 100644
--- a/frontend/src/routes/(root)/(logged)/+layout.svelte
+++ b/frontend/src/routes/(root)/(logged)/+layout.svelte
@@ -16,7 +16,14 @@
import WorkspaceMenu from '$lib/components/sidebar/WorkspaceMenu.svelte'
import SidebarContent from '$lib/components/sidebar/SidebarContent.svelte'
- import { starStore, superadmin, usageStore, userStore, workspaceStore } from '$lib/stores'
+ import {
+ enterpriseLicense,
+ starStore,
+ superadmin,
+ usageStore,
+ userStore,
+ workspaceStore
+ } from '$lib/stores'
import CenteredModal from '$lib/components/CenteredModal.svelte'
import { afterNavigate, beforeNavigate, goto } from '$app/navigation'
import UserSettings from '$lib/components/UserSettings.svelte'
@@ -26,6 +33,7 @@
import FavoriteMenu from '$lib/components/sidebar/FavoriteMenu.svelte'
import { SUPERADMIN_SETTINGS_HASH, USER_SETTINGS_HASH } from '$lib/components/sidebar/settings'
import { isCloudHosted } from '$lib/cloud'
+ import MultiplayerMenu from '$lib/components/sidebar/MultiplayerMenu.svelte'
OpenAPI.WITH_CREDENTIALS = true
let menuOpen = false
@@ -215,6 +223,9 @@
+ {#if $enterpriseLicense}
+
+ {/if}
@@ -251,6 +262,9 @@
+ {#if $enterpriseLicense}
+
+ {/if}
diff --git a/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte b/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte
index 36e3ca235f..37a364e5d1 100644
--- a/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte
+++ b/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte
@@ -71,7 +71,7 @@
workspaces = $userWorkspaces
}
}
- $: list_all_as_super_admin != undefined && handleListWorkspaces()
+ $: list_all_as_super_admin != undefined && $userWorkspaces && handleListWorkspaces()
$: adminsInstance = workspaces?.find((x) => x.id == 'admins')