diff --git a/index.html b/index.html index 0020170..54cc79a 100644 --- a/index.html +++ b/index.html @@ -645,6 +645,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') { - + diff --git a/src/main.js b/src/main.js index b7f3b6e..d7c785a 100644 --- a/src/main.js +++ b/src/main.js @@ -193,11 +193,17 @@ vsCode.addEventListener('keydown', e => { if (e.key === 'Enter') vsGo(true); }); // SHARE, then COPY. navigator.share is the phone's own sheet (WhatsApp, Signal, wherever the // friend actually is) and is exactly the "easier setup" — the clipboard is the desktop fallback, // and the code stays on screen for the two of them in the same room reading it aloud. +// THE CODE RIDES THE MESSAGE, not just the link. An Android phone opens the link in the INSTALLED +// app (the manifest's scope covers the whole site, so its WebAPK claims these URLs) — but an iPhone +// home-screen app can claim nothing, so the link always opens in Safari, which keeps its own +// storage and therefore knows nothing about the name they picked inside the app. Four letters in +// the same message is the whole fix: a friend who has it installed opens their app and types them. document.getElementById('vsShare').addEventListener('click', async () => { - const url = vsLink(G.net && G.net.code || ''); + const code = G.net && G.net.code || ''; + const url = vsLink(code), text = 'COME AND PLAY ME — ROOM CODE ' + code; try { - if (navigator.share) await navigator.share({ title: 'SPLATTER TENNIS', text: 'COME AND PLAY ME', url }); - else { await navigator.clipboard.writeText(url); vsSay('vsMsg', 'LINK COPIED — SEND IT TO THEM'); } + if (navigator.share) await navigator.share({ title: 'SPLATTER TENNIS', text, url }); + else { await navigator.clipboard.writeText(text + ' ' + url); vsSay('vsMsg', 'COPIED — SEND IT TO THEM'); } } catch { /* a cancelled share sheet is not an error */ } }); const vsQuit = () => { endNetVs(); vsOpen(); }; // a room you walked out of must give its socket back