From 5bdddd7e2d6e774340d07024e1341588123f5b59 Mon Sep 17 00:00:00 2001 From: Alex9532 <101026269+Alex9532@users.noreply.github.com> Date: Sat, 20 Dec 2025 12:10:13 -0800 Subject: [PATCH 1/5] Add iOS permission request for motion events --- static/entrypoint.js | 1 + 1 file changed, 1 insertion(+) diff --git a/static/entrypoint.js b/static/entrypoint.js index 240990b6f..46020a89a 100644 --- a/static/entrypoint.js +++ b/static/entrypoint.js @@ -813,4 +813,5 @@ configureCustomKeys(loaderElement); // ignore } } +function()%7B(function%20()%20%7B%0A%20%20function%20isiOSPermissionRequired()%20%7B%0A%20%20%20%20return%20(%0A%20%20%20%20%20%20typeof%20DeviceMotionEvent%20!%3D%3D%20%22undefined%22%20%26%26%0A%20%20%20%20%20%20typeof%20DeviceMotionEvent.requestPermission%20%3D%3D%3D%20%22function%22%0A%20%20%20%20)%3B%0A%20%20%7D%0A%0A%20%20function%20requestPermissions()%20%7B%0A%20%20%20%20Promise.all(%5B%0A%20%20%20%20%20%20DeviceMotionEvent.requestPermission()%2C%0A%20%20%20%20%20%20DeviceOrientationEvent.requestPermission()%0A%20%20%20%20%5D)%0A%20%20%20%20%20%20.then((%5Bmotion%2C%20orientation%5D)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20console.log(%22Motion%3A%22%2C%20motion%2C%20%22Orientation%3A%22%2C%20orientation)%3B%0A%0A%20%20%20%20%20%20%20%20if%20(motion%20%3D%3D%3D%20%22granted%22%20%7C%7C%20orientation%20%3D%3D%3D%20%22granted%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20window.dispatchEvent(new%20Event(%22motion-permission-granted%22))%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%0A%20%20%20%20%20%20.catch(err%20%3D%3E%20console.error(err))%3B%0A%20%20%7D%0A%0A%20%20function%20createFullscreenTapLayer()%20%7B%0A%20%20%20%20const%20overlay%20%3D%20document.createElement(%22div%22)%3B%0A%0A%20%20%20%20overlay.style.position%20%3D%20%22fixed%22%3B%0A%20%20%20%20overlay.style.top%20%3D%20%220%22%3B%0A%20%20%20%20overlay.style.left%20%3D%20%220%22%3B%0A%20%20%20%20overlay.style.width%20%3D%20%22100vw%22%3B%0A%20%20%20%20overlay.style.height%20%3D%20%22100vh%22%3B%0A%20%20%20%20overlay.style.zIndex%20%3D%20%22999999%22%3B%0A%20%20%20%20overlay.style.background%20%3D%20%22rgba(0%2C0%2C0%2C0)%22%3B%20%2F%2F%20fully%20transparent%0A%20%20%20%20overlay.style.touchAction%20%3D%20%22manipulation%22%3B%0A%20%20%20%20overlay.style.cursor%20%3D%20%22pointer%22%3B%0A%0A%20%20%20%20overlay.addEventListener(%0A%20%20%20%20%20%20%22click%22%2C%0A%20%20%20%20%20%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20requestPermissions()%3B%0A%20%20%20%20%20%20%20%20overlay.remove()%3B%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7B%20once%3A%20true%20%7D%0A%20%20%20%20)%3B%0A%0A%20%20%20%20document.body.appendChild(overlay)%3B%0A%20%20%7D%0A%0A%20%20window.addEventListener(%22load%22%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20if%20(isiOSPermissionRequired())%20%7B%0A%20%20%20%20%20%20createFullscreenTapLayer()%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20window.dispatchEvent(new%20Event(%22motion-permission-granted%22))%3B%0A%20%20%20%20%7D%0A%20%20%7D)%3B%0A%7D)()%3B%7D)()%3B }()); From c49f15b8c33ddf6a1bf2fc3434cc45b5bd428e39 Mon Sep 17 00:00:00 2001 From: Alex9532 <101026269+Alex9532@users.noreply.github.com> Date: Sat, 20 Dec 2025 12:29:52 -0800 Subject: [PATCH 2/5] Fix baseurl to use correct port configuration --- serve.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serve.js b/serve.js index 72d049005..9977481d2 100755 --- a/serve.js +++ b/serve.js @@ -96,7 +96,7 @@ log(chalk.red(messages('santatracker')), `[${yargs.lang}]`); // nb. matches config in release.js -const baseurl = `http://127.0.0.1:${yargs.port + 80}/`; +const baseurl = `http://127.0.0.1:${yargs.port}/`; const config = { staticScope: `${baseurl}${yargs.prefix}/`, version: `dev-${(new Date).toISOString().replace(/[^\d]/g, '')}`, From 3e175f15aa887c7b33bd7888a7c5876f7c75d431 Mon Sep 17 00:00:00 2001 From: Alex9532 <101026269+Alex9532@users.noreply.github.com> Date: Sat, 20 Dec 2025 12:42:32 -0800 Subject: [PATCH 3/5] Fix port number in static server listen call --- serve.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serve.js b/serve.js index 9977481d2..315be2097 100755 --- a/serve.js +++ b/serve.js @@ -118,7 +118,7 @@ async function serve() { const staticServer = polka(); staticServer.use(yargs.prefix, vfsMiddleware(vfs, 'static'), staticHost); - await listen(staticServer, yargs.port + 80, yargs.all); + await listen(staticServer, yargs.port, yargs.all); log('Static', chalk.green(config.staticScope), yargs.all ? chalk.red('(on all interfaces)') : ''); const prodServer = polka(); From fe02dd743a4ddef6490ee86a6b3694545fa83767 Mon Sep 17 00:00:00 2001 From: Alex9532 <101026269+Alex9532@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:23:35 -0800 Subject: [PATCH 4/5] Change default port to 80 and adjust server listen --- serve.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serve.js b/serve.js index 315be2097..10b069669 100755 --- a/serve.js +++ b/serve.js @@ -35,7 +35,7 @@ const yargs = require('yargs') .option('port', { alias: 'p', type: 'number', - default: process.env.PORT || 8000, + default: process.env.PORT || 80, describe: 'Static port', }) .option('all', { @@ -118,7 +118,7 @@ async function serve() { const staticServer = polka(); staticServer.use(yargs.prefix, vfsMiddleware(vfs, 'static'), staticHost); - await listen(staticServer, yargs.port, yargs.all); + await listen(staticServer, yargs.port + 80, yargs.all); log('Static', chalk.green(config.staticScope), yargs.all ? chalk.red('(on all interfaces)') : ''); const prodServer = polka(); @@ -164,8 +164,8 @@ async function serve() { ); // Listen, copy and announce prod URL. - await listen(prodServer, yargs.port); - const prodURL = `http://localhost:${yargs.port}`; + await listen(prodServer, yargs.port + 00); + const prodURL = `http://localhost:${yargs.port + 00}`; const clipboardError = clipboardCopy(prodURL); const suffix = clipboardError ? chalk.red('(could not copy to clipboard)') : chalk.dim('(on your clipboard!)'); log('Prod', chalk.greenBright(prodURL), suffix); From a536bb7553c068b5a7979a99831b2f1a457350e3 Mon Sep 17 00:00:00 2001 From: Alex9532 <101026269+Alex9532@users.noreply.github.com> Date: Sat, 20 Dec 2025 13:33:09 -0800 Subject: [PATCH 5/5] Change default port from 80 to 8000 --- serve.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serve.js b/serve.js index 10b069669..315be2097 100755 --- a/serve.js +++ b/serve.js @@ -35,7 +35,7 @@ const yargs = require('yargs') .option('port', { alias: 'p', type: 'number', - default: process.env.PORT || 80, + default: process.env.PORT || 8000, describe: 'Static port', }) .option('all', { @@ -118,7 +118,7 @@ async function serve() { const staticServer = polka(); staticServer.use(yargs.prefix, vfsMiddleware(vfs, 'static'), staticHost); - await listen(staticServer, yargs.port + 80, yargs.all); + await listen(staticServer, yargs.port, yargs.all); log('Static', chalk.green(config.staticScope), yargs.all ? chalk.red('(on all interfaces)') : ''); const prodServer = polka(); @@ -164,8 +164,8 @@ async function serve() { ); // Listen, copy and announce prod URL. - await listen(prodServer, yargs.port + 00); - const prodURL = `http://localhost:${yargs.port + 00}`; + await listen(prodServer, yargs.port); + const prodURL = `http://localhost:${yargs.port}`; const clipboardError = clipboardCopy(prodURL); const suffix = clipboardError ? chalk.red('(could not copy to clipboard)') : chalk.dim('(on your clipboard!)'); log('Prod', chalk.greenBright(prodURL), suffix);