Commit Graph

  • 5f8f3edcd9 docs(cowork): checklist pré-App-Store — aps-environment production (audit sécu 2026-07-01) main Sylvain Bettinelli 2026-07-01 07:11:16 +00:00
  • e1adbbb61f fix(ios): robustesse bridge widget + Apple Sign-In Sylvain Bettinelli 2026-07-01 06:37:42 +00:00
  • ec975a9a0d docs(ios): corrige la note capacitor.config — fichier gitignored/généré, .ts déjà OK Sylvain Bettinelli 2026-06-29 09:20:14 +00:00
  • 4153446de2 fix(ios): lot 5 audit — réaligne capacitor.config.json sur le .ts (régression visuelle) Sylvain Bettinelli 2026-06-29 09:19:20 +00:00
  • cc88431f6b feat(watch): complications Apple Watch (Forme + Séance du jour) Sylvain Bettinelli 2026-06-29 05:50:29 +00:00
  • a6bdebcfc8 feat(widgets): widgets natifs iPhone (Séance du jour + Score de forme) Sylvain Bettinelli 2026-06-29 05:18:17 +00:00
  • edf3783fb5 docs: analyse migration iOS natif vs hybride (aide à la décision, ancrée inventaire réel) Sylvain Bettinelli 2026-06-29 05:05:14 +00:00
  • fe268a88d1 docs(cowork): Phase 4 révocation Apple FAIT & déployé prod; clarifie les blocages Mac/Android restants Sylvain Bettinelli 2026-06-26 07:04:35 +00:00
  • a5f418e7f0 docs: COWORK.md — coordination multi-Claude (git + workflow build) Sylvain Bettinelli 2026-06-05 06:59:10 +00:00
  • 728d7fb288 chore(ios): link GoogleSignIn to App target Sylvain 2026-06-05 08:42:31 +02:00
  • 120adbed26 chore(ios): GoogleSignIn SPM Sylvain 2026-06-05 08:38:47 +02:00
  • 622cc03692 feat(ios): GIDClientID + URL scheme (reversed client id) pour GoogleSignIn Sylvain Bettinelli 2026-06-05 06:20:24 +00:00
  • 947d76714e feat(ios): plugin natif Sign in with Google (CoachGoogleAuth) Sylvain Bettinelli 2026-06-05 06:15:17 +00:00
  • eee199a5ed fix(ios): enregistre le plugin CoachAppleAuth dans capacitorDidLoad Sylvain Bettinelli 2026-06-04 19:38:55 +00:00
  • c407aa8364 fix(workoutkit): efface les séances programmées avant d'en pousser une nouvelle Sylvain 2026-05-31 13:38:33 +02:00
  • bf975ce8e6 feat(ios): plugin natif Sign in with Apple (CoachAppleAuth) Sylvain Bettinelli 2026-06-04 19:05:52 +00:00
  • 585e1233db feat(workoutkit): pousse les zones cardiaques en plage BPM explicite (HeartRateRangeAlert) Sylvain 2026-05-31 12:11:27 +02:00
  • 5a1568ef2f perf(watchos-live): FC poussée en temps réel à chaque échantillon (throttle 2s -> envoi immédiat) Sylvain 2026-05-31 12:05:27 +02:00
  • 51cbce86ef docs(watchos): chantier CLOS — test E2E FC réelle Watch Ultra 3 -> /live PASSÉ (2026-05-31) Sylvain 2026-05-31 12:02:39 +02:00
  • 3bafecf5fc docs(watchos): re-vérif build green 2026-05-31 (App + Watch + Live Activity) Sylvain 2026-05-31 11:54:22 +02:00
  • a41a1b1aa9 feat(live-native): cardiac-aware zones temps réel dans CoachLiveView Sylvain 2026-05-28 11:39:16 +02:00
  • 98705981ba feat(ios): active allowsBackForwardNavigationGestures sur WKWebView Sylvain 2026-05-28 10:31:37 +02:00
  • fac7d95cd1 feat(healthkit): deleteWorkout dans CoachHealthRoute (supprime workout d'Apple Santé) Sylvain 2026-05-26 20:07:17 +02:00
  • 4484b3ea47 feat(live-activity): widgetURL -> tap ouvre /live (vue native CoachLiveView) Sylvain 2026-05-26 19:55:27 +02:00
  • a5795bf83f feat(live): Live Activity / Dynamic Island (WidgetKit extension iOS 16.2+/17+) Sylvain 2026-05-26 19:51:57 +02:00
  • f65d96e908 feat(live): vue native SwiftUI avec vrai Liquid Glass iOS 26 Sylvain 2026-05-26 18:05:21 +02:00
  • 3c0e266cdc chore(ios): recommended build settings (Xcode) + WKRunsIndependentlyOfCompanionApp=false Sylvain 2026-05-25 21:36:09 +02:00
  • b92e4d5ce6 docs: point 1 (/live nav) DÉPLOYÉ en prod (coach_sportif ecf334a) Sylvain 2026-05-25 21:06:54 +02:00
  • 5bb979d9bc docs(handoff): état fix /live (branche feat/live-nav-tab) + infra déploiement VPS Sylvain 2026-05-25 20:47:49 +02:00
  • 6a4e3f7768 docs: handoff backend /live (Mac->Linux) + pont watch->iPhone prouvé E2E Sylvain 2026-05-25 20:39:47 +02:00
  • 678b5a41d0 chore: logs os_log bout-en-bout (watch sendSample + iPhone liveSample) + hook AUTOSIM Sylvain 2026-05-25 20:37:03 +02:00
  • 9f0d90f563 chore(ios): log CoachLiveBridge à la réception d'un sample Watch Sylvain 2026-05-25 20:26:53 +02:00
  • 3ce8ca9e28 feat(watchos): mode Test (FC simulée) — valide le flux sans HealthKit Sylvain 2026-05-25 20:21:24 +02:00
  • fef7781db7 chore(watchos): renomme l'app watch en "Coach Watch" pour la distinguer dans Santé Sylvain 2026-05-25 20:03:44 +02:00
  • d1c1b88da4 feat(watchos): message clair si accès Santé refusé (au lieu de Error(7)) Sylvain 2026-05-25 19:54:48 +02:00
  • 6cb89359c6 chore(watchos): logs diagnostics séance (autorisation + erreur HK domaine/code) Sylvain 2026-05-25 19:50:56 +02:00
  • a4f8276b13 fix(watchos): empêche les sessions HK multiples + nettoie après échec/fin Sylvain 2026-05-25 19:47:17 +02:00
  • ef69240af2 chore(watchos): supprime le warning AccentColor manquant Sylvain 2026-05-25 19:15:09 +02:00
  • ae5ac7ec25 feat(watchos): AppIcon CoachWatch — prérequis TestFlight Sylvain 2026-05-25 19:09:23 +02:00
  • 0bd5d5c5f8 docs(watchos): avancement Phases 1-3 réalisées + deltas watchOS 26 Sylvain 2026-05-25 19:03:20 +02:00
  • 1cd96de7c6 fix(watchos): WKCompanionAppBundleIdentifier — l'app watch refusait de s'installer Sylvain 2026-05-25 18:59:07 +02:00
  • b2e9836b95 feat(ios): plugin Capacitor CoachLiveBridge (Phase 3) — relais WCSession -> /live Sylvain 2026-05-24 16:27:15 +02:00
  • 518529891b feat(watchos): UI live workout + entry point (Phase 2) Sylvain 2026-05-24 16:23:06 +02:00
  • 167c1e4c27 fix(watchos): WorkoutManager @MainActor — concurrency Swift 6 clean Sylvain 2026-05-24 16:22:17 +02:00
  • c6f5a7ffc9 feat(watchos): WorkoutManager (HKLiveWorkoutBuilder) — séance live + push iPhone Sylvain 2026-05-24 16:20:11 +02:00
  • 5864cfcbef feat(watchos): ConnectivityManager (WCSession) — envoi des samples vers l'iPhone Sylvain 2026-05-24 16:11:58 +02:00
  • 5d60a4049e feat(watchos): target CoachWatch (Phase 1) — app watchOS embarquée Sylvain 2026-05-24 16:09:37 +02:00
  • ec26ae0ca7 chore(ios): healthkit background-delivery + bump version 1.2 Sylvain 2026-05-24 15:50:25 +02:00
  • 6e4011db3f docs(watchos): plan technique + handoff Claude Code Mac mini Sylvain Bettinelli 2026-05-24 13:25:07 +00:00
  • f315c5471e feat(workout-observer): bypass @capgo via requestAllHealthPermissions Sylvain Bettinelli 2026-05-18 16:35:42 +00:00
  • 1393cc3dcf fix(ios26): contentInset 'never' (default) au lieu de 'always' Sylvain Bettinelli 2026-05-18 15:27:15 +00:00
  • 8134b843f7 fix(ui): désactive bounce iOS WKWebView (bottom tab bar semblait remonter) Sylvain Bettinelli 2026-05-18 14:42:57 +00:00
  • a21b067eac fix(workout-observer): HKAnchoredObjectQuery au lieu de predicate 1h Sylvain Bettinelli 2026-05-18 12:54:22 +00:00
  • e62e4803e4 feat(workout-observer): debug status + test notif + timeSensitive Sylvain Bettinelli 2026-05-18 12:29:22 +00:00
  • 33ed74ca63 feat(workout-observer): notif locale 'Séance terminée' via HKObserverQuery Sylvain Bettinelli 2026-05-18 10:56:20 +00:00
  • 934dc82aa6 fix(workoutkit): fallback vers strength au lieu de running Sylvain Bettinelli 2026-05-18 10:33:40 +00:00
  • 5a91d0b9be feat(workoutkit): whitelist activities + isInspectable WKWebView Sylvain Bettinelli 2026-05-18 10:23:11 +00:00
  • 80567d4611 fix(workoutkit): warmup/cooldown nil quand durée 0 (évite assertion crash) Sylvain Bettinelli 2026-05-18 09:51:31 +00:00
  • 94f5beebcb fix(ios): bande blanche bounce — force scrollView.backgroundColor noir Sylvain Bettinelli 2026-05-16 12:32:50 +00:00
  • a9d17a80c8 fix(capacitor): backgroundColor noir partout (anti flash blanc) Sylvain Bettinelli 2026-05-14 14:18:58 +00:00
  • 4581852cf5 fix(workoutkit): guard displayName par #available(iOS 18.0) Sylvain Bettinelli 2026-05-13 04:46:08 +00:00
  • e371d0a561 feat(health): expose getCharacteristics (DOB / sexe / groupe sanguin) Sylvain Bettinelli 2026-05-13 04:43:30 +00:00
  • 84bf4c0d67 feat(workoutkit): support label per step (WorkoutStep.displayName) Sylvain Bettinelli 2026-05-12 22:14:37 +00:00
  • 97e640fb57 fix(plugins): register CoachHealthRoutePlugin dans capacitorDidLoad Sylvain Bettinelli 2026-05-11 16:53:27 +00:00
  • 35cf2b53ce fix(plugin): lazy HKHealthStore + load() override pour debug Sylvain Bettinelli 2026-05-11 16:42:27 +00:00
  • 8d011610be feat(ios): plugin natif CoachHealthRoute (HKWorkoutRouteQuery) Sylvain Bettinelli 2026-05-11 14:25:37 +00:00
  • 908c6b2141 feat(ios): add capacitor-native-settings plugin pour deep-link iOS Settings Sylvain Bettinelli 2026-05-10 19:13:39 +00:00
  • a251d369df Bump v1.1 (build 2) + ITSAppUsesNonExemptEncryption=false pour TestFlight Sylvain Bettinelli 2026-05-08 10:54:26 +00:00
  • 0bd3c88300 WorkoutKit Swift : sendInterval accepte blockSteps[] (N steps custom) Sylvain Bettinelli 2026-05-08 10:38:45 +00:00
  • 05f13ba2a5 WorkoutKit : étend support strength/core/yoga/HIIT/flexibility + location auto Sylvain Bettinelli 2026-05-08 10:27:40 +00:00
  • 49a78fe9a1 fix : schedule() retour pas capturé (le type retourné n'a pas .id/.date) Sylvain Bettinelli 2026-05-08 10:18:43 +00:00
  • cb9d32d928 WorkoutKit : retire preview() (API absente du SDK), schedule() à +1min + logs Sylvain Bettinelli 2026-05-08 10:16:00 +00:00
  • f3c976e0d7 Restore preview() (iOS 17.4+) pour ajouter dans Custom Workouts Apple Watch Sylvain Bettinelli 2026-05-08 10:13:15 +00:00
  • b98e47f17a fix : conform CAPBridgedPlugin pour exposer le plugin au JS bridge Sylvain Bettinelli 2026-05-08 10:08:13 +00:00
  • 83b5260bc1 Plugin discovery : MainViewController sous-classe CAPBridgeViewController Sylvain Bettinelli 2026-05-08 10:05:06 +00:00
  • 483ad09c20 fix CoachWorkoutKit : retire preview() (API absente du SDK), garde schedule() Sylvain Bettinelli 2026-05-08 09:49:16 +00:00
  • cfa6a8bb52 fix CoachWorkoutKit Swift : API WorkoutKit corrigée Sylvain Bettinelli 2026-05-08 09:40:34 +00:00
  • 2d3e149c0a Plugin natif WorkoutKit : pousse workouts intervalles vers Apple Watch Sylvain Bettinelli 2026-05-08 09:28:15 +00:00
  • fc3ca4ed64 Rename projet : coach-ios → coach-mobile (cohérent avec dual-platform) Sylvain Bettinelli 2026-05-07 16:31:59 +00:00
  • 04581915ac Generate Android icons + splash variants depuis resources/ Sylvain Bettinelli 2026-05-07 16:30:35 +00:00
  • 1a6a1f13f4 Health Connect: bump minSdk 26 + privacy policy URL Sylvain Bettinelli 2026-05-07 16:27:44 +00:00
  • 7818f7b663 Init Android platform via cap add android Sylvain Bettinelli 2026-05-07 16:26:30 +00:00
  • a7809992a9 Enregistre CoachAuth.swift dans project.pbxproj Sylvain Bettinelli 2026-05-05 19:33:30 +00:00
  • 50a8db9830 Inject auth cookie native dans AppDelegate au lancement Sylvain Bettinelli 2026-05-05 19:31:38 +00:00
  • 6e3f74209b Init iOS project (cap add ios) avec privacy keys et entitlements Sylvain 2026-05-05 21:28:04 +02:00
  • 5f3144c2ec Gitignore CoachAuth.swift (contient le token WebView injecté natif) Sylvain Bettinelli 2026-05-05 19:27:16 +00:00
  • b64a4029e7 Revert auto-login via /login?token=... — WKWebView casse le redirect 303 Sylvain Bettinelli 2026-05-05 19:24:14 +00:00
  • 3e71dbe3a3 Auto-login via token coach_web_token au lancement Sylvain Bettinelli 2026-05-05 19:15:59 +00:00
  • 1d82ec8b10 Init Coach Hypnotruck iOS — Capacitor 8 wrapper Sylvain Bettinelli 2026-05-05 16:17:11 +00:00