diff --git a/web/src/lib/components/asset-viewer/ActivityViewer.svelte b/web/src/lib/components/asset-viewer/ActivityViewer.svelte index 01c970e627..7bdf172966 100644 --- a/web/src/lib/components/asset-viewer/ActivityViewer.svelte +++ b/web/src/lib/components/asset-viewer/ActivityViewer.svelte @@ -56,6 +56,8 @@ let previousAssetId: string | undefined = $state(assetId); let message = $state(''); let isSendingMessage = $state(false); + let scrollContainer: HTMLElement | undefined = $state(); + let hasScrolledToBottom = false; const isAlbumOwner = $derived(albumUsers[0].user.id === authManager.user.id); const timeOptions: Intl.DateTimeFormatOptions = { @@ -101,6 +103,14 @@ $effect(() => { if (assetId && previousAssetId !== assetId) { previousAssetId = assetId; + hasScrolledToBottom = false; + } + }); + + $effect(() => { + if (scrollContainer && activityManager.activities.length > 0 && !hasScrolledToBottom) { + hasScrolledToBottom = true; + scrollContainer.scrollTop = scrollContainer.scrollHeight; } }); @@ -128,6 +138,7 @@ {#if innerHeight}