diff --git a/PROJECT.md b/PROJECT.md index 8e89940..5b7b1da 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -430,12 +430,16 @@ screen (`#vs`, `index.html` + THE LOBBY in `main.js`); the protocol underneath i the kit/tour selection `start()` performs is already done when the `look` message reads it. Two more hooks join `intoSplatter`: `room` (the code landed) and `lost` (returns true when the lobby said so itself, which is what suppresses the card). Headless leaves them null. -- **SHARE THE LINK, then the code.** `navigator.share` is the phone's own sheet — the friend is in - WhatsApp, not in a room reading letters aloud — with `clipboard.writeText` as the desktop - fallback and the four letters still big on screen for when they are in the same room. The link is - the URL door that already existed (`#net-ABCD`): it opens the lobby with the code prefilled, - ONE tap from the court. Deliberately not an auto-join — that tap is where the joiner sees, and - can change, the name the other phone will call them. +- **SEND THE CODE — and no link (settled same day).** `navigator.share` is the phone's own sheet — + the friend is in WhatsApp, not in a room reading letters aloud — with `clipboard.writeText` as + the desktop fallback. It shipped as SHARE THE LINK for an hour and the link came straight back + out: **a URL only opens the INSTALLED app on Android** (the manifest's scope covers the site, so + its WebAPK claims these URLs), while **an iOS home-screen app can claim nothing**, so on an + iPhone the invitation opened a second copy of the game in Safari — its own storage, none of the + name they picked in the app. Four letters typed into the app they already have is the honest + version until this is a real app with universal links; the `#net-ABCD` door still exists and is + exactly what a deep link will carry the day there is one, nothing merely sends it now. That door + prefills the lobby rather than auto-joining, so the joiner still sees the name they will wear. - **ONE NAME PER PLAYER.** The field is prefilled from `stats.savedName()` and written back through the new `stats.saveName` (which `submit` now shares), so the world board's name and the netplay name cannot become two things. It crosses on the EXISTING `look` message as `n` — no new message diff --git a/index.html b/index.html index 54cc79a..8bb4ed0 100644 --- a/index.html +++ b/index.html @@ -567,7 +567,7 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') {
····
- +WAITING FOR THEM TO JOIN