Commit Graph
39151 Commits
Author SHA1 Message Date
Ben KunkleandMax ed3553491b ep: Include more context (#50533)
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 ...

---------

Co-authored-by: Max <max@zed.dev>
2026-03-02 17:23:30 -05:00
Kirill Bulatov 7ad524661d Remove Supermaven-related code from Zed (#50537)
Follow-up of https://github.com/zed-industries/zed/pull/49317

See also https://supermaven.com/blog/sunsetting-supermaven

- N/A
2026-03-02 22:18:49 +00:00
Dino 1f11592d93 editor: Remove folded buffer ID on all excerpts removed (#50525)
Fix a bug in the editor's handling of the
`multi_buffer::Event::ExcerptsRemoved` event, where the display map's
`folded_buffers` set was not updated according to the list of removed
buffer ids.

Since the `ProjectSearchView` now relies on the
`Editor.has_any_buffer_folded` method in order to decide the state of
the expand/collapse all excerpts button this could lead to a
bug where, after an initial project search, all excerpts would be
collapsed, and performing a new search would leave the button in a wrong
state, as all excerpts from the new search result would be expanded, but
the button would still consider that there were folded excerpts for the
buffers.

Closes #50521

Release Notes:

- Fixed bug in project search where collapsing a single buffer then
performing a new search in the same view, would break the
expand/collapse all button behavior
2026-03-02 22:13:09 +00:00
Marco Mihai Condrache f0620c6f8f editor: Preserve compound emojis (#50082)
Closes #45466

Emojis like 🧑‍✈️ are grapheme clusters formed using zero-width joiners
and variation selectors. Iterating over the string by individual chars
in `highlight_invisibles` breaks these clusters, even though they
represent a single visible character.

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:

- Zed now supports compound emojis
2026-03-02 22:33:05 +01:00
Lucas White 0d79f44ec9 Update legal docs to reflect new terms of service (#50530)
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:

- Update legal docs to reflect new Terms, Privacy Policy, Subprocessors,
and Acceptable Use Policies (fka Third Party Terms)
2026-03-02 12:36:31 -08:00
Conrad IrwinandJohn Tur 4be8544777 wGPU: Select more specifically (#50528)
This uses the compositor hints if available to pick the best GPU. If
none is
available, it tries each GPU in turn, and the first that actually works
is chosen

Release Notes:

- Linux: Select a more appropriate GPU

---------

Co-authored-by: John Tur <john-tur@outlook.com>
2026-03-02 13:30:40 -07:00
b47b353e37 Docs/privacy documentation refresh (#50522)
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:

- Updated Privacy and Telemetry docs for improved clarity

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-03-02 11:21:07 -08:00
Bennet Bo Fenner 2879349b1e agent: Fix review experience for StreamingEditFileTool (#50518)
Release Notes:

- N/A
2026-03-02 18:46:25 +00:00
Ben Brandt 56ae09502a agent: Use correct subagent thread entity to get the entries list (#50515)
Was grabbing off the Thread not the AcpThead 🤦

Release Notes:

- N/A
2026-03-02 18:27:32 +00:00
Ben BrandtandBennet Bo Fenner 41a0c63c23 agent: Add linked action log support for subagent threads (#50500)
Subagents now forward buffer reads/writes/edits to a parent action log,
allowing the parent's review experience to track all file changes made
by subagents alongside its own.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 18:00:12 +00:00
Cole Miller db8f64935a remote_server: Don't panic when forwarding stderr (#50505)
Closes ZED-5B7

Release Notes:

- N/A
2026-03-02 12:59:14 -05:00
Ben Brandt a6106d2bfb agent: Add back in discouragement of useless subagents (#50512)
Release Notes:

- N/A
2026-03-02 17:29:22 +00:00
Ben BrandtandBennet Bo Fenner c6319d3e02 agent: Propagate model settings to running subagents (#50510)
When the model, summarization model, thinking settings, speed, or
profile are updated on a thread, apply the same settings to any
currently running subagents.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 17:10:36 +00:00
Oliver Azevedo BarnesandKyleBarton f9895c5468 devcontainer: Fix git output (#49230)
Closes #48434

In Dev Containers, failed git operations were surfaced with a generic
failure message, while the useful git output (stderr/stdout) was not
reliably available to users.

This happened because in devcontainers the git operation errors go
through an RPC layer and then got wrapped with `anyhow::Context` (e.g.
“sending pull request”); the toast displayed only that outer context via
`to_string()`, masking the underlying git stderr message.

This change ensures the full git operation output is preserved and
surfaced via Zed’s “See logs” flow in Dev Containers, matching the
information you get when running the same git command in a terminal.

### What you should expect in the UI
- You will see a generic toast like “git pull failed” / “git push
failed”.
- When clicking on the toast’s “See logs”, the log tab now contains the
full git error output (e.g. non-fast-forward hints, merge conflict
details, “local changes would be overwritten”, etc.), which previously
could be missing/too generic.
---

## Manual testing

Run inside a Dev Container and ensure git auth works (SSH keys/agent or
HTTPS credentials).

1. **Dirty-tree pull failure**
   - Make remote ahead by 1 commit (push from another clone).
   - Locally modify the same file without committing.
   - In Zed: **Pull**  
- **Expect:** toast “git pull failed” + **See logs** shows “local
changes would be overwritten…” (or equivalent).

2. **Non-fast-forward push failure**
   - Ensure remote ahead.
   - Locally create 1 commit.
   - In Zed: **Push**  
- **Expect:** toast “git push failed” + **See logs** shows “rejected
(non-fast-forward)” + hint to pull first.

3. **Merge-conflict pull failure**
- Create conflicting commits on the same lines (one local commit, one
remote commit).
   - In Zed: **Pull**  
- **Expect:** toast “git pull failed” + **See logs** shows conflict
output (“CONFLICT…”, “Automatic merge failed…”).

Release Notes:

- Fixed devcontainer git failure toasts so they show the actual git
error

---------

Co-authored-by: KyleBarton <kjb@initialcapacity.io>
2026-03-02 09:10:12 -08:00
Lukas Wirth 2b774e5cd2 extension_host: Allow extensions to define semantic highlighting rules (#49282)
for their given language via a `semantic_token_rules.json` file

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 17:54:53 +01:00
Conrad Irwin 04fc31fc19 Fix another case where we could apply highlights with wrong indices (#50367)
Closes #ISSUE

Release Notes:

- N/A
2026-03-02 09:53:43 -07:00
Kunall Banerjee 2d3c05ee41 Add libva-devel as required deps for dnf section (#50476)
If I follow the steps outlined in https://zed.dev/docs/development/linux
then `cargo run` on my Fedora workstation fails because the install
script is missing `libva-devel` as a required dependency under `dnf` /
`yum` sections.

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
2026-03-02 09:37:06 -07:00
Bennet Bo Fenner 9ca695d9f6 Remove dbg! from tests (#50506)
Removes a bunch of `dbg!`'s from strings in test code. It's annoying
cause these show up in project search, when you are removing
`dbg!(...)`'s after debugging something

Release Notes:

- N/A
2026-03-02 16:31:20 +00:00
Ben Kunkle bb6c52bd5e agent: Log thread title generation errors (#50504) 2026-03-02 17:27:00 +01:00
Om Chillure 3630ac9238 Fix renaming with . in JSX tags (#50373)
Fixes #50245

### Summary :
This PR fixes linked tag renaming when typing . in tag names like
<Table.Headers>...</Table.Headers>.

Previously, linked editing treated . as punctuation (unless a language
explicitly configured it as a linked-edit character), so renaming could
stop syncing at the dot and produce mismatched closing tags.

### What changed
Updated linked-edit input handling to preserve linked edits when the
typed input is exactly ".", even if the active language does not
explicitly include dot in linked_edit_characters.
Added a regression test covering dot typing in linked edits without
language override.

Kept existing punctuation behavior (e.g. >) unchanged.

### Files changed
[editor.rs]
[editor_tests.rs]

### Why this approach
Minimal, targeted fix in shared linked-edit path.
Works for .svelte and similar markup contexts where dot-separated
component names are valid in practice.
Avoids requiring every language/extension to add dot config
individually.

### Validation
Manual repro confirmed: opening tag rename with dot now keeps closing
tag synced.
Added test: test_linked_edits_on_typing_dot_without_language_override.
Existing related test remains relevant:
test_linked_edits_on_typing_punctuation.
2026-03-02 11:24:39 -05:00
KyleBarton 0214d6e78b Adjust scroll top by number of sticky headers (#50359)
In cases where sticky headers are enabled, count the number of sticky
headers that would be present when performing `editor:scroll cursor
top`. Take the maximum of that number and `verical_scroll_margin` so
that we don't inadvertently bury the cursor behind the sticky headers.



https://github.com/user-attachments/assets/6d49fe3a-2017-4c76-bd92-c4ec9794f898



Closes #48864

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:

- Fixed scroll top behavior when there are more sticky headers than
vertical_scroll_margin
2026-03-02 08:09:13 -08:00
Danilo Leal 0cf551fd6f agent_ui: Use main message editor for editing queued messages (#50490)
This PR changes the behavior of editing queued messages. Previously, you
could type directly in the editor that was used to displayed a queued
message. However, that felt a bit anxiety-inducing because there was a
chance the message would get sent before you could've wrapped up your
edits. And even if we blocked the message to get sent while focused on
the editor, it could still be a bit unpredictable. So, with this PR, if
you type on a queued message, the content of that message goes
immediately back to the main message editor. Effectively, you're taking
that message off the queue so you can edit it, and then if you hit enter
(while there's a generation ongoing), that content goes back into the
queue.

I believe this allows for a calmer editing experience when wanting to
touch up or increment a queued message.

Here's a video of the flow:


https://github.com/user-attachments/assets/ec60ccad-2b04-4b7c-a8f5-95baa443d9f2

In the video, I'm showcasing a few things:
- in case the main message editor already had content, the content from
the edited queued message is appended to it. That avoids the user
surprisingly losing information.
- the fact that mention creases still work well and are not converted
back into plain text

Release Notes:

- Agent: Made editing queued messages better by moving the contnet back
to the main message editor, avoiding the chance of it getting sent
mid-editing.
2026-03-02 13:02:30 -03:00
Danilo Leal 805e32c363 agent_ui: Improve loading state when there's only a terminal call (#50501)
In the thread view, when the last block is an ongoing terminal tool
call, we're not waiting for the LLM to generate content, but rather,
we're waiting for the command to run so its output can be sent to the
model. With that in mind, it doesn't make sense for the generating
loading spinner to be visible. So, this PR, removes it. But I also took
the opportunity to refine the terminal card header a bit, as well as
make the "command running" spinner, as well as the stop button, visible
for external agents, too.


https://github.com/user-attachments/assets/c7e2865a-af9b-416b-a06a-908dffb916da

In the video, you can see that given we only have a running-terminal
tool call, there's no generation loading spinner.

Release Notes:

- Agent: Improved loading state for the thread view when there's only a
running terminal command.
2026-03-02 13:02:06 -03:00
Cole Miller 7e10264219 git: Silence verbose log when loading index/committed text (#50496)
Updates #50487 

Release Notes:

- N/A
2026-03-02 15:57:44 +00:00
Ben BrandtandBennet Bo Fenner 12b786dffc agent: Remove subagents feature flag (#50493)
Release Notes:

- agent: Add new `spawn_agent` tool which allows the Zed Agent to
utilize subagents for doing tasks in parallel and better context
management.

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 15:30:03 +00:00
Lukas Wirth e30720a781 gpui_web: Implement fetch based HTTP client (#50463)
Can only be used in single threaded environments for now due to js
futures being non-send.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 16:18:01 +01:00
Ben BrandtandBennet Bo Fenner af5e26175a agent: Add subagent info to telemetry events (#50492)
- **Add parent_session_id to agent thread feedback submission**
- **Add more parent session ids to events**

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 15:17:05 +00:00
Lukas Wirth 065d85d850 editor: Do treesitter bracket colorization work on the background (#50068)
This is pure computation work that is disconnected from main thread
entity state yet it can still block for a couple milliseconds depending
on the file

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 15:15:08 +00:00
Ben BrandtandBennet Bo Fenner 5e9ee9ea4a agent: More subagent fixes (#50489)
- Skip agent location updates for subagent threads
- Hide edits summary for subagent thread
- Fix tool permission granularity selection from parent thread

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 14:42:01 +00:00
Lukas Wirth 8f329d1ee3 workspace: Properly flush effects in send_keystrokes_impl (#50486)
Should fix the test issue observed in
https://github.com/zed-industries/zed/pull/50068

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 15:37:59 +01:00
Cole Miller a09b6fba88 settings_ui: Defer fetch_files to avoid reentrant lease of Project (#50488)
Closes ZED-5CA

Release Notes:

- Fixed a crash when opening the settings UI.
2026-03-02 09:33:48 -05:00
Cole Miller ad017e0342 git: Prevent crashes when looking index text for empty path (#50487)
We were trying to mitigate these by passing `.` instead of ``, but it
turns out that git2 also panics internally for that. It also just
doesn't make sense to look up the index text (or committed text) for an
empty path, because a file should always have a nonempty repo path.

Closes ZED-560

Release Notes:

- N/A
2026-03-02 14:14:12 +00:00
Smit Barmase 2549db7dba markdown_preview: Fix multiple mermaid rendering issues (#50485)
Closes #50172
Closes #50238
Closes #50243
Closes #50196

Updates `mermaid-rs-renderer` with the following fixes:

- Fix ampersand in node labels splitting nodes incorrectly
([`374db9e`](https://github.com/zed-industries/mermaid-rs-renderer/commit/374db9e))
- Add gantt compact display mode via yaml frontmatter
([`d1bf282`](https://github.com/zed-industries/mermaid-rs-renderer/commit/d1bf282))
- Fix class diagram stereotype annotations rendered as members
([`6203d71`](https://github.com/zed-industries/mermaid-rs-renderer/commit/6203d71))
- Fix dotted lines being indistinguishable from solid
([`94fb543`](https://github.com/zed-industries/mermaid-rs-renderer/commit/94fb543))
- Fix class diagram arrowheads hidden under node boxes
([`cd79c56`](https://github.com/zed-industries/mermaid-rs-renderer/commit/cd79c56))
- Fix text not rendering in some cases
([`9534cb1`](https://github.com/zed-industries/mermaid-rs-renderer/commit/9534cb1))

Release Notes:

- Fixed multiple mermaid diagram rendering issues in markdown preview.
2026-03-02 19:21:34 +05:30
Cole MillerandBennet Bo Fenner db02d09331 git: Fix conflicted paths not getting cleared (#50327)
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 bug where files would still be marked as having git conflicts
after resolving them.

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-02 13:40:34 +00:00
Cole Miller c0008cf0f8 editor: Fix edit prediction popovers painting outside the editor's bounds (#50361)
Deferred draws previously didn't use a content mask, so you could
horizontally scroll an EP popover all the way out of the containing
pane.

This also affects other UI elements that use the deferred draw system; I
think in practice it doesn't make much difference because most of those
seem to require something in the editor to be hovered, so if you scroll
horizontally the element goes away.

Release Notes:

- Fixed being able to scroll the edit prediction popover out of the
containing pane.
2026-03-02 13:38:50 +00:00
Bennet Bo FennerandBen Brandt ef60143e7a agent: Show full subagent output if no concurrent tool calls (#50478)
Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-03-02 13:21:26 +00:00
Agus Zubiaga 8cd192ec3a scheduler: Fix many with non-zero seed (#50482)
The iteration range was `(seed..num_iterations)`, which produces an
empty range whenever `seed >= num_iterations`. Changed it to
`(seed..seed + num_iterations)` so the range always runs the correct
number of iterations starting from the given seed.

Release Notes:

- N/A
2026-03-02 12:38:32 +00:00
José DuarteandDanilo Leal 6ab7898a5e agent: Add full-path tooltips to chat mentions (#50087)
In text box
<img width="662" height="160" alt="Screenshot 2026-02-25 at 14 32 01"
src="https://github.com/user-attachments/assets/c568036c-1445-46cd-b703-41af1b185d6f"
/>
In chat
<img width="661" height="245" alt="Screenshot 2026-02-25 at 14 32 15"
src="https://github.com/user-attachments/assets/9932799f-6580-4a70-b83f-d1c0fb0c55d9"
/>
In chat (light theme)
<img width="656" height="232" alt="Screenshot 2026-02-25 at 14 35 26"
src="https://github.com/user-attachments/assets/65c4ce56-c902-4dda-a1c4-9dfcea0e6012"
/>

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2026-03-02 09:34:01 -03:00
Lena 183d1a41f7 Fix duplicate bot versioning in false neg:s reporting (#50479)
The case of false negatives (“Missed opportunities”) was not considered
when the bot versioning was added. Now we're also automatically
attributing the false negatives to the bot version that made them.

Release Notes:

- N/A
2026-03-02 11:16:00 +00:00
Lukas Wirth c05e5859c6 Detect leaked entities at the end of test runs (#50400)
This does not yet allow for finding task <-> entity cycles
unfortunately, but at least it does catch entity <-> entity cycles for
the time being

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 12:04:13 +01:00
Bennet Bo Fenner 4052f98bd8 agent: Fix subagent permission prompt showing up in multiple cards (#50475)
Release Notes:

- N/A
2026-03-02 10:26:29 +00:00
Bennet Bo FennerandBen Brandt e80a456eb0 agent: Do not include thinking blocks in subagent output (#50473)
Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-03-02 10:05:00 +00:00
Finn Evers 6a14388d38 languages: Add support for passing user settings to Go LSP adapter (#50472)
Closes https://github.com/zed-industries/zed/issues/50276

Release Notes:

- Added support for specifying settings for the Go LSP adapter
2026-03-02 09:33:48 +00:00
Finn Evers 6a63387790 extension_ci: Add formatting check for Tree-sitter queries (#50318)
This rolls out the formatting check to extensions also.

Release Notes:

- N/A
2026-03-02 10:27:01 +01:00
Lukas Wirth 7cff4b0998 editor: Clean up tab_map (#49606)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 09:24:04 +00:00
Lukas Wirth 18532995ec language: Defer dropping the SyntaxSnapshot to a background thread (#50386)
Dropping deep tree-sitter Trees can be quite slow due to deallocating
lots of memory (in the 10s of milliseconds for big diffs). To avoid
blocking the main thread, we offload the drop operation to a background
thread.

Instead of a static thread we could also integrate this with the gpui
app or use the executors, but both of that would require threading that
through as a field which I don't think is too great either

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-02 09:23:37 +00:00
Smit Barmase 3f57cb0f14 markdown_preview: Remove recoverable_panic and fix mermaid hex parsing panic (#50470)
#50176 added `recoverable_panic` to swallow mermaid panics, then #50280
fixed it in upstream. This PR removes the workaround so future panics
reach Sentry. Also bumps `mermaid-rs-renderer` to fix a hex parsing
panic.

Release Notes:

- N/A
2026-03-02 14:26:58 +05:30
Owen Law 0f8f71d794 gpui(web): Fix crash when resizing on firefox-linux (#50419)
Fixes a crash which occurred on firefox-linux when resizing (and was
causing blanks during resize in other browsers)

The issue was due to attempting to resize the drawing buffer while it
was being rendered to, which causes a browser crash since firefox
destroys that buffer while it is still being accessed. This essentially
defers the resize to just before drawing, so that it won't be resized
*while* being drawn to.

Release Notes:

- N/A
2026-03-02 09:40:24 +01:00
Lukas Wirth da499966d2 editor: Fix sticky diff hunk controls not being flush to buffer headers (#50402)
Release Notes:

- Fixed a visual gap between diff hunk controls and buffer headers
2026-03-02 09:23:08 +01:00
Smit Barmase ac4b14370c project_panel: Set diagnostic badges off by default (#50454)
Release Notes:

- N/A
2026-03-02 10:53:06 +05:30