diff --git a/docs/polar-ble-runbook-mac.md b/docs/polar-ble-runbook-mac.md index af4705d..c23d70d 100644 --- a/docs/polar-ble-runbook-mac.md +++ b/docs/polar-ble-runbook-mac.md @@ -413,3 +413,45 @@ foulée*, avant que Flow ne se reconnecte, pourrait suffire. Ça expliquerait le envois 1 et 2. Ce n'est pas une méthode tant que ça n'a pas été reproduit plusieurs fois — et ⛔ chaque essai a un coût matériel avéré (l'USB désactivé le 31/08). **Écrire la séance par câble AVANT tout essai.** + +## ⛔ Déconnecter Flow automatiquement : iOS l'interdit (01/09) + +Question de Sylvain : peut-on déconnecter Polar Flow avant chaque envoi, sans +geste manuel ? **Non, et ce n'est pas contournable** — c'est une garantie +d'isolation entre apps, pas une lacune de notre code. + +Apple, `cancelPeripheralConnection(_:)` : + +> « Because other apps may still have a connection to the peripheral, canceling +> a local connection **does not guarantee that the underlying physical link is +> immediately disconnected**. » + +Une app n'annule que **sa propre** connexion. Rien dans CoreBluetooth ni dans le +SDK Polar ne permet de rompre celle d'une autre app, et une app ne peut pas non +plus couper le Bluetooth du système. Le `disconnectFromDevice` du SDK ne ferme +que notre session. + +### Le geste manuel le plus court : le mode avion de la montre + +Plus rapide qu'un redémarrage, et documenté par Polar +([Vantage V3, Réglages rapides][qs]) : « Le mode avion coupe toute communication +sans fil sur votre montre […] vous ne pouvez pas synchroniser vos données avec +l'application Polar Flow ». + +**Mode avion ON → OFF**, puis envoyer **immédiatement**. Le ON coupe Flow ; le +OFF rouvre une fenêtre pendant laquelle le canal PsFTP est libre, avant que Flow +ne se reconnecte. ⚠️ Pendant le ON, notre app ne peut pas se connecter non plus : +tout le sans-fil est coupé, c'est bien un ON *puis* OFF. + +⚠️ **Cette course n'a pas été reproduite plusieurs fois** — c'est une hypothèse +cohérente avec les envois réussis du 01/09, pas une méthode établie. + +### Pourquoi il n'y a pas de bouton « Réessayer » dans l'UI + +Il serait facile à écrire, et c'est délibérément écarté : **chaque tentative de +session PsFTP refusée a un coût matériel avéré** — celle du 31/08 a désactivé +l'interface USB de la montre jusqu'à une réinitialisation. Un bouton qui banalise +la répétition transformerait un risque connu en réflexe. Le geste reste manuel, +et l'avertissement reste devant. + +[qs]: https://support.polar.com/e_manuals/vantage-v3/polar-vantage-v3-user-manual-francais/quick-settings.htm