Skip to content

Commit e1ed8af

Browse files
committed
[UI] add openreplay support; fix issue with search in model configs list (#866)
1 parent a3061e3 commit e1ed8af

6 files changed

Lines changed: 107 additions & 3 deletions

File tree

services/app/.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ OWL_URL="http://localhost:6969"
66
PUBLIC_JAMAI_URL=""
77
PUBLIC_ADMIN_ORGANIZATION_ID="0"
88

9+
# Openreplay
10+
PUBLIC_OPENREPLAY_INGEST_URL=""
11+
PUBLIC_OPENREPLAY_PROJECT_KEY=""
12+
913
# Auth config
1014
AUTH_SECRET="changeme"
1115

services/app/package-lock.json

Lines changed: 59 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"@fontsource-variable/roboto-flex": "^5.0.15",
7979
"@formkit/auto-animate": "^0.8.1",
8080
"@monaco-editor/loader": "^1.5.0",
81+
"@openreplay/tracker": "^17.0.1",
8182
"@stripe/stripe-js": "^3.5.0",
8283
"@tailwindcss/container-queries": "^0.1.1",
8384
"auth0": "^4.4.0",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import Tracker from '@openreplay/tracker';
2+
3+
const key = Symbol('openreplay tracker');
4+
5+
export interface TrackerContext {
6+
getTracker: () => Tracker | undefined;
7+
}
8+
9+
export { Tracker, key };

services/app/src/routes/(main)/system/models/(components)/ModelCatalogue.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@
289289
</p>
290290
</div>
291291
{:else}
292-
{#each paginatedConfigs as modelConfig (modelConfig.id)}
292+
{#each paginatedConfigs as modelConfig}
293293
<ModelConfigCard
294294
{modelConfig}
295295
{currentPage}

services/app/src/routes/+layout.svelte

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<script lang="ts">
2-
import { onMount } from 'svelte';
3-
import { browser } from '$app/environment';
2+
import { env } from '$env/dynamic/public';
3+
import { onMount, setContext, getContext } from 'svelte';
4+
import { browser, dev } from '$app/environment';
45
import { beforeNavigate, afterNavigate } from '$app/navigation';
56
import NProgress from 'nprogress';
67
import '../app.css';
78
import 'overlayscrollbars/overlayscrollbars.css';
89
import '@fontsource-variable/roboto-flex';
10+
import { key, Tracker, type TrackerContext } from '$lib/tracker';
911
import { showDock, showRightDock, preferredTheme, activeOrganization } from '$globalStore';
1012
1113
import * as Tooltip from '$lib/components/ui/tooltip';
@@ -70,6 +72,20 @@
7072
// });
7173
7274
onMount(() => {
75+
if (env.PUBLIC_OPENREPLAY_INGEST_URL && env.PUBLIC_OPENREPLAY_PROJECT_KEY) {
76+
const tracker = new Tracker({
77+
ingestPoint: env.PUBLIC_OPENREPLAY_INGEST_URL,
78+
projectKey: env.PUBLIC_OPENREPLAY_PROJECT_KEY,
79+
__DISABLE_SECURE_MODE: dev
80+
});
81+
82+
setContext<TrackerContext>(key, {
83+
getTracker: () => tracker
84+
});
85+
86+
tracker.start();
87+
}
88+
7389
//* Reflect changes to user preference for immediately
7490
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (event) => {
7591
if ($preferredTheme == 'SYSTEM') {
@@ -82,6 +98,21 @@
8298
});
8399
});
84100
101+
$effect(() => {
102+
const tracker = getContext<TrackerContext>(key)?.getTracker();
103+
if (tracker) {
104+
if (data.user) {
105+
tracker?.setUserID(data.user.id);
106+
tracker?.setMetadata('email', data.user.email);
107+
tracker?.setMetadata('name', data.user.name);
108+
} else {
109+
tracker?.setUserID('');
110+
tracker?.setMetadata('email', '');
111+
tracker?.setMetadata('name', '');
112+
}
113+
}
114+
});
115+
85116
// function switchTheme(e: KeyboardEvent) {
86117
// const target = e.target as HTMLElement;
87118
// if (

0 commit comments

Comments
 (0)