Skip to content

fix(agent): rearm control capture after device reconnect - #1

Closed
Phecda wants to merge 3 commits into
masterfrom
fix/bluetooth-capture-reconnect
Closed

fix(agent): rearm control capture after device reconnect#1
Phecda wants to merge 3 commits into
masterfrom
fix/bluetooth-capture-reconnect

Conversation

@Phecda

@Phecda Phecda commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

Restore programmable controls after a Logitech device reconnects or switches between Bluetooth and Unifying, without requiring an agent restart.

Changes

  • openlogi-hidpp / openlogi-hid
    • Expose HID transport liveness and stop stale capture sessions after confirmed disconnects.
    • Keep cached Unifying capabilities separate from current device reachability.
    • Confirm Unifying reachability with a root ping after battery refresh errors.
    • Abandon stale firmware state on disconnect while preserving normal restoration for ordinary route or configuration changes.
  • openlogi-agent-core / openlogi-agent
    • Re-arm control capture when the selected device reconnects.
    • Re-arm capture after system wake.
    • Add regression coverage for reconnect and capture lifecycle behavior.

Testing

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo test --workspace --locked
  • Hardware-tested on macOS with an MX Master 3:
    • Bluetooth → Unifying → Bluetooth switching
    • Auxiliary and gesture actions recovered on both transports
  • The transient Unifying battery-error fallback was covered by an automated HID++ channel test but was not reproduced on hardware.

@Phecda Phecda closed this Jul 23, 2026
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.

1 participant