From 934dc82aa6b8b3c0965d00019f5071fe95e2c569 Mon Sep 17 00:00:00 2001 From: Sylvain Bettinelli Date: Mon, 18 May 2026 10:33:40 +0000 Subject: [PATCH] fix(workoutkit): fallback vers strength au lieu de running MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pour les activities hors whitelist (yoga, hiit, crossTraining, core, pilates, flexibility, etc.), on bascule vers .functionalStrengthTraining au lieu de .running. Sémantiquement plus juste pour du non-cardio — sur la Watch l'icône sera "Entraînement musculaire" au lieu de "Course", plus représentative. functionalStrengthTraining est déjà whitelistée (testée empiriquement build 15, 2026-05-18) donc safe en fallback. Ne re-déclenche pas le precondition crash de CustomWorkout.init. Le rawValue exact est retourné côté JS via { activityFallback: true, activityUsed: } pour permettre au web d'afficher un avertissement informatif si besoin. --- ios/App/App/CoachWorkoutKit.swift | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ios/App/App/CoachWorkoutKit.swift b/ios/App/App/CoachWorkoutKit.swift index a8f650c..5410fc7 100644 --- a/ios/App/App/CoachWorkoutKit.swift +++ b/ios/App/App/CoachWorkoutKit.swift @@ -104,12 +104,14 @@ public class CoachWorkoutKitPlugin: CAPPlugin, CAPBridgedPlugin { // non supportées. La doc Apple confirme : .running, .cycling toujours, // .swimming/.rowing/.skating depuis watchOS 11 (WWDC24). Empirique // (testé 2026-05-18 build 15) : .functionalStrengthTraining marche. - // Pour tout le reste : fallback .running pour éviter crash. + // Pour tout le reste (yoga, pilates, hiit, crossTraining, core, etc.) : + // fallback .functionalStrengthTraining — sémantiquement plus juste + // pour du non-cardio que .running. let activity = isSafeForCustomWorkout(requestedActivity) ? requestedActivity - : .running + : .functionalStrengthTraining if activity != requestedActivity { - NSLog("[CoachWorkoutKit] Activity rawValue=%lu not whitelisted for CustomWorkout, falling back to .running", requestedActivity.rawValue) + NSLog("[CoachWorkoutKit] Activity rawValue=%lu not whitelisted for CustomWorkout, falling back to .functionalStrengthTraining", requestedActivity.rawValue) } Task {