Branches (1379)

5039-remote-trash-restore

1f2cf7e chore: initial attempt

dino created

fix-archive-main-worktree

701fa3a Skip git worktree removal when archiving threads on main worktrees

Click to expand commit body
build_root_plan now returns None for non-linked (main) worktrees,
so archiving a thread that lives on a main worktree no longer
attempts `git worktree remove` (which git rightfully refuses).

The thread is simply marked archived in the metadata store and can
be unarchived later without any git operations.

Since build_root_plan now guarantees a linked worktree,
RootPlan::worktree_repo is changed from Option<Entity<Repository>>
to Entity<Repository>, removing the fallback path and the
now-unnecessary is_some() guard in archive_worktree_roots.

Richard Feldman created

tomhoule/mcp-client-preregistration

bbec3c9 Fix reactivity and error state in the modal

Tom Houlé created

v0.231.x

95d3563 terminal: Properly apply focus when switching terminal via tabbing hotkey (#53127) (cherry-pick to stable) (#53617)

Click to expand commit body
Cherry-pick of #53127 to stable

----
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)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #53056.

Release Notes:

- Fixed terminal tabs losing keyboard focus after switching tabs on
Linux X11

Co-authored-by: Andre Roelofs <p.arroelofs@gmail.com>

zed-zippy[bot] and Andre Roelofs created

veykril/push-lqxnzlsksuyx

11202c5 Remove smol as a dependency from a bunch of crates

Lukas Wirth created

simplify-active-entry-again

c136b53 Simplify active state in multiworkspace

Mikayla Maki created

fix-sidebar-flicker

2f19dcc Add finger printing to sidebar

Anthony Eid created

workspace-add-flicker

6cc8cd2 Wait to add workspace to multi-workspace until deserialization finishes

Max Brunsfeld created

make-adding-folder-paths-mutating

b380a03 Fix CI test failures

Click to expand commit body
Remove the has_unbacked_linked_worktree filter that was too aggressively
hiding threads whose folder_paths included linked worktree paths not yet
discovered by git state. Since threads are already correctly grouped via
their main_worktree_paths column, this filter was unnecessary and caused
threads belonging to open workspace roots and closed worktree workspaces
to be hidden.

Update test_git_worktree_added_live_updates_sidebar to expect the thread
visible from the start (the chip name is derived from the path heuristic
even before git discovery).

Fix test_worktree_add_key_collision_removes_duplicate_workspace to switch
back to workspace A before the collision, since the collision code keeps
the active workspace and drops the incoming duplicate.

Eric Holk created

cherry-pick-v0.232.x-55c02b45

79cb1fb agent_ui: Disable thread feedback based on organization configuration (#53454)

Click to expand commit body
This PR updates the agent thread UI to disable the thread feedback
controls based on the organization's configuration.

Closes CLO-629.

Release Notes:

- N/A

Marshall Bowers created

npm-prefix

f98f32c Remove unused global npm root from system runtime

Ben Brandt created

fix-fallback-workspace-panic

c15c5bf Fix crash when fallback workspace is in the removal set

Click to expand commit body
When removing a project group, the fallback closure calls
find_or_create_local_workspace which searches self.workspaces for an
existing match. Because the workspaces to be removed haven't been
removed yet at that point, workspace_for_paths can return a doomed
workspace, hitting the assert in MultiWorkspace::remove.

Fix by adding an `excluding` parameter to find_or_create_local_workspace
so callers inside removal fallbacks can skip workspaces that are about
to be removed. Both remove_project_group and sidebar::archive_thread
now pass the appropriate exclusion set.

Richard Feldman created

fix-try-now-opens-wrong-panel

fea7f40 Fix "Try Now" button opening git panel instead of agent panel

Click to expand commit body
When a user on editor layout clicks "Try Now" on the parallel agents
announcement, the callback dispatches ToggleFocus in the same flush
cycle as set_layout(Agent). Because set_layout writes to the settings
file asynchronously, ToggleFocus opens the agent panel in its old dock
(right dock in editor layout). When the settings later reload, per-panel
migration observers fire in registration order. If the git panel
migrates to the right dock before the agent panel migrates out, the git
panel takes the active slot, and the agent panel's was_visible flag
becomes false when it subsequently moves to the left dock—leaving the
git panel visible and the agent panel hidden.

Fix: when switching layouts, defer the ToggleFocus dispatch until after
the settings change propagates by using a one-shot observe_global
observer on SettingsStore. Global observers fire in registration order,
so by the time this observer runs, all panel-migration observers
(registered at workspace creation) have already moved every panel to its
correct position.

Richard Feldman created

navigate-thread-from-message-editor

72deacc Drop storybook from tests

Oleksiy Syvokon created

kittcat/window-icon

069f17c revert build file refactor for windows icon

Yara created

23967-refactor

557f5a6 refactor: always open project panel on pane's reveal in project panel

Click to expand commit body
Update the way `pane::RevealInProjectPanel` is handled to ensure that,
regardless of whether the file belongs to any open project, the project
panel is always activated and focused.

This refactor is a result of some internal feedback after changing its
handling so as to show a notification stating that the item that the
user was trying to reveal didn't belong to an open project.

We feel users are probably already used to relying on `cmd-shift-e` (on
macOS), in pretty much every context, in order to open the project
panel, and so having situations where it doesn't actually happen seems
like a bad user experience.

dino created