Skip to content

sidebar: Filter thread groups by remote host identity#53918

Merged
Anthony-Eid merged 10 commits into
mainfrom
use-remote-host-from-thread-metadata
Apr 14, 2026
Merged

sidebar: Filter thread groups by remote host identity#53918
Anthony-Eid merged 10 commits into
mainfrom
use-remote-host-from-thread-metadata

Conversation

@Anthony-Eid
Copy link
Copy Markdown
Contributor

@Anthony-Eid Anthony-Eid commented Apr 14, 2026

Summary

Follow up on: #53550

Threads in the sidebar are now filtered by remote connection in addition to path list. Previously, two different machines with the same absolute project paths (e.g. both at /home/user/project) would have their threads merged into a single sidebar group. Now each remote host gets its own group.

To support this, this PR introduces RemoteConnectionIdentity, a normalized subset of RemoteConnectionOptions that includes only the fields relevant for identity matching (e.g. SSH host + username + port, but not nickname or connection timeout). All remote host comparisons in the sidebar, thread metadata store, and workspace persistence now go through same_remote_connection_identity() instead of raw == on RemoteConnectionOptions.

Follow Up on remoting for sidebar

  1. Make the neighbor in archive thread fallback to the main git worktree instead of the next thread
  2. Start implementing remote git operations that archive feature depends on
  3. Make remote connection pool equality use RemoteConnectionIdentity

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • Unsafe blocks (if any) have justifying comments
  • The content is consistent with the UI/UX checklist
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Release Notes:

  • N/A

Anthony-Eid and others added 7 commits April 14, 2026 10:46
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Apr 14, 2026
@zed-community-bot zed-community-bot Bot added the staff Pull requests authored by a current member of Zed staff label Apr 14, 2026
@Anthony-Eid Anthony-Eid changed the title sidebar: Use remote host from thread metadata sidebar: Filter thread groups by remote host identity Apr 14, 2026
Anthony-Eid and others added 2 commits April 14, 2026 13:40
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
@Anthony-Eid Anthony-Eid enabled auto-merge (squash) April 14, 2026 17:48
@Anthony-Eid Anthony-Eid merged commit 0bbe9bf into main Apr 14, 2026
49 of 51 checks passed
@Anthony-Eid Anthony-Eid deleted the use-remote-host-from-thread-metadata branch April 14, 2026 18:40
piper-of-dawn pushed a commit to piper-of-dawn/zed that referenced this pull request Apr 25, 2026
…#53918)

### Summary 

Follow up on: zed-industries#53550

Threads in the sidebar are now filtered by remote connection in addition
to path list. Previously, two different machines with the same absolute
project paths (e.g. both at `/home/user/project`) would have their
threads merged into a single sidebar group. Now each remote host gets
its own group.

To support this, this PR introduces `RemoteConnectionIdentity`, a
normalized subset of `RemoteConnectionOptions` that includes only the
fields relevant for identity matching (e.g. SSH host + username + port,
but not nickname or connection timeout). All remote host comparisons in
the sidebar, thread metadata store, and workspace persistence now go
through `same_remote_connection_identity()` instead of raw `==` on
`RemoteConnectionOptions`.

#### Follow Up on remoting for sidebar

1. Make the neighbor in archive thread fallback to the main git worktree
instead of the next thread
2. Start implementing remote git operations that archive feature depends
on
3. Make remote connection pool equality use `RemoteConnectionIdentity`

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
kathbigra pushed a commit to kathbigra/zed that referenced this pull request May 10, 2026
…#53918)

### Summary 

Follow up on: zed-industries#53550

Threads in the sidebar are now filtered by remote connection in addition
to path list. Previously, two different machines with the same absolute
project paths (e.g. both at `/home/user/project`) would have their
threads merged into a single sidebar group. Now each remote host gets
its own group.

To support this, this PR introduces `RemoteConnectionIdentity`, a
normalized subset of `RemoteConnectionOptions` that includes only the
fields relevant for identity matching (e.g. SSH host + username + port,
but not nickname or connection timeout). All remote host comparisons in
the sidebar, thread metadata store, and workspace persistence now go
through `same_remote_connection_identity()` instead of raw `==` on
`RemoteConnectionOptions`.

#### Follow Up on remoting for sidebar

1. Make the neighbor in archive thread fallback to the main git worktree
instead of the next thread
2. Start implementing remote git operations that archive feature depends
on
3. Make remote connection pool equality use `RemoteConnectionIdentity`

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement staff Pull requests authored by a current member of Zed staff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants