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.
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.
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>
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 ...
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
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>
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.
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
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
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 ...
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 ...
#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
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
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 ...
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 ...
Updated outdated instructions for configuring GitHub Copilot to match
those on other editor's migration guides
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
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
Fixed the incorrect menu label from "Open File History" to "View File
History" in the docs so it matches the actual UI.
<img width="940" height="1350" alt="2026-02-22 at 22 49 35"
src="https://github.com/user-attachments/assets/3410fafb-48ed-457f-a2fb-1005708aee52"
/>
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
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
This fixes a problem where editing a proto file would make the proto LSP
show a ton of warnings and avoids the giant diff that formatting a
.proto file would cause.
I also added a lint check when our clippy script is ran locally
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
Release Notes:
- Fixed multiple language servers applying to the same buffer
overwriting each others inlay hints
- Fixed multiple language servers applying to the same multibuffer
discarding each others inlay hints
- Fixed a bug that caused some inlay hints to sometimes duplicate