diff --git a/web/src/lib/components/asset-viewer/detail-panel.svelte b/web/src/lib/components/asset-viewer/detail-panel.svelte
index c70b3c02f5..0ceafa37c0 100644
--- a/web/src/lib/components/asset-viewer/detail-panel.svelte
+++ b/web/src/lib/components/asset-viewer/detail-panel.svelte
@@ -52,7 +52,7 @@
}
}
- $: isOwner = $user.id === asset.ownerId;
+ $: isOwner = $user?.id === asset.ownerId;
$: {
// Get latest description from server
@@ -356,7 +356,7 @@
{/if}
- {:else if !asset.exifInfo?.dateTimeOriginal && !asset.isReadOnly && $user && asset.ownerId === $user.id}
+ {:else if !asset.exifInfo?.dateTimeOriginal && !asset.isReadOnly && isOwner}
@@ -519,7 +519,7 @@
{/if}
- {:else if !asset.exifInfo?.city && !asset.isReadOnly && $user && asset.ownerId === $user.id}
+ {:else if !asset.exifInfo?.city && !asset.isReadOnly && isOwner}
(isShowChangeLocation = true)}
diff --git a/web/src/lib/stores/websocket.ts b/web/src/lib/stores/websocket.ts
index 3bfa199cfd..fce8422ae3 100644
--- a/web/src/lib/stores/websocket.ts
+++ b/web/src/lib/stores/websocket.ts
@@ -2,6 +2,7 @@ import type { AssetResponseDto, ServerVersionResponseDto } from '@api';
import { Socket, io } from 'socket.io-client';
import { writable } from 'svelte/store';
import { loadConfig } from './server-config.store';
+import { getAuthUser } from '$lib/utils/auth';
export interface ReleaseEvent {
isAvailable: boolean;
@@ -23,12 +24,17 @@ export const websocketStore = {
let websocket: Socket | null = null;
-export const openWebsocketConnection = () => {
+export const openWebsocketConnection = async () => {
try {
if (websocket) {
return;
}
+ const user = await getAuthUser();
+ if (!user) {
+ return;
+ }
+
websocket = io('', {
path: '/api/socket.io',
reconnection: true,