Skip to content

fix(preview): explain host recovery and cover RPC reconnection - #5

Merged
jvelascodev merged 1 commit into
mainfrom
t3code/check-issue-4
Sep 21, 2026
Merged

jvelascodev merged 1 commit into
mainfrom
t3code/check-issue-4

Conversation

@jvelascodev

Copy link
Copy Markdown
Owner

The Browser panel can become permanently unavailable after an unanswered automation request when the installed desktop lacks host re-registration. The running 0.0.42 desktop reproduced this failure: a harmless 18-second delayed evaluation timed out after 15 seconds, then both status and evaluate returned No preview automation host is available.

The fork already contains the recovery implementation in upstream commit 5378f87f9 from pingdotgg#12535. Read-only inspection of the installed desktop bundle confirmed that its subscription client does not contain that recovery branch. This PR adds a real RPC-boundary regression test for repeated registration recovery and cancellation, and gives unavailable-host errors actionable reconnection guidance. It does not duplicate the existing recovery implementation or update the live installation.

Related to #4. Upstream pingdotgg#6355 concerns detached individual tabs while the backend remains available; its linked PR pingdotgg#7200 was closed without merging. The reproduced failure here is loss of host registration.

Validation on e59db04a:

  • 51 focused client RPC and server broker tests passed.
  • Targeted lint, formatting, and contracts/client-runtime typechecks passed.
  • Real built-in Browser panel: open, repeated snapshots, and interaction succeeded on the same tab before the controlled timeout reproduced host loss. The isolated dev server uses copied state.
  • Two independent reviews and a separate scope check rated code correctness and test quality 5/5. Original issue acceptance remains 4/5 because updated-desktop recovery, same-tab interaction/closing, and rendered evidence verification are outstanding.

Draft until an updated desktop verifies recovery. The test skill requires stopping Browser verification when its automation host is unavailable. Keep #4 open; the current browser tool set also exposes no close operation. Desktop supplies the automation host for local and remote environments; this change does not alter provider adapters, wire schemas, mobile behavior, or tab ownership.

Model: GPT-6. Harness: Codex.

@jvelascodev

Copy link
Copy Markdown
Owner Author

Controlled reproduction in the installed T3 Code 0.0.42 desktop, using its built-in Browser panel against the isolated dev app:

  1. Opened the app, captured snapshots, and clicked Settings successfully using tab_1. The attached screenshot is the working state before the timeout, not evidence of recovery.
  2. Evaluated new Promise(resolve => setTimeout(() => resolve('controlled delayed read completed'), 18000)) with promise awaiting enabled. The operation returned Preview automation evaluate timed out after 15000ms.
  3. Subsequent status and evaluate calls for the same tab returned No preview automation host is available.
  4. Read-only inspection of the installed desktop bundle found no preview subscription repeat branch. Source commit 5378f87f9, already in this fork, contains that branch.

The worktree was t3code/check-issue-4 at 1bc2e157a plus the test/diagnostic diff during the smoke test; the final equivalent diff is committed as e59db04a after rebasing. The automation host came from the installed desktop, not the dev web page. Final focused checks passed 51 tests, targeted lint/formatting, and both affected package typechecks.

Recovery and closing on an updated desktop remain untested. The Browser host became unavailable, so the test-t3-app skill required stopping verification. The uploaded image has not been verified in GitHub's rendered UI for the same reason. This report does not establish merge readiness.

Working Browser tab before controlled timeout

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