Skip to content

Multiplatform: remote host, browser client, phone shells (parked) - #175

Draft
Tryanks wants to merge 2 commits into
mainfrom
feat/multiplatform-parked
Draft

Multiplatform: remote host, browser client, phone shells (parked)#175
Tryanks wants to merge 2 commits into
mainfrom
feat/multiplatform-parked

Conversation

@Tryanks

@Tryanks Tryanks commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Draft — parked for later. This is the multiplatform work from #173, taken back out of main by #174 and held here until we pick it up again.

Nothing was failing. All seven CI jobs were green when #173 merged; it was parked by choice, not by defect.

Why this branch and not the original

Re-merging feat/multiplatform-groundwork would not work. Its commits are still ancestors of main through the merge #174 reverted, so git treats them as already applied and a PR from it shows an empty diff. Reverting the revert is the way back, which is what the single commit on this branch does.

What it contains

A sync host the desktop app starts on loopback at launch, plus tcode-server for machines with no display. A wire protocol (docs/sync-protocol.md) where clients send commands and the host streams events, each carrying a per-session sequence number a reconnecting client resumes from. A shared client UI compiled to wasm, Android and iOS — one implementation, three shells — that follows a session, sends turns, and answers approvals. Devices get in with a six-character pairing code, once.

Four CI jobs that actually gate it. The previous workflow proved only that the desktop build worked: client-app is outside the workspace and five other crates compile to empty shells on a host. These build them for their real targets, with no failure suppression.

Known state when parked

Status
Desktop host, headless host, browser client Exercised end to end
Android Links for aarch64-linux-android, all JNI entry points exported. Never run on a device
iOS Links against the iOS SDK. Never run on a device or simulator

The mobile rows are the open question. Linking proves every symbol GPUI, wgpu, Metal, Vulkan and psm need resolves — which cargo check does not — and is still not the same as having seen a frame. The likely first failure on both is renderer creation meeting real hardware.

docs/remote-and-mobile.md is the user-facing guide; docs/multiplatform-plan.md records the architecture and the approaches rejected along the way.

🤖 Generated with Claude Code

Tryanks and others added 2 commits July 26, 2026 14:37
…dwork"

This reverts commit 490aa67, reversing
changes made to 2cbb089d1b90da1d68a3f6851ff0f13d7e7dae5b.

Parked rather than abandoned: the remote host, the browser and phone
clients, and the multiplatform CI gates all come back out of main while the
work continues on its branch. Nothing here was failing — CI was green on
all seven jobs when it merged.

Note for whoever brings it back: re-merging the original branch will not
restore these changes, because its commits remain ancestors of main through
the merge this reverts. The way back is to revert *this* commit, which is
what the follow-up branch does.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reverts the revert in #174, restoring the remote sync host, the browser and
phone clients, the shared client UI, and the multiplatform CI gates.

This is the only way back. Re-merging `feat/multiplatform-groundwork`
would not work: its commits remain ancestors of `main` through the merge
that #174 reverted, so git treats them as already applied and the diff comes
out empty.

Everything here was green on all seven CI jobs before it was parked. Future
work continues on this branch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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