-
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