a3aa21b
Fix thread summarization properly
Mikayla Maki created
a3aa21b
Fix thread summarization properly
Mikayla Maki created
e4b3c0f
agent: Re-use ACP connections per project (#51209)
Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner and Ben Brandt created
50aef1f
buffer: Reload after undo when file changed while dirty (#51037)
Closes #48697 Supersedes #48698 Related to #38109 ## Problem If you edit a file and an external tool writes to it while you have unsaved changes, Zed tracks the new file but skips the reload to preserve your edits. If you then undo everything, the buffer goes back to clean but still shows the old content. The disk has moved on, but nothing triggers a reload. ## Fix In `did_edit()`, when the buffer transitions from dirty to clean, check if the file's mtime changed while it was dirty. If so, emit `ReloadNeeded`. Only fires for files that still exist on disk (`DiskState::Present`). 7 lines in `crates/language/src/buffer.rs`. ### No double reload `file_updated()` suppresses `ReloadNeeded` when the buffer is dirty (that's the whole bug). So by the time `did_edit()` fires on dirty-to-clean, no prior reload was emitted for this file change. The two paths are mutually exclusive. ## Test plan - New: `test_dirty_buffer_reloads_after_undo` - No regression in `test_buffer_is_dirty` or other buffer tests - All project integration tests pass - clippy clean Release Notes: - Fixed an issue where buffer content could become stale after undoing edits when an external tool wrote to the file while the buffer was dirty. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
lex00 , Claude Opus 4.6 , and Ben Kunkle created
f4b04af
agent: Allow `NativeAgent` to work with multiple projects (#51202)
This removes the assumption that one project <-> one native agent. The native agent now maintains a project per session. We don't make use of this right now, but it will come in handy once we start sharing ACP connections globally. Release Notes: - N/A
Bennet Bo Fenner created
3d36d1f
recent_projects: Fix open project buttons hidden when there are no recent projects (#51207)
Release Notes: - N/A
Smit Barmase created
5712c87
sidebar: Fix project header active state (#51203)
Release Notes: - N/A
Danilo Leal created
b21f4a3
Prevent remote edits from triggering edit predictions when collaborating (#51196)
BufferEvent::Edited had no way to distinguish local edits from remote (collaboration) edits. This caused edit prediction behavior to fire on the guest's editor when the host made document changes. Release Notes: - Fixed edit predictions triggering on collaboration guests when the host edits the document. --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Lukas Wirth and Ben Kunkle created
eae21de
sidebar: Sort threads by created time (#51193)
Release Notes: - N/A
Danilo Leal created
d18e4a7
git: Add SSH support for removing and renaming git worktrees (#50759)
This should be the last step in implementing full git worktree support in the `GitStore`. We still need to add UI for that allows a user to rename a git worktree and, by extension git branches if we use the git picker to do so. Also, I added a helper function called `disallow_guest_request::<T>` to the `Collab::rpc` that is used to specify a proto request isn't allowed to be sent by a guest. This enabled me to add a regression test that checks that a guest isn't allowed to delete a git worktree, without the test hanging forever because it's waiting for the proto server to respond. Since SSH connections send the proto message directly from client to remote host, this won't affect those requests. Before you mark this PR as ready for review, make sure that you have: - [x] Added solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - git: Add SSH support for removing git worktrees
Anthony Eid created
f18567c
git: Add the ability to resolve merge conflicts with the agent (#49807)
This PR adds a "Resolve with Agent" button in each merge conflict block, as well as "Resolve Conflicts with Agents" button on a notification for resolving conflicts across all the files that have any. When clicking on either of these buttons, the agent panel opens up with a template prompt auto-submitted. For the first case, the specific content of the merge block is already attached as context for the agent to act quickly, given it's a local and small context. For the second case (all conflicts across the codebase), the prompt just indicates to the agent which files have conflicts and then it's up for the agent to see them. This felt like a simpler way to go as opposed to extracting the content for all merge conflicts across all damaged files. Here's how the UI looks like: <img width="550" height="1964" alt="Screenshot 2026-02-21 at 11 04@2x" src="https://github.com/user-attachments/assets/96815545-ba03-40e5-9cb0-db0ce9588915" /> --- Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Git: Added the ability to quickly resolve merge conflicts with the agent. --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Danilo Leal , Bennet Bo Fenner , and Zed Zippy created
01e8df4
agent_ui: Fix button to copy the command from terminal calls not appearing (#51191)
Fixes #51048 The "Copy Command" button uses `.visible_on_hover(group)` from GPUI to only appear when the user hovers over its parent container. In `render_collapsible_command` (used to render the code blocks for terminal tool calls like "Run Command"), the parent `v_flex()` container was missing the `.group()` assignment. This caused the copy button to never become visible, which became apparent when an agent session was restored from history. This commit adds `.group(group.clone())` to the root `v_flex()` container in `render_collapsible_command` to restore the hover visibility for the "Copy Command" button. Video : [Screencast from 2026-03-10 18-06-57.webm](https://github.com/user-attachments/assets/ae931ac3-c7f1-4044-a3d8-a91a93d9c3bb) [Screencast from 2026-03-10 18-06-01.webm](https://github.com/user-attachments/assets/5ddb8085-bafe-4e9a-bb02-74e3d860ae1a) Release Notes: - Agent: Fixed an issue where the "Copy Command" button would not appear on hover for terminal tool calls.
Om Chillure created
376d410
ep: Add multi-region format (#51185)
This format generates fewer token while maintaining the quality: ``` Model Generated tokens ↓ DeltaChrF ↑ 0306-seed-multi-regions 46,239 80.62 0304-seed-no-edits 110,871 80.61 0303-seed 271,457 79.62 ``` In addition to the student format, this change adds a new teacher prompt. It seems to be worse than the original, but I haven't optimized it at all. Keeping it for now as a base for potential improvements. Release Notes: - N/A
Oleksiy Syvokon created
f2586fb
livekit_client: Apply correct priority for audio threads (#51178)
Release Notes: - N/A Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Jakub Konka and Piotr Osiewicz created
8fa257b
project_panel: Reveal in file manager when no entry is selected (#50866)
Closes #48284 ## Summary - Fix `project_panel::RevealInFileManager` when no project panel entry is selected. - Preserve existing selected entry behavior. - Add fallback to reveal the last visible worktree root when selection is empty. - Add regression test cov. ## Root Cause `RevealInFileManager` previously depended on `selected_sub_entry()`. When selection is cleared (e.g. click project panel background), Command Palette dispatch had no target and no-op'd. ## Verification - `cargo fmt --all -- --check` - `./script/check-keymaps` - `./script/clippy -p project_panel` - `cargo test -p project_panel -- --nocapture` ## Manual Testing - Reproduced issue steps from #48284. - Confirmed Command Palette `Project panel: Reveal in file manager` now opens project root when selection is empty. - Confirmed selected file reveal behavior remains unchanged. - Confirmed context menu reveal behavior remains unchanged. Release Notes: - Fixed `Project panel: Reveal in file manager` to work even when no project panel entry is selected.
loadingalias created
d1a323b
Fix parsing of filenames like main (1).log (#50770)
## Summary Fixes Windows file-open parsing for names like `main (1).log`. `PathWithPosition::parse_str` could treat `(1)` in a normal filename as a position suffix and drop the extension/path tail. The regex is now anchored so parenthesized row/column parsing only applies at the end of the filename (with optional trailing `:` and optional range suffix). ## Testing - `cargo test -p util path_with_position_parse_` Closes #50597 Release Notes: - Fixed opening files with names like `main (1).log` on Windows.
hagz0r created
a26f0f8
sidebar: Adjust design for the "Open Project" button (#51145)
This PR makes the "Open Project" button in the sidebar also open the "Recent Projects" popover, while also anchoring that popover to the the button on the sidebar instead. Release Notes: - N/A
Danilo Leal created
1475774
ep: Include diagnostics in `ZetaPromptInput` (#51141)
Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
2bd5c21
zeta: Allow the server to select the editable and context ranges more flexibly (#50975)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld and Ben Kunkle created
cb80880
project_panel: Add notifications for drag-and-drop rename conflicts (#51138)
Follow-up https://github.com/zed-industries/zed/pull/51090 Adds workspace error notifications for project panel drag-and-drop moves that fail on rename conflicts. Release Notes: - N/A
Smit Barmase created
7a4aaff
markdown: Fix code block scrollbars flashing on vertical scroll (#50817)
Release Notes: - Fixed code block scrollbars flashing on vertical scroll before: When there are many code blocks, scrolling through markdown will display a horizontal scrollbar (when the mouse is not inside a code block). https://github.com/user-attachments/assets/1fae36ec-5a3f-4283-b54f-e5cb4f45646b after: When scrolling markdown, do not display the horizontal scrollbar when the mouse is not in a code block. https://github.com/user-attachments/assets/0c0f2016-9b18-4055-87a6-4f508dbfd193 --------- Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
a99366a
agent_servers: Use correct default settings (#51136)
These are edge cases, but there are a few ways you can get into a state where you are setting favorites for registry agents and we don't have the setting yet. This prioritizes `type: registry` for agents that we have in the registry, especially the previous built-ins. Release Notes: - N/A
Ben Brandt created
4e9e944
fs: Fix no-overwrite rename races (#51090)
Closes #46661 This PR changes `fs.rename` to use the platform’s atomic no-overwrite rename on all platforms when `overwrite` is `false`. This fixes a case where concurrent renames to the same target could race past a separate metadata check and end up overwriting each other. In Project Panel, we can still rename entries in parallel without worrying about OS internals not handling it correctly or making these renames sequential. Release Notes: - Fixed an issue in the Project Panel where conflicting file moves could overwrite each other instead of leaving the losing file in place.
Smit Barmase created
0634ddb
Fix permission and filtering issues for PR review assignments (#51132)
This PR takes a different approach to permissions for assign-reviewers.yml and better filters external PRs for now. Before you mark this PR as ready for review, make sure that you have: - ~~[ ] Added a solid test coverage and/or screenshots from doing manual testing~~ - [x] Done a self-review taking into account security and performance aspects - ~~[ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)~~ Release Notes: - N/A *or* Added/Fixed/Improved ...
John D. Swanson created
bf63132
livekit_client: Route selected audio input/output devices into legacy audio (#51128)
Release Notes: - Fixed ability to select audio input/output devices for legacy (non-experimental/rodio-enabled) audio.
Jakub Konka created
a5ba121
agent_ui: Handle legacy agent enum variants during deserialization (#51125)
Add custom `Deserialize` implementations for `AgentType` and `ExternalAgent` to map old built-in variant names to current custom agent names, while still accepting current serialized formats. Release Notes: - N/A
Ben Brandt created
cfa703d
PR Review Assignment Workflow Round Two (#51123)
This pull request adds a new GitHub Actions workflow to automate reviewer assignment for pull requests. The workflow leverages the `codeowner-coordinator` repository to intelligently assign the most relevant teams as reviewers based on the changes in the PR. This should streamline the review process and ensure the right teams are notified. **Automated Reviewer Assignment Workflow:** * Introduced `.github/workflows/assign-reviewers.yml`, a workflow that triggers on PR open and ready-for-review events to assign 1-2 relevant teams as reviewers using a script from the `zed-industries/codeowner-coordinator` repository. * The workflow checks out the coordinator repo, sets up Python, installs dependencies, and runs the assignment script with the necessary environment variables. * Reviewer assignment is only performed for PRs originating from within the organization for now. * The output of the reviewer assignment step is maintained as an Actions artifact for later inspection or debugging. Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] ~~Added a solid test coverage and/or screenshots from doing manual testing~~ - [x] Done a self-review taking into account security and performance aspects - [ ] ~~Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)~~ Release Notes: - N/A
John D. Swanson created
fbeffc4
Fix expand/collapse all button for splittable editor (#50859)
The "Expand All Files"/"Collapse All Files" button in `BufferSearchBar` was broken for `SplittableEditor`, which is used in the project diff view. It was happening because `ProjectDiff::as_searchable` returns an handle to the `SplittableEditor`, which the search bar implementation then tries to downcast to an `Editor`, which the `SplittableEditor` did not support, so both the expand/collapse all buttons, as well as the collapse state were broken. Unfortunately this was accidentally introduced in https://github.com/zed-industries/zed/pull/48773 , so this Pull Request updates the `Item` implementation for `SplittableEditor` in order for it to be able to act as an `Editor`. Release Notes: - Fix the "Expand All Files"/"Collapse All Files" button in the project diff view --------- Co-authored-by: Tom Houlé <tom@tomhoule.com>
Dino and Tom Houlé created
503741d
workspace: Hide "View AI Settings" when AI is disabled (#50941)
Fixes #50835 ### Problem : The "View AI Settings" button on the Welcome page was always rendered regardless of the disable_ai setting. This made it visible (and non-functional) for users who had AI disabled, which was confusing. ### Fix : - Adds an optional visibility: Option<fn(&App) -> bool> predicate field to SectionEntry - At render time, Section::render uses filter_map to skip entries whose predicate returns false. - The "View AI Settings" entry is given a predicate that checks !DisableAiSettings::get_global(cx).disable_ai, matching the same pattern used in `title_bar.rs` and `quick_action_bar.rs`. - All other entries have visibility: None, meaning they are always shown — no behaviour change for them. ### Video : [Screencast from 2026-03-06 20-18-43.webm](https://github.com/user-attachments/assets/cbfab423-3ef3-41dd-a9ab-cbae055eef6e) Release Notes: - Fixed the "View AI Settings" button being visible on the Welcome page despite AI features being disabled in settings.
Om Chillure created
aa5c1ff
Optimize update_entries (#51122)
Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Mikayla Maki created
ef08470
Remove unused `rich_text` crate (#50950)
Bennet Bo Fenner created
429f458
zed: Fix file logging being disabled accidentally (#51121)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
7cd0c5d
agent: Fix inline assistant keymap in agent panel (#51117)
Fixes a bug that causes the new large agent panel message editor overrides the ctrl-enter keyboard shortcut to trigger the inline assistant, rather than sending a message Release Notes: - N/A *or* Added/Fixed/Improved ...
Cameron Mcloughlin created
e0b1f8a
zed: Read ZED_COMMIT_SHA from env var when building (#51115)
Quality-of-life improvement for us Nix users - Zed built via `nix build` will now correctly the git commit sha in its version <img width="433" height="298" alt="image" src="https://github.com/user-attachments/assets/b940ee4a-6914-4410-ba20-b50391282a4e" /> Release Notes: - N/A
Jakub Konka created
850188f
workspace: Include threads in matched workspaces (#51114)
Cameron Mcloughlin created
d788673
Do not derive symbol highlights if they do not fit into multi buffer (#50948)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Kirill Bulatov and Conrad Irwin created
b06c0e0
ui: Add `GradientFade` component (#51113)
Just adding this here as an utility component given we were doing similar things on the sidebar, thread item, and list item. It'd be probably useful, in the near future, to give this more methods so it's more flexible. Release Notes: - N/A
Danilo Leal created
8bc66b3
extensions_ui: Fix extension author list overflow (#51045)
Closes #50995 Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed extension author's list overflow <img width="1326" height="369" alt="image" src="https://github.com/user-attachments/assets/4b2cf9cb-d3c3-4d71-a4fd-9436fb7b1469" /> --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
francesco-gaglione and Danilo Leal created
b54716d
ep: Skip context retrieval when already performed (#51100)
Previously we didn't distinguish between an empty `.related_files[]` and a case where context collection hadn't run yet. As a result, context retrieval was always attempted for examples with empty `related_files`. Release Notes: - N/A
Oleksiy Syvokon created
171e7cb
sidebar: Improve behavior of "view more" button (#51105)
This PR adjusts the "View More" button in the sidebar to expose threads in batches of 5. Once you've expanded the whole available set, a button to collapse the list back to the default number appears at the bottom. Similarly, as soon as you expand the list even once, a button in the group header shows up that does the same thing. No release notes because this is still under feature flag. Release Notes: - N/A
Danilo Leal created
6810f23
ci: Add source list and GPG key manually of ubuntu-toolchain-r (#51102)
Release Notes: - N/A
Jakub Konka created
175707f
open_ai: Support reasoning summaries in OpenAI Responses API (#50959)
Related to AI-79. Release Notes: - N/A
Neel created
e9c691a
ep: Add `<|no-edit|>` command to hashlines format (#51103)
Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
26f81c4
sidebar: Improve project header truncation (#51096)
Touching up the scenario in which the project header label is too big. This uses the same gradient overlay treatment we're using for the thread item component. Release Notes: - N/A
Danilo Leal created
0924bb8
ui: Extract `table_row` & `tests` modules to separate files (#51059)
Extract data table modules into separate files This PR extracts the `tests` and `table_row` modules from `data_table.rs` into separate files to improve code organization. This is preparatory work for the upcoming column width API rework (#2 in the series), where separating mechanical changes from logical changes will make the review easier. The extraction was performed using rust-analyzer's "Extract module to file" command. **Context:** This is part 1 of a 3-PR series improving data table column width handling: 1. **This PR**: Extract modules into separate files (mechanical change) 2. [#51060](https://github.com/zed-industries/zed/pull/51060) - Introduce width config enum for redistributable column widths (API rework) 3. Implement independently resizable column widths (new feature) The series builds on previously merged infrastructure: - [#46341](https://github.com/zed-industries/zed/pull/46341) - Data table dynamic column support - [#46190](https://github.com/zed-industries/zed/pull/46190) - Variable row height mode for data tables Primary beneficiary: CSV preview feature ([#48207](https://github.com/zed-industries/zed/pull/48207)) Release Notes: - N/A
Oleksandr Kholiavko created
97421c6
Remove unreferenced dev dependencies (#51093)
This will help with test times (in some cases), as nextest cannot figure out whether a given rdep is actually an alive edge of the build graph Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Piotr Osiewicz created
6b64b4c
agent_ui: Add keybinding and action for worktree toggle (#51092)
This PR adds an action and keybinding to trigger the worktree dropdown in the agent panel. This is still under a feature flag, so no release notes yet. Release Notes: - N/A
Danilo Leal created
4abeeda
recent_projects: Don't panic when attempting to delete SSH server out of bounds (#51091)
Fixes ZED-517
Can be reproed by:
Going into server options of the last server on your list.
selecting "Remove server".
Clicking on the button AND issuing menu::Confirm action at the same time
(well, roughly the same time).
The result: OS pop-up is issued twice; if the user does confirm twice,
that's when that panic is hit.
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed a potential crash when deleting SSH servers too eagerly.
Piotr Osiewicz created
0a436be
git: Introduce restore and next action (#50324)
Add a `git::RestoreAndNext` action that restores the diff hunk at the cursor and advances to the next hunk. In the git diff view, the default restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on Linux/Windows) is remapped to this action so users can quickly restore hunks in sequence. Also refactor `go_to_hunk_before_or_after_position` to accept a `wrap_around` parameter, eliminating duplicated hunk-navigation logic in `do_stage_or_unstage_and_next` and `restore_and_next`. Release Notes: - Added a `git: restore and next` action that restores the diff hunk at the cursor and moves to the next one. In the git diff view, the default restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on Linux/Windows) now triggers this action instead of `git: restore`. --------- Co-authored-by: Afonso <4775087+afonsograca@users.noreply.github.com>
Dino and Afonso created
8475280
extension_cli: Add tests for semantic token rules and language tasks (#50750)
This adds checks to the extension CLI to ensure that tasks and semantic token rules are actually valid for the compiled extensions. Release Notes: - N/A
Finn Evers created
f5ff9ee
docs: Add CC BY 4.0 and Unlicense as accepted extension licenses (#51089)
Release Notes: - N/A
Finn Evers created