feat: add sanitized BLE connection-stage diagnostics - #145
Conversation
69fd1b4 to
d223b96
Compare
Greptile SummaryAdds fixed-vocabulary Bluetooth connection diagnostics to the existing local log and shares that log between the Bluetooth transport and connection manager. Fake-native Android setup, failure, cancellation, and late-completion flows were exercised successfully. No defects were found. Confidence Score: 5/5The change is safe to merge based on exercised connection, diagnostic, sanitization, and cancellation behavior. The focused fake-native checks exercised successful Android connection setup through notification readiness, injected MTU failure handling, and late native completions after cancellation. The repository's focused BLE and diagnostics tests and TypeScript typecheck also passed. Files Needing Attention: No files need follow-up from this review. Physical Android and iOS device behavior remains covered by the documented device retest procedure.
What T-Rex did
Reviews (1): Last reviewed commit: "feat: add sanitized BLE connection-stage..." | Re-trigger Greptile |
Closes #144.
Summary
Adds fixed-vocabulary local diagnostics for discovery GATT/status, selected-PC connection, Android priority/MTU, services, notification listener and CCCD readiness. Wires the transport to the existing Settings Diagnostics log. No native errors, addresses, payloads or credentials enter stage entries. Cancellation generation checks suppress stale outcomes; late discovery connections still receive deterministic cleanup. Existing user-facing errors and protocol behavior remain intact.
Companion diagnostic work for switchifyapp/switchify-pc#717, not Linux input/pairing support. Includes fake-native tests and S26 retest instructions. No release, version or native configuration changes in this diff. Nothing merged or installed on the phone.
Stack: #147 (approved Expo patch prerequisite) → this PR. Review against
codex/expo-patch-alignment-146; diagnostics code is unchanged by the rebase. Merge only in stack order with explicit authorization.Validation
d223b96eeee88543cda79a457317de71dc732bcd: no actionable findings; reviewer independently reran the 58 focused tests after the rebase.npm run validatepassed: version check, lint, TypeScript, all 564 tests across 65 suites and all 21 Expo Doctor checks. The earlier dependency blocker is resolved by fix: align Expo SDK 57 patch dependencies #147. Whitespace check passed.Do not merge or publish a release without explicit authorization.