From c268a4e217dbc8f6754a21bd7f51c95fd67e72a0 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Thu, 22 Aug 2024 17:12:31 +0200 Subject: [PATCH] refac: only activate wakelock in call mode --- .../chat/MessageInput/CallOverlay.svelte | 30 +++++++++++++++++++ src/routes/+layout.svelte | 30 ------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/lib/components/chat/MessageInput/CallOverlay.svelte b/src/lib/components/chat/MessageInput/CallOverlay.svelte index ac14cc74e..e239af541 100644 --- a/src/lib/components/chat/MessageInput/CallOverlay.svelte +++ b/src/lib/components/chat/MessageInput/CallOverlay.svelte @@ -28,6 +28,8 @@ export let chatId; export let modelId; + let wakeLock = null; + let model = null; let loading = false; @@ -509,6 +511,34 @@ }; onMount(async () => { + const setWakeLock = async () => { + try { + wakeLock = await navigator.wakeLock.request('screen'); + } catch (err) { + // The Wake Lock request has failed - usually system related, such as battery. + console.log(err); + } + + if (wakeLock) { + // Add a listener to release the wake lock when the page is unloaded + wakeLock.addEventListener('release', () => { + // the wake lock has been released + console.log('Wake Lock released'); + }); + } + }; + + if ('wakeLock' in navigator) { + await setWakeLock(); + + document.addEventListener('visibilitychange', async () => { + // Re-request the wake lock if the document becomes visible + if (wakeLock !== null && document.visibilityState === 'visible') { + await setWakeLock(); + } + }); + } + model = $models.find((m) => m.id === modelId); startRecording(); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f042fa8a9..7ab2f2e0b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -38,8 +38,6 @@ let loaded = false; const BREAKPOINT = 768; - let wakeLock = null; - onMount(async () => { theme.set(localStorage.theme); @@ -54,34 +52,6 @@ window.addEventListener('resize', onResize); - const setWakeLock = async () => { - try { - wakeLock = await navigator.wakeLock.request('screen'); - } catch (err) { - // The Wake Lock request has failed - usually system related, such as battery. - console.log(err); - } - - if (wakeLock) { - // Add a listener to release the wake lock when the page is unloaded - wakeLock.addEventListener('release', () => { - // the wake lock has been released - console.log('Wake Lock released'); - }); - } - }; - - if ('wakeLock' in navigator) { - await setWakeLock(); - - document.addEventListener('visibilitychange', async () => { - // Re-request the wake lock if the document becomes visible - if (wakeLock !== null && document.visibilityState === 'visible') { - await setWakeLock(); - } - }); - } - let backendConfig = null; try { backendConfig = await getBackendConfig();