fix(android): serialize direct GATT connection admission - #25
ODevStudio wants to merge 8 commits into
Conversation
Keep direct connection ownership through native success or GATT close, cancel queued/cooldown attempts safely, and fence stale callbacks by attempt and GATT identity. Preserve established links, per-device GATT queues and host retry policy. Add deterministic scheduler and Android plugin regression coverage. Related: decentespresso/decaid#871 Hardware validation remains required.
|
The interrupted Decaid #871 work has now been split into bounded, linked work packages. This draft was recovered and is the reusable candidate; no duplicate fork PR has been opened. Tracking overview: decentespresso/decaid#871
Important baseline update: decentespresso/decaid#867 now preserves a healthy original-scale connection for At inspected head This comment only links the plan; it does not change the draft status, approve the implementation, or claim new test execution. Dependency work remains in this fork, not upstream; no |
e8096dc to
a5cc8dd
Compare
Summary
Part 2/5 of decentespresso/decaid#871; related #26.
autoConnect=truebehavior.This hardens recovery; it does not establish the cause of the original field timeout. No global GATT mutex, adapter reset, heartbeat, or scale-protocol change.
Simplification
Removed the separate scenario runner/script and duplicate cases: 245 fewer lines. Unique ownership tests now run directly in the existing Android test job; plugin-level recovery and healthy-peer regressions remain.
Verification
At
6184659: analysis clean; Flutter 136 passed / 13 skipped; Android 63 passed. Android counts now include individually reported ownership cases previously grouped under one runner.Final cross-platform CI passed.
Deferred: affected Android + DE1 + original-scale acceptance in decentespresso/decaid#877. PR remains draft.
Integration
PR #28 supplies native cleanup integration and end-to-end attempt cancellation. A caller timeout is not teardown confirmation. Unconfirmed native cleanup must remain blocked rather than force-close a healthy peer.
Design and scope | Acceptance evidence
Contributor Note
AI-assisted implementation and review. Maintainer review and affected-device acceptance remain open; nothing is merged.