Skip to content

feat(workspace): wire RemoteRepoNavigated to register remote repos (5c-2c-ii) - #71

Merged
jwp2987 merged 1 commit into
mainfrom
parity-diffstate-5c2c-ii
Aug 5, 2026
Merged

feat(workspace): wire RemoteRepoNavigated to register remote repos (5c-2c-ii)#71
jwp2987 merged 1 commit into
mainfrom
parity-diffstate-5c2c-ii

Conversation

@jwp2987

@jwp2987 jwp2987 commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Completes the diff-state-over-SSH feature end-to-end. When a remote (SSH) pane navigates into a git repository, the repo is now registered so the code-review panel lists it and builds a remote-backed DiffStateModel.

  • Threads is_git (already on RemoteServerManagerEvent::NavigatedToDirectory) through the RemoteRepoNavigated event chain (terminal view → PaneEvent → pane_group Event → workspace).
  • The workspace handler, when is_git, bridges the event's warp_core HostId to the warp_util family and registers the repo root in both:
    • DetectedRepositories::register_remote_repo_root (so get_root_for_lor_path resolves it), and
    • WorkingDirectoriesModel::register_remote_repo (mapped to the pane's active session terminal — so RepositoriesChanged fires and the panel lists it).
  • Existing file-tree remote-root behavior unchanged.

End-to-end chain now closed

remote git nav → is_git → register → panel lists remote repo → select → get_or_create_diff_state_model(Remote)new_remoteRemoteDiffStateModelGetDiffState → daemon snapshot + live push.

Verification

  • full warp lib 3913 / 0 / 33 (no regression across terminal / pane_group / workspace)

🤖 Generated with Claude Code

…c-2c-ii)

Completes the remote code-review wiring: when a remote (SSH) pane navigates
into a git repository, the repo is registered so the code-review panel lists it
and builds a remote-backed DiffStateModel.

- Threads `is_git` (already on RemoteServerManagerEvent::NavigatedToDirectory)
  through the RemoteRepoNavigated event chain (terminal view → PaneEvent →
  pane_group Event → workspace).
- The workspace handler, when is_git, bridges the event's warp_core HostId to
  the warp_util family and registers the repo root in both
  DetectedRepositories (register_remote_repo_root — so get_root_for_lor_path
  resolves it) and WorkingDirectoriesModel (register_remote_repo, mapped to the
  pane's active session terminal — so RepositoriesChanged fires and the panel
  lists it). The existing file-tree remote-root behavior is unchanged.

End-to-end chain now closed: remote git nav → is_git → register → panel lists
the remote repo → select → get_or_create_diff_state_model(Remote) → new_remote →
RemoteDiffStateModel → GetDiffState → daemon snapshot + live push.

Verified: full warp lib 3913/0/33 (no regression across terminal/pane_group/
workspace).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012gDYSHa4oDvQbfungWwG1h
@jwp2987
jwp2987 merged commit 3b768e9 into main Aug 5, 2026
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