Skip to content

feat(pane_group): register_remote_repo + preserve remote roots on refresh (5c-2c-i) - #70

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

feat(pane_group): register_remote_repo + preserve remote roots on refresh (5c-2c-i)#70
jwp2987 merged 1 commit into
mainfrom
parity-diffstate-5c2c-i

Conversation

@jwp2987

@jwp2987 jwp2987 commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Adds the working_directories side of remote repo-root wiring so a remote (SSH) repository can appear in the code-review panel and get a remote-backed DiffStateModel.

  • register_remote_repo(pane_group_id, remote_key, terminal_id, ctx) — inserts the Remote root into the display roots + repository_roots + directory_to_terminal, and emits RepositoriesChanged/DirectoriesChanged when newly added (mirrors Warp's register_remote_repo). Called from the RemoteRepoNavigated flow in 5c-2c-ii.
  • refresh now PRESERVES existing Remote roots. The refresh inputs are local CWDs and only recompute Local roots, so remote roots (registered out-of-band) are collected and re-chained into pane_groups / repository_roots / directory_to_terminal instead of being dropped by update_index_set.

Behavior-preserving for local-only usage (no Remote keys exist without the RemoteRepoNavigated wiring, which lands next).

Verification

  • warp lib compiles
  • working_directories 3/0 (+1 new persistence test: a registered remote repo + its terminal mapping survive a local refresh)
  • code_review 76/0

🤖 Generated with Claude Code

…resh (5c-2c-i)

Adds the working_directories side of remote repo-root wiring so a remote (SSH)
repository can appear in the code-review panel and get a remote-backed
DiffStateModel.

- register_remote_repo(pane_group_id, remote_key, terminal_id, ctx): inserts the
  Remote root into the display roots + repository_roots + directory_to_terminal,
  and emits RepositoriesChanged / DirectoriesChanged when newly added (mirrors
  Warp's register_remote_repo). Called from the RemoteRepoNavigated flow in the
  next increment.
- refresh_working_directories_for_pane_group now PRESERVES existing Remote roots
  across a refresh. The refresh inputs are local CWDs and only recompute Local
  roots, so remote roots (registered out-of-band) are collected and re-chained
  into pane_groups / repository_roots / directory_to_terminal instead of being
  dropped by update_index_set.

Behavior-preserving for local-only usage (no Remote keys exist without the
RemoteRepoNavigated wiring, which lands in 5c-2c-ii).

Verified: warp lib compiles; working_directories 3/0 (+1 new persistence test:
a registered remote repo + its terminal mapping survive a local refresh);
code_review 76/0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012gDYSHa4oDvQbfungWwG1h
@jwp2987
jwp2987 merged commit 8fe14d4 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