Une attente sans fin ne dit rien : échéances sur les appels du SDK
L'envoi tournait sans jamais rendre la main, ni message ni erreur. Cause : les `async` du SDK Polar n'ont aucune limite de temps, et `waitPsFtpReady` attend indéfiniment une montre qui ne finit pas sa négociation — canal déjà pris, écran éteint, appairage en cours. Une attente sans fin est pire qu'un échec : elle n'apprend rien, et c'est exactement ce qu'on cherche à éviter depuis ce matin. `waitPsFtpReady` a désormais 12 s, chaque écriture 20 s, et un dépassement compte comme une montre muette — c'est ce qu'elle est. Le message dit quoi faire : réveiller l'écran, rapprocher, fermer Flow. Le fait qu'on soit arrivé jusqu'à ce blocage est en soi une information : avant le réveil du manager lazy, on n'atteignait même pas la phase de connexion. 82 tests au vert sur tests-linux. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -234,3 +234,27 @@ extension PolarPftpErrorTests {
|
||||
XCTAssertTrue(e.description.contains("intégration du SDK"))
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Un envoi qui n'aboutit pas doit le dire
|
||||
//
|
||||
// Les `async` du SDK Polar n'ont aucune limite de temps. Le 2026-08-31, un envoi
|
||||
// est resté figé sans message : `waitPsFtpReady` attendait une montre qui ne
|
||||
// finissait pas la négociation. Une attente sans fin est pire qu'une erreur —
|
||||
// elle ne dit rien et n'apprend rien.
|
||||
|
||||
extension PolarPftpErrorTests {
|
||||
|
||||
func testLEcheanceDitQuoiFaire() {
|
||||
let e = PolarPftpError.echeanceDepassee(12)
|
||||
XCTAssertTrue(e.description.contains("12"))
|
||||
XCTAssertTrue(e.description.contains("écran"))
|
||||
XCTAssertTrue(e.description.contains("Polar Flow"))
|
||||
}
|
||||
|
||||
func testLEcheanceNeSeConfondPasAvecUnScanVide() {
|
||||
let echeance = PolarPftpError.echeanceDepassee(12).description
|
||||
let vide = PolarPftpError.watchNotFound(30, vues: 0,
|
||||
sansPsFtp: 0, muettes: 0).description
|
||||
XCTAssertNotEqual(echeance, vide)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user