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

fix(web): submit live Enter and isolate stalled probes - #181

Merged
enaboapps merged 9 commits into
codex/web-appfrom
codex/web-reliability-180
Oct 9, 2026
Merged

enaboapps merged 9 commits into
codex/web-appfrom
codex/web-reliability-180

Conversation

@enaboapps

@enaboapps enaboapps commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Closes #180

Summary

  • Restore keyboard Enter submission for the installed React Native Web multiline input, preserving native and draft behavior.
  • Keep disposable discovery probes off the session GATT queue so a stalled remembered device cannot block the chosen PC.
  • Add real RN Web DOM keyboard regressions and stale-probe cancellation/late-completion coverage.

Validation

  • Node 24; version checks, lint, TypeScript, all 643 tests across 73 suites passed.
  • npm run validate stops at Expo Doctor: 20/21 checks pass; eight existing SDK patch mismatches. No dependency changes made without approval.
  • Production web export passed.
  • Computer-control browser checks passed against an isolated fake PC: discovery/pairing/profile, click, keyboard and visible Enter, failure/retry, draft newlines, and reload recovery after a stalled probe. No real PC input or Bluetooth hardware used.
  • Browser observed one Enter, cleared and focused Live text, zero backspaces after successful stale-probe fallback.
  • Independent latest-head review and native CI in progress.
  • Physical Chrome Android to Windows/macOS BLE remains unverified.

Scope

Stacked on existing codex/web-app to isolate fixes from its nine prior commits. No merge, version bump, or release.

@enaboapps

Copy link
Copy Markdown
Contributor Author

Independent latest-head review completed for 8dff52c against codex/web-app: no actionable findings. Reviewer independently passed 65 tests across DOM Enter, Web Bluetooth transport, focus scheduling, live reconciliation, and Remote controls. Review scope is the eight-file fix, not physical Bluetooth certification. Full local run passed all 643 tests; Expo Doctor remains blocked by pre-existing SDK patch mismatches. Dependencies remain unchanged pending user approval.

chore(deps): update Expo SDK 57 patches
fix(web): resolve web stack review findings
…-182

fix(web): serialize service discovery before pairing
@enaboapps
enaboapps marked this pull request as ready for review October 9, 2026 07:49
@enaboapps
enaboapps merged commit e17b2bc into codex/web-app Oct 9, 2026
@greptile-apps

greptile-apps Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium impact] No blocking findings remain. The checked keyboard and Bluetooth lifecycle behavior supports merging, while physical Bluetooth interoperability remains outside the verified coverage.

T-Rex evidence

Evidence from the check

  • Bundles exact base and head typing source and drives real Chromium keyboard input against an in-memory session, making the comparison reproducible.

Command output from the check

  • Captures git source, the narrow diff, installed RN Web Enter handling, and its version with command metadata, identifying the code exercised.

▶ Recording of the check

  • Records the base fixture through live Enter, repeated presses, delivery scenarios, and draft editing, showing live Enter follows the newline path.

Base input after live Enter

  • Captures the base input and browser telemetry after typing hello and pressing Enter, showing newline insertion without an Enter key send.

▶ Recording of the check

  • Records head through the same keyboard scenarios and draft editing, showing single submission, recovered focus, and preserved draft newline.

Head input after live Enter

  • Captures head input and browser telemetry after typing hello and pressing Enter, showing a cleared focused input and one Enter key send.

Command output from the check

  • Captures source revisions, DOM values, focus events, in-memory sends, and assertions with command metadata, confirming the tested regression was not reproduced.

Command output from the check

  • Captures the focused Jest command and its actual output, confirming all five existing submission tests passed.

Evidence from the check

  • Runs twelve assertions against captured production source with fake PCs and real protocol handling, making the narrow validation reproducible.

Evidence from the check

  • Captures source from both supplied revisions and executes the harness and focused Jest suites, recording commands, working directories, and exit codes.

Command output from the check

  • Captures the base revision and transitively loaded TypeScript modules through git show, preserving the exact source used for the before run.

Command output from the check

  • Executes the same twelve scenarios against the base and records four failed assertions, showing blocked stale-read behavior and the absence of retained handoff.

Command output from the check

  • Captures the head revision, transitively loaded TypeScript modules, and both focused test files, preserving source evidence for the passing execution.

Command output from the check

  • Executes twelve scenarios against head and records all assertions passing, showing safe stale-probe isolation, retained handoff, and desktop identity enforcement.

Command output from the check

  • Runs the existing WebBluetoothTransport and connection lifecycle Jest suites and records 64 passing tests, corroborating the authored runtime checks.

View artifacts

Summary

This PR restores keyboard Enter for web live typing and keeps stalled discovery probes off the active connection’s queue.

  • Live typing submits when web users press Enter.
  • Bluetooth discovery hands selected PCs into pairing without waiting on stalled probes.
  • Web controls announce their current values and states to assistive technology.
  • Browser tabs share one persisted identity when pairing starts.
  • The app's Expo packages move to newer patch versions.

No actionable issues were found in the checked behavior. These results support merging; physical Android-to-desktop Bluetooth behavior remains unverified.

Reviews (1) · Last reviewed commit: "Merge pull request #183 from switchifyap..." · Reviewed by Greptile

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.

2 participants