Repository navigation
fix(remote): sync mobile workspace sidebar and clarify connection copy - #2939
Merged
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
Mobile web could label an assistant workspace as
workspaceand keep showing workspaces that had been closed in Desktop. Its sidebar combined recent history, the current workspace, and session paths instead of using Desktop's opened-workspace list.Use an additive
opened_workspacesresponse field to expose the authoritative list with assistant identity names and SSH identity metadata. Refresh the sidebar during polling and on return to the page; a successful empty list stays empty, while failed refreshes retain cached data. Older hosts retain an explicitly labeled recent-history fallback and resolve assistant names through the existing command.Also update Remote Connect descriptions and the disclaimer in English, Simplified Chinese, and Traditional Chinese to describe GitHub account device control, task submission, invitation links, and the current relay behavior.
Type and Areas
Type: Bug fix; UI copy correction.
Areas: Core workspace projection, runtime ports, Remote Connect response contract, mobile web, desktop Web UI locales.
Motivation / Impact
The mobile workspace sidebar follows the host's opened list without resurrecting closed entries from historical sessions. Assistant workspaces display their identity names. Recent history remains available to existing clients and workspace pickers, and closing a workspace does not delete its sessions.
Verification
Passed:
cargo test --locked -p openbitfun-core --no-default-features --features remote-connect --lib remote_workspace_catalog_tracks_opened_rows_and_assistant_identitycargo test --locked -p openbitfun-services-integrations --no-default-features --features remote-connect --lib remote_workspace_pnpm --dir src/mobile-web run test:workspace-identitypnpm --dir src/mobile-web run test:account-loginpnpm --dir src/mobile-web run test:ui-componentspnpm --dir src/mobile-web run type-checkpnpm run build:mobile-webpnpm run check:webpnpm run i18n:auditpnpm run fmt:rsandgit diff --checkChrome exercised the actual mobile sidebar and session manager against simulated host responses at 320, 390, 600, 768, and 1280 px: expansion, keyboard focus, ten-second close/name refresh, empty catalogs with retained historical sessions, failed refreshes, and legacy-host fallback. Tests cover SSH host identity separation and device-generation fencing. No live SSH workspace, Peer Device Mode, or Detached Dispatch validation was performed.
The mobile build from
6aceceb57was deployed to the official mobile entry. All ten publicly served files matched the release hashes; a fresh browser loaded the new bundle and rendered the login page without page errors. Authenticated workspace behavior was verified locally with the simulated transport above.Reviewer Notes
opened_workspacesis optional and omitted by legacy providers; its presence, including an empty array, advertises support. The originalworkspacesfield retains its recent-history meaning. Wire tests cover legacy payload round trips and explicit empty catalogs. No existing persisted data is reset or removed.This fix needs both the host change and the new mobile bundle. Restarting
desktop:devupdates local assets; official mobile assets require a separate deployment. The Relay service binary does not need a change for this optional device-response field.Checklist