diff --git a/src/lib/components/chat/Settings/SyncStatsModal.svelte b/src/lib/components/chat/Settings/SyncStatsModal.svelte index d0095b8727..4633921c78 100644 --- a/src/lib/components/chat/Settings/SyncStatsModal.svelte +++ b/src/lib/components/chat/Settings/SyncStatsModal.svelte @@ -16,7 +16,7 @@ const i18n = getContext('i18n'); export let show = false; - export let params = {}; + export let eventData = null; let loading = false; let completed = false; @@ -26,14 +26,20 @@ const syncStats = async () => { if (window.opener) { window.opener.focus(); - window.opener.postMessage({ type: 'sync:start' }, '*'); + window.opener.postMessage( + { type: 'sync:start', requestId: eventData?.requestId ?? null }, + '*' + ); } const res = await getVersion(localStorage.token).catch(() => { return null; }); if (res) { - window.opener.postMessage({ type: 'sync:version', data: res }, '*'); + window.opener.postMessage( + { type: 'sync:version', data: res, requestId: eventData?.requestId ?? null }, + '*' + ); } loading = true; @@ -43,7 +49,11 @@ let allItemsLoaded = false; while (!allItemsLoaded) { - const res = await exportChatStats(localStorage.token, page, params).catch(() => { + const res = await exportChatStats( + localStorage.token, + page, + eventData?.searchParams ?? {} + ).catch(() => { return null; }); @@ -53,7 +63,10 @@ if (window.opener) { if (res.items.length > 0) { - window.opener.postMessage({ type: 'sync:stats:chats', data: res }, '*'); + window.opener.postMessage( + { type: 'sync:stats:chats', data: res, requestId: eventData?.requestId ?? null }, + '*' + ); } } else { console.log('No opener found to send stats back to.'); @@ -71,7 +84,10 @@ // send sync complete message if (window.opener) { - window.opener.postMessage({ type: 'sync:complete' }, '*'); + window.opener.postMessage( + { type: 'sync:complete', requestId: eventData?.requestId ?? null }, + '*' + ); } loading = false; completed = true; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e91d136574..c7bb8c5c50 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -90,8 +90,9 @@ let tokenTimer = null; let showRefresh = false; + let showSyncStatsModal = false; - let syncStatsParams = {}; + let syncStatsEventData = null; let heartbeatInterval = null; @@ -613,7 +614,7 @@ } if (event.data === 'export:stats' || event.data?.type === 'export:stats') { - syncStatsParams = event.data?.searchParams ?? {}; + syncStatsEventData = event.data; showSyncStatsModal = true; } }; @@ -886,7 +887,7 @@ {/if} {#if $config?.features.enable_community_sharing} - + {/if}