Skip to content

fix(commissioner): extend operational connect timeout to 4m15s#3674

Merged
Apollon77 merged 2 commits intomainfrom
fix/operational-connect-timeout-255s
Apr 29, 2026
Merged

fix(commissioner): extend operational connect timeout to 4m15s#3674
Apollon77 merged 2 commits intomainfrom
fix/operational-connect-timeout-255s

Conversation

@Apollon77
Copy link
Copy Markdown
Collaborator

Summary

  • Bump CASE operational connect timeout in ControllerCommissioner from Minutes(4) to Seconds(255) (4m15s) so commissioning steps that trigger up to ~2 minute server-side delays still have headroom before we abort the connect.
  • 255 s stays comfortably inside the 5 minute failsafe re-arm window (CASE_RECONNECT_TIMEOUT).
  • Failsafe reset on operational connect failure (armFailSafe expiryLengthSeconds=0 while PASE is still alive) already fires through the existing CommissioningError catch path in ControllerCommissioningFlow.executeCommissioning — verified in production logs (operative-connection-failed → immediate armFailSafe invoke with expiryLengthSeconds: 0).

Test plan

  • Concurrent BLE+UDP commissioning where the device is briefly unreachable (>4 min, <4m15s) — connect should now succeed.
  • Concurrent BLE+UDP commissioning where the device is unreachable >4m15s — OperativeConnectionFailedError thrown and armFailSafe(0) still invoked over PASE before peer cleanup.
  • Existing FailsafeCommissioningTest suite passes.

🤖 Generated with Claude Code

Several commissioning steps allow up to ~2 minute server-side delays.
The previous 4 minute CASE connect timeout left too little headroom in
back-to-back delay scenarios. Bumping to 255 seconds keeps us safely
inside the 5 minute failsafe re-arm and matches observed worst-case
peer behavior. Failsafe reset on operational connect failure already
fires through the existing CommissioningError catch path.
Copilot AI review requested due to automatic review settings April 29, 2026 09:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends the operational CASE connect timeout during commissioning in ControllerCommissioner to better accommodate slower commissionee-side transitions while still staying within the failsafe re-arm window.

Changes:

  • Replace the operational peer.connect timeout from Minutes(4) to Seconds(255) (4m15s).
  • Remove the now-unused Minutes import.

Comment thread packages/protocol/src/peer/ControllerCommissioner.ts
Two ~2-minute server-side retry windows fit within 4m15s before we
abort the operational connect.
@Apollon77 Apollon77 merged commit 8fd4988 into main Apr 29, 2026
27 checks passed
@Apollon77 Apollon77 deleted the fix/operational-connect-timeout-255s branch April 29, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants