Commit graph

35605 commits

Author SHA1 Message Date
Bennet Bo Fenner
c9425f2a90
agent: Stream new_text in StreamingEditFileTool (#50240)
We now stream the new text into the buffer as soon as we receive partial
chunks of `new_text`. This is pretty much a full re-write of the way
streaming worked, which is now much closer to how the edit agent works:
- `ToolEditParser` buffers chunks as they stream in, and emits relevant
events (`OldTextChunk`,`NewTextChunk`, ...) that we use to power the
`EditSession` pipeline.
- `EditSession::process_events` takes care of consuming these events and
applying the edits incrementally as chunks stream in. `EditPipeline`
maintains the underlying state machine for each edit.
- We handle whitespace mismatches similar to the edit agent, the code is
shared by moving that logic to `reindent.rs`

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
2026-02-27 13:24:57 +01:00
Lena
78878e514e
Decrease review needs of the duplicate bot (#50289)
Turns out you can't query the duplicate issue for the id of the
original/canonical issue, even though GitHub UI displays “Closed as
duplicate of <original issue id>”. Oh well. For the bot performance
tracking all that matters is whether any of its suggestions were the
actual originals, so we're working around the API limitation by querying
the suggested issues instead.

Release Notes:

- N/A
2026-02-27 12:16:58 +00:00
Lena
511be9a3ff
Fix version reporting for duplicates bot (#50286)
Obviously™, we add the bot-commented issues onto the tracking board at
the time of the issues getting closed, which is very much not the same
time as when the bot commented. We could very well be adding the issue
with a v1 bot comment to the board when v2 is already deployed. This
commit stops messing up those stats.

Release Notes:

- N/A
2026-02-27 11:56:39 +00:00
Wuji Chen
96abd034a9
Fix Cmd+click navigating to file instead of definition (#49012)
## Summary

- Tighten `link_pattern_file_candidates` regex from `\(([^)]*)\)` to
`]\(([^)]*)\)` so only Markdown link syntax `[title](path)` triggers
path extraction from parentheses
- Prevents function call arguments like `do_work(file2)` from being
incorrectly resolved as file paths, which preempted LSP go-to-definition

Closes #48938

## Test plan

- [x] `cargo test -p editor hover_links` — all 12 tests pass
- [x] New unit tests verify: function calls don't extract arguments as
file candidates; Markdown links still extract correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Release Notes:

- Fixed Cmd+click navigating to file instead of definition in certain
cases

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 12:28:34 +01:00
Smit Barmase
0fad478607
markdown_preview: Fix mermaid diagrams failing to render with empty subgraphs (#50280)
Upgrade mermaid-rs-renderer to 9d8360d9cea10dc4bc86d7b8012cc6e9656e6cf2

Release Notes:

- N/A
2026-02-27 16:20:27 +05:30
Danilo Leal
365e4157b7
agent_ui: Add more improvements to the subagent UI (#50260)
This PR includes the following adjustments:

- Add divider in the full screen view to expose what part of a
subagent's output is actually sent to the parent model
- Auto-expand the subagent card if there's only one running on a turn
- Adjust errors display within the subagent card

Release Notes:

- N/A
2026-02-27 11:04:39 +01:00
Lukas Wirth
7f09bff76a
gpui: Reduce amount of wasm cfgs in gpui (#50278)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-27 09:18:03 +00:00
John Tur
7e582468db
Improve GPU selection on Linux (#50274)
Follow-up to https://github.com/zed-industries/zed/pull/50270

Release Notes:

- N/A
2026-02-27 07:59:06 +00:00
John Tur
f0535ddc3c
Relax device limits for WGPU (#50270)
Plus some minor cleanup.

Release Notes:

- Fixed GPU acceleration not working on certain Linux devices.
2026-02-27 01:31:20 -05:00
Kunall Banerjee
a217578649
docs: Point to the right Bash extension repository (#50271)
Closes #50261.

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~ N/A
- [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
2026-02-27 06:24:34 +00:00
Kunall Banerjee
1c39e192f1
languages: Reorder type identifier highlights in JavaScript (#49325)
Move general type identifier rules before class-specific ones to ensure
proper precedence in the syntax highlighting query.

Closes #49226.

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 an issue where class names were not highlighted correctly in
JavaScript files
2026-02-27 03:14:40 +00:00
Max Brunsfeld
9ff0b0206f
Include optional model version with EP acceptance and rejection messages (#50262)
Release Notes:

- N/A
2026-02-27 01:07:37 +00:00
Max Brunsfeld
d4e89f9587
Add edit prediction evals that test related excerpt usage (#50256)
I've also fixed a race condition with the programmatic context retrieval
in the CLI, which was causing no excerpts to be fetched for the Rust
examples.

Release Notes:

- N/A
2026-02-26 15:36:29 -08:00
Kirill Bulatov
703bc36988
Revert "outline: Refactor outline render_item to reuse existing TextStyle (#49166)" (#50258)
This reverts commit 69e5ff7c76.

Release Notes:

- N/A
2026-02-26 23:27:24 +00:00
dancer
0859cce2e5
Add Vercel AI gateway provider integration (#50207)
## Summary
- add a new `ai_gateway` language model provider in zed using the
openai-compatible chat completions path
- register ai gateway in provider wiring, settings schema, and default
settings
- add vercel ai gateway icon and provider list entry
- parse ai gateway model capabilities from tags (`tool-use`, `vision`)
and supported parameters
- clean up ai gateway oidc auth failures into a concise actionable error
message

Release Notes:

- Added Vercel AI Gateway as a new LLM provider in Zed.
2026-02-26 17:54:44 -05:00
Mikayla Maki
f1c5ed324b
Add folder_paths for project grouping (#50249)
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
2026-02-26 22:32:48 +00:00
Nikhil Pandey
cbbcb1e101
acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246)
## Problem
Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.

For many model switches, the IDs stay the same (`mode`, `model`,
`reasoning_effort`) while the valid values for `reasoning_effort` change
by model. As a result, the picker could show stale values (for example,
missing `xhigh` on `gpt-5.3-codex`, or showing extra `xhigh` after
switching away).

This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.

## Fix
Rebuild ACP config-option selectors on every `config_option_update`, not
only when config IDs change.

This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.

## User Impact
- Reasoning-effort picker now reflects the selected model immediately on
Claude <-> GPT transitions.
- Prevents stale or invalid effort choices in ACP sessions.

## Validation
- Manual validation: switch across models with different
reasoning-effort sets and confirm picker updates immediately.
- Local `cargo check -p agent_ui` remains blocked by unrelated
pre-existing `livekit-protocol` compile errors in this checkout.

## Files Changed
- `crates/agent_ui/src/acp/config_options.rs`

Release Notes:

- acp: Fix for config selectors not always being refreshed

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-02-26 22:03:46 +00:00
Ben Brandt
da2bed1930
agent: Rename run_turn to send in subagent handle (#50242)
Align better with naming in thread. I grabbed the wrong function name :D

Release Notes:

- N/A
2026-02-26 20:43:34 +00:00
Tom Houlé
6a749380aa
Add fast mode toggle in agent panel (#49714)
This is a staff only toggle for now, since the consequences of
activating it are not obvious and quite dire (tokens costs 6 times
more).

Also, persist thinking, thinking effort and fast mode in DbThread so the
thinking mode toggle and thinking effort are persisted.

Release Notes:

- Agent: The thinking mode toggle and thinking effort are now persisted
when selecting a thread from history.
2026-02-26 21:19:41 +01:00
Kunall Banerjee
d858f5236f
settings: Remove unused file_finder.git_status setting (#49889)
From the looks of it, this setting was never used by the File Finder. It
also doesn’t make much sense to show git info in the File Finder. The
Project Panel already exposes this information to the user.

Closes #49709.

| Before | After |
|--------|--------|
| <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/9666ace7-38cb-4789-8681-80c15b8ac3fd"
/> | <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/5e0505d7-3ede-46fa-bb33-a44865a9f64b"
/> |

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:

- Removed unused `file_finder.git_status` setting
2026-02-26 18:53:17 +00:00
Lukas Wirth
14f37ed502
GPUI on the web (#50228)
Implements a basic web platform for the wasm32-unknown-unknown target
for gpui

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: John Tur <john-tur@outlook.com>
2026-02-26 18:36:50 +01:00
Kunall Banerjee
e8325318a0
languages: Add .prettierrc to JSON path_suffixes (#50156)
`.prettierrc` can be [written](https://prettier.io/docs/configuration)
in either JSON or YAML. Whether you write JSON or YAML, VS Code will
default to recognizing it as JSON. See screenshot.

Without this change, the user is forced to do:

```jsonc
"file_types": {
  "JSON": [".prettierrc"],
},
```

Small QoL improvement.

| VS Code | Zed (after the changes) |
|--------|--------|
| <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/1f9533fc-a77a-40f3-b8a5-6c36faeccffd"
/> | <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/bef8ca94-006c-44bd-ac1c-59f915b67123"
/> |

Closes #50072.

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:

- Added `.prettierrc` to JSON `path_suffixes`
2026-02-26 17:07:25 +00:00
KyleBarton
13933b88d5
Handle empty match list and do safe vector selection instead of slicing (#50232)
Handles a panic found in telemetry - when there are no template matches
or feature matches, the picker delegate will panic due to an indexing
exception. This solves by:
1. Returning early if there are no matches, and
2. Performing safe vector `get` operations instead of slicing, so we can
handle a not-found scenario.



https://github.com/user-attachments/assets/ac76164d-63aa-4e2b-8555-d8e4f4dd2524



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 potential crash from initializing devcontainer.json
2026-02-26 17:06:24 +00:00
Albab Hasan
dd9efd9cbe
gpui: Fix send_file_drop_event holding mutex during event callback (#50173)
`send_file_drop_event` was the only event dispatch site in window.rs
that called the event callback while still holding the `MacWindowState`
mutex. every other callback site in the file uses the established
`take() / drop(lock) / callback()` pattern which releases the lock
before invoking user code.

this is a latent code quality issue: no deadlock occurs today because
the current file-drop callback chain does not reenter `MacWindowState`'s
mutex (`Window::mouse_position()` returns a cached field
`Window::refresh()` only marks a dirty flag and `cx.activate()` uses a
separate `MacPlatform` mutex). but `parking_lot::Mutex` is not entering
so any future platform call added inside a filedrop handler would
deadlock immediately and silently.

the fix brings `send_file_drop_event` in line with the rest of the file
by taking the callback out of the state dropping the lock invoking the
callback then reacquiring the lock to restore the callback and update
state.

Release Notes:

- N/A
2026-02-26 16:58:40 +00:00
Ben Brandt
820774ac89
agent: Simplify subagent tool and handle (#50230)
Moves parent thread information into the environment, and also models it
as a turn on the handle rather than waiting for output.

Release Notes:

- N/A
2026-02-26 16:41:24 +00:00
Cole Miller
be5763632d
Start removing callers of legacy excerpt APIs (#50144)
Paving the way to remove `ExcerptId`. Done in this PR:

- Unshipped the stack trace view
- Get rid of `push_excerpts`
- Get rid of some callers of `remove_excerpts`

We still need to remove some calls to `remove_excerpts` and other APIs,
especially in `randomly_edit_excerpts` and collaboration.

Release Notes:

- The stack trace multibuffer view has been removed.

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2026-02-26 10:37:43 -05:00
Xiaobo Liu
8b2829e112
language_selector: Auto-select current language when opening (#48475) 2026-02-26 15:18:25 +00:00
0x2CA
fc2d805ac8
Fix Collapse All Files button being limited to the current buffer (#50076)
Refactor buffer search bar click handler to use listener pattern

The click handler for the buffer search bar now uses the `cx.listener`
pattern instead of directly dispatching the action. This approach
properly binds the action handler to the component's context and ensures
consistent behavior with other event handlers in the codebase.

Closes #ISSUE

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)


before:


https://github.com/user-attachments/assets/4fe5eaa4-be5c-4fe5-92d6-60a4f2059f7a

after:


https://github.com/user-attachments/assets/31238988-b664-4c4b-b143-e4d09c5f0a62



Release Notes:

- Fixed the "Collapse All Files" button to work globally, now it's
limited to the current buffer

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
2026-02-26 15:08:10 +00:00
Anthony Eid
c767dcc6cd
Get collab test suite passing (#50214)
The test suite was failing with this error: methods
`is_screen_capture_supported` and `screen_capture_sources` are never
used. I added allow(dead_code) attribute on both methods to fix it

action that was failing:
https://github.com/zed-industries/zed/actions/runs/22444029970/job/64993825469

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-02-26 14:37:53 +00:00
Cole Miller
1ad9d59dc9
git: Fix a panic when searching the split diff (#50211)
This could happen when you initiated a search on the left side, then
toggled into the unified view, then tried to select the next match.

Closes ZED-55G

Release Notes:

- Fixed a panic when toggling the split diff view while searching.
2026-02-26 14:22:08 +00:00
Lena
ceb7c0e1b2
Duplicates bot v2: focus on root cause, larger issue body preview (#50209)
Release Notes:

- N/A
2026-02-26 14:09:29 +00:00
Anthony Eid
2434a77dbf
ui: Fix modals not using UI font and text color (#50208)
The bug occurred because we weren't setting the right text style on the
root div anymore (Multiworkspace), which was introduce in #49995

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/eca71731-5009-4e47-a948-d80eb3f13938"
/>

### After
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/75d8c591-f539-413e-a171-71e4fc847f13"
/>


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:

- N/A
2026-02-26 14:05:26 +00:00
Xiaobo Liu
69e5ff7c76
outline: Refactor outline render_item to reuse existing TextStyle (#49166)
Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
2026-02-26 14:55:38 +01:00
ozacod
62f759906d
dev: Add Tree-sitter tokens and resolved theme keys in highlights tree view (#49197)
“dev: open highlights tree view” is useful for inspecting semantic
tokens. To create a theme, custom-defined semantic rules and theme
settings are required and theme mappings can be difficult across
languages. This PR adds syntax(tree-sitter) tokens and their resolved
theme keys to tree view. It also updates semantic token entries to show
their resolved theme keys.


Before:
<img width="818" height="634" alt="before"
src="https://github.com/user-attachments/assets/d553fe1f-5216-4793-ab98-7d5a2011d122"
/>

After:
<img width="888" height="677" alt="after"
src="https://github.com/user-attachments/assets/69dbab6b-d99d-4ff3-bc72-9c4587586e39"
/>


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:

- Added support for listing tree-sitter tokens in highlights tree view,
including their resolved theme keys. Semantic token entries also show
their resolved theme keys.

---------

Co-authored-by: ozacod <ozacod@users.noreply.github.com>
2026-02-26 14:53:00 +01:00
Josh Robson Chase
b6a2283f01
editor: Fix JoinLines with selection to end-of-line (#48035)
Full line selections should only include the next line if there's a
single line selected. Otherwise, if multiple lines are selected, only
the selected lines should be joined.

Also updates the editor tests to include both of these cases.

Closes #48030 

Release Notes:

- Fixed `editor::JoinLines` when a multi-line selection includes the end
of the final line
2026-02-26 14:45:10 +01:00
Ben Brandt
90cf81cb00
agent_ui: Unify ui elements (#50201)
The ACP monikers are left over from when we had two versions of
everything. Now that all agents, including our own, use the same UI
components, it seems silly to have all of this separation. Flattens
files and removes unneeded Acp prefixes

Release Notes:

- N/A
2026-02-26 12:47:20 +00:00
Ben Brandt
f4e65d8988
agent_servers: Migrate all built-in agents to go via registry (#50094)
This has lots of benefits, but mainly allows users to uninstall agents.

Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
2026-02-26 12:24:39 +00:00
Kasper Nyhus
bf6a737e59
vim: Add configurable yank highlight background color (#49517)
* Add a dedicated `vim.yank.background` theme color for the yank
  highlight, which was previously hardcoded to
  `editor.document_highlight.read_background`.
* When a theme doesn't define `vim.yank.background`, it falls back to
  `editor.document_highlight.read_background` for backwards
  compatibility.
* The VS Code theme importer maps `editor.rangeHighlightBackground` to
  this new color.

Release Notes:

- Added configurable `vim.yank.background` theme color for vim yank
  background highlight

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>
2026-02-26 12:01:57 +00:00
Bennet Bo Fenner
10b33f81b7
agent: Stream content in StreamingEditFileTool (#50187)
Release Notes:

- N/A
2026-02-26 10:48:33 +00:00
Cameron Mcloughlin
10bbcdfec5
Side by side diff spacer polish (#50182)
Co-authored-by: Cole Miller <cole@zed.dev>
2026-02-26 10:47:10 +00:00
Smit Barmase
a25d1249df
markdown_preview: Fix panic in mermaid diagram renderer (#50176)
The mermaid renderer can fail to render certain diagrams, and we already
have a fallback for that. It's not worth crashing Zed over it.

Wrapping `catch_unwind` alone doesn't work because our panic hooks
terminate the process before unwinding begins (we intentionally
terminate so the crash handler subprocess can generate a minidump), so
there was no way to gracefully handle panics from third-party code until
now (in rare cases where we need it, like in this case).

To handle this gracefully, we added `crashes::recoverable_panic` which
tells the panic hook to stand down on the current thread so the unwind
can proceed and be caught. This should be used sparingly since caught
panics bypass crash reporting.

Release Notes:

- Fixed a crash when rendering mermaid diagrams in markdown preview.
2026-02-26 15:41:27 +05:30
Bennet Bo Fenner
e4b827a7ec
agent: Detect overlapping edits in StreamingEditFileTool (#50181)
Release Notes:

- N/A
2026-02-26 09:15:18 +00:00
Wuji Chen
7cca7bc6d6
ssh: Fix IPv6 address formatting in port forward -L arguments (#49032)
## Summary

- Fix SSH `-L` port-forward arguments to wrap IPv6 addresses in brackets
(e.g. `-L[::1]:8080:[::1]:80`), so SSH can correctly parse them
- Rewrite `parse_port_forward_spec` to support bracket-wrapped IPv6
tokens like `[::1]:8080:[::1]:80`
- Add diagnostic logging for stdin read failures in the remote server to
aid debugging connection issues

Closes #49009

## Test plan

- [x] New unit tests: `test_parse_port_forward_spec_ipv6`,
`test_port_forward_ipv6_formatting`,
`test_build_command_with_ipv6_port_forward`
- [x] Existing tests pass: `cargo test -p remote --lib
transport::ssh::tests` (6/6)
- [ ] Manual verification: connect via SSH to an IPv6 host with port
forwarding configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-26 08:42:56 +00:00
Conrad Irwin
845328662d
Fix panic in diff hunk rendering (#50163)
When `row_infos.is_empty()` (if you have very very tiny editors) we
could
end up trying to read the first item out of it.

Fixes ZED-5AT
Fixes ZED-54F
Fixes ZED-56N

Updates  #49260

cc @Veykril

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 panic rendering diff hunk headers in 0-height editors
2026-02-26 05:34:58 +00:00
Danilo Leal
55a5483abd
lsp_button: Improve UI for LS submenu (#50160)
This PR improves the language server submenu UI, which previously, had
its width growing way too much to fit the server message as well as some
other small inconsistencies. Now, this is all fixed and the server
message appear in full.

| Before | After |
|--------|--------|
| <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 
13@2x"
src="https://github.com/user-attachments/assets/6922a78f-75aa-4004-af34-9343998ac6c5"
/> | <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 
17@2x"
src="https://github.com/user-attachments/assets/03c6a9c9-e814-4de2-a0d6-de86a73fa1df"
/> |

Release Notes:

- N/A
2026-02-26 01:27:52 -03:00
John Tur
1d6a2c67fb
Fix Windows remote server (#50152)
More fallout from https://github.com/zed-industries/zed/pull/49277.

Closes #50149.

Release Notes:

- Fixed remote server failing to launch on Windows.
2026-02-26 03:00:15 +00:00
morgankrey
2ec2b4c600
Fix and improve docs automation scripts (#50120)
## Summary

Fixes issues discovered while running the docs automation workflow for
the first time, plus improvements based on the v0.225 run where 44
suggestions overwhelmed a single Droid invocation.

### docs-suggest-publish
- Ignore untracked files when checking for clean working directory
- Add `--auto high` flag to droid exec for non-interactive use
- Add error handling to show droid output on failure
- Remove non-existent `documentation` label from PR creation
- Use `--write` flag for prettier to fix formatting
- **Batch suggestions** into groups of 10 (configurable with
`--batch-size`) to prevent Droid from dropping suggestions when context
is too large
- **Pre-PR docs build validation** — runs `generate-action-metadata` +
`mdbook build` before creating the PR to catch invalid `{#action}` and
`{#kb}` references locally instead of waiting for CI (skippable with
`--skip-validation`)
- **Prompt guardrail** — instructs Droid not to invent `{#kb}` or
`{#action}` references, only reusing action names already present in
docs files
- **Stable release detection** — at publish time, checks each queued
PR's merge commit against the latest stable release tag. PRs already in
stable get annotated "ALREADY IN STABLE" so Droid applies content
changes without adding incorrect Preview callouts
- **Feature flag detection** — parses
`crates/feature_flags/src/flags.rs` for all feature flag struct names,
then checks each PR's diff for references. PRs behind feature flags are
skipped entirely since those features aren't generally available yet

### docs-strip-preview-callouts
- Remove non-existent `documentation` label from PR creation
- Add `Release Notes: - N/A` to generated PR body (fixes Danger bot
check)

## Context

These scripts were run for the first time as part of the v0.225 release.
Issues found:
1. The `documentation` label doesn't exist in this repo
2. Droid exec needs `--auto high` for non-interactive execution
3. Prettier needs `--write` to actually fix files (was running in check
mode)
4. Untracked files should not block the workflow
5. Sending all 44 suggestions in one Droid invocation only applied 2 —
batching in groups of 10 fixed this
6. Droid hallucinated action names (`settings::OpenSettings`,
`gpui::Modifiers::secondary_key`) that broke the docs preprocessor build
7. PRs that shipped in stable v0.225 incorrectly got Preview callouts
because the queue doesn't distinguish preview-only from
already-in-stable
8. PRs behind feature flags (subagents, git graph) got documented
despite not being generally available

Release Notes:

- N/A
2026-02-25 19:02:37 -06:00
Max Brunsfeld
3da9adc4e7
Edit prediction: add some typescript evals, fix a teacher model failure mode (#50141)
In some evals, the teacher produced hallucinations, seemingly due to
context rot. This makes the zeta prompt crate's budgeted rendering
usable by the teacher, so that it can truncate the list of excerpts.

I've also cleaned up the implementation of zeta_prompt's
`format_related_files_within_budget`, and changed the behavior so that
it filters the the excerpts by priority but renders the files in their
original order.

Release Notes:

- N/A
2026-02-25 15:47:08 -08:00
Anthony Eid
72d69d1b14
multi_workspace: Move up action handler and modal rendering from workspace to multi workspace (#49995)
Now that MultiWorkspace is the root view, actions bound to the
`Workspace` key context wouldn't be dispatched when `Workspace` is not
in the key context stack (e.g. when the sidebar is focused). To fix
this, the `Workspace` key context and action handlers are moved up to
the MultiWorkspace rendering layer. This avoids introducing a new key
context and the keymap migration that would require.

This PR also moves modal rendering up a layer so modals are centered
within the window (MultiWorkspace element) instead of the Workspace
element.

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/233a0b75-47a1-423a-8394-c6a1b50fb991"
/>
### After
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/9c51c839-e524-4ef8-afc9-9429b028def0"
/>


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: cameron <cameron.studdstreet@gmail.com>
2026-02-25 23:37:17 +00:00
MostlyK
72fa9715e3
repl: Fix duplicate output inside notebooks (#48616)
- Render the output only when needed, fixes the duplicate output that
can happen after opening a saved notebook.
- Vim in Jupyter View with j/k navigation across notebook cells

Release Notes:

- N/A
2026-02-26 00:15:57 +01:00