diff --git a/COWORK.md b/COWORK.md index f114aa9..9ac3435 100644 --- a/COWORK.md +++ b/COWORK.md @@ -51,6 +51,31 @@ dans **`docs/routine-watch-runbook-mac.md`** (archi, étapes, débogage). - Côté backend `coach_sportif` : **déjà en prod** (`/api/routine`, `/api/routine/check`, `/api/routine/day`, `data/routine_log.json`). +## 🔗 Universal Links (2026-08-06, dev — non compilé) + +Constat : **aucun** `.widgetURL` ne ramenait dans l'app. La Live Activity +(`CoachLiveActivityWidget`), les deux widgets iPhone (`CoachWidgets` → `/calendar` +et `/forme`) et les deux complications Watch pointent tous sur des URL +`https://coach.hypnotruck.ch/…`, mais l'entitlement `associated-domains` était +absent et `/.well-known/apple-app-site-association` renvoyait 404 → **un tap +ouvrait Safari**, où le cookie d'auth injecté dans la WKWebView n'existe pas : +écran de login. + +- **Backend — déjà en prod** (commit `8ec0047`) : route AASA publique déclarant + `TZ2PVTRKNY.ch.hypnotruck.coach` sur `/live`, `/routine`, `/forme`, + `/calendar` (chemins énumérés un par un pour ne pas détourner + `/calendar.ics`), et `static/deeplink.js` qui écoute `appUrlOpen` et amène la + WebView sur le bon chemin — Capacitor ne le fait pas tout seul. +- **Côté ce repo** : `App.entitlements` gagne + `com.apple.developer.associated-domains = applinks:coach.hypnotruck.ch`. +- ⚠️ **Étape Mac** : ouvrir la cible **App** → *Signing & Capabilities* → + vérifier qu'**Associated Domains** apparaît avec `applinks:coach.hypnotruck.ch` + (l'entitlement est là, Xcode doit régénérer le profil ; si erreur de signing, + décocher/recocher *Automatically manage signing*). Puis rebuild. +- Effet attendu : tap sur la Live Activity → app → `/live` → la vue Liquid Glass + `CoachLiveView` s'ouvre d'elle-même (le JS de `/live` appelle + `openNativeLive`). C'est le point d'entrée qui manquait. + ## 👉 À reprendre - ✅ **Phase 4 login — FAIT & DÉPLOYÉ** (révocation Apple à la suppression de compte) : code complet côté backend `coach_sportif` (commit `5ae6e2d`) + clé `.p8` déployée sur le VPS prod (vérifié 2026-06-26). Rien à coder. Détails : `coach_sportif/COWORK.md`. - **iOS — bloqué Mac** : builder + uploader TestFlight le natif accumulé (login Apple+Google natif, watchOS live, HeartRateRangeAlert). Sur le Mac : `cd ~/coach-ios && git pull && npm install && npx cap sync ios && open ios/App/App.xcworkspace` → Clean Build Folder → Archive → Upload. diff --git a/ios/App/App/App.entitlements b/ios/App/App/App.entitlements index fb4b48c..1842b2b 100644 --- a/ios/App/App/App.entitlements +++ b/ios/App/App/App.entitlements @@ -16,5 +16,14 @@ group.ch.hypnotruck.coach + + com.apple.developer.associated-domains + + applinks:coach.hypnotruck.ch +