Skip to content
This repository was archived by the owner on Oct 11, 2026. It is now read-only.

feat: support negotiated Linux read replies - #157

Merged
enaboapps merged 2 commits into
mainfrom
codex/linux-read-replies
Sep 11, 2026
Merged

enaboapps merged 2 commits into
mainfrom
codex/linux-read-replies

Conversation

@enaboapps

Copy link
Copy Markdown
Contributor

Closes #154. Depends on #155 Expo patch alignment; desktop counterpart switchifyapp/switchify-pc#725. Adds explicit read-v1 discovery negotiation, single consuming response read at a time, bounded frames/timeouts, cancellation and stale completion suppression. Existing desktops retain notifications; unknown transports fail closed. No native bridge, identity, release version or persisted schema changes.

Full npm run validate passed: 580 tests, lint/typecheck/version checks and Expo Doctor21/21. Independent latest-head review and CI pending. Physical Android read interoperability still required before release.

@enaboapps
enaboapps marked this pull request as ready for review September 11, 2026 19:40
@enaboapps enaboapps added this to the 1.0.0-beta.24 milestone Sep 11, 2026
@greptile-apps

greptile-apps Bot commented Sep 11, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds negotiated BLE read-based replies for compatible Linux peers while retaining notification-based replies for existing peers. It introduces a bounded serial response poller, cancellation and timeout handling, stale-delivery suppression, receive-failure write lockout until reconnect, protocol discovery fields, compatibility documentation, and Expo SDK 57 patch dependency alignment.

Confidence Score: 5/5

Safe to merge: the read-response connection lifecycle and recovery behavior were exercised successfully.

No issues were found. Focused checks confirmed that late read completions and failures cannot affect a later connection, receive failures prevent further writes until reconnect, the relevant regression tests pass, and TypeScript validation succeeds.

Files Needing Attention: No files need follow-up changes.

T-Rex T-Rex Logs

What T-Rex did

  • Ran a focused deferred-read connection test against the prior implementation and the updated implementation.
  • Ran the changed BLE transport and response-poller test suites; all tests passed (73/73).
  • Ran TypeScript validation successfully.
  • Compared baseline and HEAD behavior for the negotiated-read flow; baseline cannot run it while HEAD passes all focused cases and the changed transport/poller suite passes 73/73 with typecheck.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "chore: align Expo SDK 57 patch dependenc..." | Re-trigger Greptile

@enaboapps

Copy link
Copy Markdown
Contributor Author

Latest head 43590fb passed independent agent review with no actionable findings, full local validation (580 tests; Expo Doctor 21/21), Android and iOS native CI, and Greptile review. Prerequisite #156 is merged and pulled. User approved merging and releasing the next Remote beta. Physical Linux pairing/control remains a separate supervised validation gate.

@enaboapps
enaboapps merged commit 178d9da into main Sep 11, 2026
4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support negotiated Linux BLE read-v1 replies

1 participant