refactor(remote-connect): unify GitHub identity and device-owned connections - #2930
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Remote Connect now uses the same GitHub identity as Desktop, CLI, MiniApp Market, and Skin Market. Model and configuration state stays on the device that executes the work; the account cloud-sync feature is removed.
Type and Areas
Refactor / UI / authentication and remote-control fixes. Rust services and contracts, Desktop, CLI, Web UI, mobile clients, markets, and deployment documentation.
Motivation / Impact
Account identity, host selection, and runtime configuration previously followed different paths. Users now sign in with GitHub, choose a device, and operate that device's workspace and settings. Official and LAN connections differ by endpoint while sharing the transport implementation.
Verification
pnpm run check:web,pnpm run lint:web, andpnpm run build:web— passed after merging current upstream main.pnpm --dir src/web-ui run test:run— all 710 files / 5,396 tests passed using Node 24.pnpm --dir src/web-ui exec vitest run --maxWorkers=50% src/app/components/RemoteConnectDialog src/infrastructure/remote-connect/remoteConnectionState.test.ts— 98 passed.pnpm run check:core-boundaries,pnpm run capabilities:check,pnpm run capabilities:test,pnpm run i18n:audit— passed.pnpm --dir src/mobile-web run test:ui-components,test:account-login,test:workspace-identity,type-check, andpnpm run build:mobile-web— passed on the feature branch.cargo test --locked -p openbitfun-cli— the complete CLI package test suite passed, including all 40 CLI command contracts.cargo test -p openbitfun-relay-service— 106 tests passed during implementation, including actual loopback authenticated HTTP/WebSocket paths.Reviewer Notes
The versioned endpoint isolates the new authenticated transport from the existing deployed Relay. The old room protocol and cloud-sync feature are intentionally retired in the new clients. Review upgrade/deployment guidance with mixed client versions in mind.
Known follow-up: mobile-web sign-in uses a popup and tab-scoped credentials; expired-session recovery still needs improvement. This PR does not claim that flow is fully resolved. Full GitHub consent with two physical devices was not exercised; live SSH-workspace, Peer Device, and Detached Dispatch end-to-end scenarios were not rerun for the final UI changes.
AI-assisted implementation; testing includes focused automated suites, browser visual checks, loopback transport tests, and deployment smoke checks. CI will validate the final PR merge state.
Checklist