diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 9e5d680ecf..1e3bd4597b 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -10,7 +10,7 @@ "build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js", "build-storybook": "pnpm build-storybook-pre && storybook build", "chromatic": "chromatic", - "test": "vitest --run", + "test": "vitest --run --globals", "test-and-coverage": "vitest --run --coverage --globals", "typecheck": "vue-tsc --noEmit", "eslint": "eslint --quiet \"src/**/*.{ts,vue}\"", diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 30bc0f5219..c1b3e371ab 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -210,12 +210,16 @@ export async function common(createVue: () => App) { if (defaultStore.state.keepScreenOn) { if ('wakeLock' in navigator) { - navigator.wakeLock.request('screen'); - - document.addEventListener('visibilitychange', async () => { - if (document.visibilityState === 'visible') { - navigator.wakeLock.request('screen'); - } + navigator.wakeLock.request('screen') + .then(() => { + document.addEventListener('visibilitychange', async () => { + if (document.visibilityState === 'visible') { + navigator.wakeLock.request('screen'); + } + }); + }) + .catch(() => { + // If Permission fails on an AppleDevice such as Safari }); } }