850188f
workspace: Include threads in matched workspaces (#51114)
Cameron Mcloughlin 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
1fa4fed
auto_update: Always display update progress when requesting manual update (#51087)
Before if a user requested a manual update check while an automatic one was going we were not showing the update status as automatic ones force hide them. Now requesting a manual check while an automatic one is already going will instead make it visible. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
8d5689a
editor: Fix underflow panic in block map sync when blocks overlap (#51078)
In `BlockMap::sync`, blocks within an edited region are sorted and processed sequentially. Each block placement computes `rows_before_block` by subtracting `new_transforms.summary().input_rows` from the block's target position. The `Near`/`Below` cases have a guard that skips the block if the target is already behind the current progress, but `Above` and `Replace` were missing this guard. When a `Replace` block (tie_break 0) is processed before an `Above` block (tie_break 1) at the same or overlapping position, the `Replace` block consumes multiple input rows, advancing `input_rows` past the `Above` block's position. The subsequent `position - input_rows` subtraction underflows on `u32`, producing a huge `RowDelta` that wraps `wrap_row_end` past `wrap_row_start`, creating an inverted range that propagates through the display map layers and panics as `begin <= end (47 <= 0)` in a rope chunk slice. Add underflow guards to `Above` and `Replace`, matching the existing pattern in `Near`/`Below`. Release Notes: - Fixed a source of underflowing subtractions causing spurious panics
Lukas Wirth created
3f2ddcb
editor: Prevent panic in `lsp_symbols_at_cursor` with diff hunks handling (#51077)
Fixes ZED-5M9 No test as I couldn't quite reproduce this, as the cause is mostly a guess Release Notes: - Fixed a panic in `lsp_symbols_at_cursor` when dealing with diff hunks
Lukas Wirth created
8762b7f
Reuse existing bundled file editors (#51053)
Closes #46837 Reuse the existing read-only bundled editor when opening default settings or default key bindings again, instead of creating a duplicate tab each time. Also adds a regression test covering repeated `OpenDefaultSettings` dispatches. ### Before https://github.com/user-attachments/assets/ac2477b0-dc57-451c-a400-667c3613da2c ### After https://github.com/user-attachments/assets/309fbd32-6dad-40a0-a864-b638a583ef52 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 default settings and default key bindings reopening duplicate tabs instead of reusing the existing tab.
ishaksebsib created
598f8ac
docs: Fix YAML syntax error in frontmatter (#51004)
The title in the YAML front matter contained a colon, which YAML interprets as a key-value separator, causing a parse error. Quoted the title value to fix it. <img width="1087" height="248" alt="image" src="https://github.com/user-attachments/assets/f074af0e-937c-4289-80a9-83cde294fd23" /> Release Notes: - N/A --------- Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
ishaksebsib and Kunall Banerjee created
dde76cd
Enable extended reasoning for Anthropic models in Copilot (#46540)
Fixes https://github.com/zed-industries/zed/issues/45668 https://github.com/microsoft/vscode-copilot-chat used as a reference for headers and properties we need to set | Before | After | | --- | --- | | <img width="300" src="https://github.com/user-attachments/assets/d112a9ef-52d2-42ff-a77b-4b4b15f950fe" />| <img width="300" src="https://github.com/user-attachments/assets/0f1d7ae0-bee1-46f7-92ef-aea0fa6cde7a" /> | Release Notes: - Enabled thinking mode when using Anthropic models with Copilot
John Tur created
af2b35a
ep: Make repair parser more robust (#51044)
Release Notes: - N/A
Oleksiy Syvokon created
50ca710
gpui(linux): Pass display_id to layer shell get_layer_surface (#50520)
Previously, `get_layer_surface` always passed `None` as the output, causing all layer shell windows to appear on the compositor's default output regardless of the requested display. Store `wl_output` proxies in client state and resolve them from `DisplayId` so the correct output is passed to `get_layer_surface`. Release Notes: - N/A
Leonard Seibold created
4031db1
Disable the IME on Windows when text input is unexpected (#51041)
Fixes #42444 - Changed `accepts_text_input` on the editor to be more precise. Previously, it returned `true` only in insert mode. Now it also returns `true` when an operator is pending. - On Windows, we disable the IME whenever there is no input handler which `accepts_text_input`. - How this improves Vim mode: in insert mode, the IME is enabled; in normal mode, it is disabled (command keys are not intercepted); when an operator is pending, the IME is re-enabled. Release Notes: - On Windows, the IME is disabled in Vim normal and visual modes.
John Tur created
8d083a6
Lazily initialize kernelspecs (#51026)
On Windows, the WSL VM always boots up when Zed is opened, because we eagerly discover which jupyter kernels are installed inside WSL on startup. This is not desirable if the REPL feature is not being used. Defer this work to the point where we actually need to know what kernels are installed. Release Notes: - N/A
John Tur created
ba8f4d8
git_ui: Fix mouse cursor hiding when clicking git entry in project diff (#51016)
Release Notes: - Fixed mouse cursor disappearing when clicking a changed file in the Git Changes panel.
Smit Barmase created
9663d05
extension_api: Add language server schema methods (#48334)
(This should be merged after #48332) This PR exposes the LSP settings schema functionality to extensions, allowing them to provide JSON schema for `initialization_options` and `settings` fields to enable autocomplete in settings files. New extension API methods (v0.8.0+): - `language_server_initialization_options_schema` - `language_server_settings_schema` Both methods return an optional JSON string conforming to JSON schema. Older extension versions gracefully return `None`. Release Notes: - Added support for settings schemas for the next version of the extension API so that settings autocompletion can be provided for language server settings. --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Shuhei Kadowaki , Claude Opus 4.5 , and MrSubidubi created
5c481c6
Fix retain cycle in on_app_quit (#50985)
Updates #50970 While investigating the executor shutdown code, Claude noticed that we never actually drop the app because of a reference cycle. Release Notes: - N/A
Conrad Irwin created
6c9b813
Remove Executor::close() (#50970)
Co-Authored-By: Eric Holk <eric@zed.dev> In app drop we had been calling `.close()` on the executors. This caused problems with the BackgroundExecutor on Linux because it raced with concurrent work: If task A was running and about to poll task B, the poll to task B would panic with "Task polled after completion". This didn't really matter (because the app was shutting down anyway) but inflated our panic metrics on Linux. It turns out that the call to `.close()` is not needed. It was added to prevent foreground tasks being scheduled after the app was dropped; but on all platforms the App run method does not return until after the ForegroundExecutor is stopped (so no further tasks will run anyway). The background case is more interesting. In test code it didn't matter (the background executor is simulated on the main thread so tests can't leak tasks); in app code it also didn't really make a difference. When `fn main` returns (which it does immediately after the app is dropped) all the background threads will be cancelled anyway. Further confounding debugging, it turns out that the App does not get dropped on macOS and Windows due to a reference cycle; so this was only happening on Linux where the app quit callback is dropped instead of retained after being called. (Fix in #50985) Release Notes: - N/A --------- Co-authored-by: Eric Holk <eric@zed.dev>
Conrad Irwin and Eric Holk created
c841b48
Fix OpenGL initialization on Intel HD 4000 (#50983)
Almost there! Release Notes: - N/A
John Tur created
1dd80ac
agent_ui: Add more refinements for v2 flag (#50968)
- Fixes message editor in empty state not consuming the whole height of the panel - Remove duped focused method in the `ListItem` - Remove duped "new thread" buttons when group is empty - Add some UI adjustments like removing labels and fading out truncated items Release Notes: - N/A
Danilo Leal created
1dd09c3
Add Zed Feature Process document (#50747)
Release Notes: - N/A
Mikayla Maki created
5b2d39e
ep: Add captured example fetching (#50960)
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
4b3660b
ep: Unify code in `parse_output` and `zeta_prompt` (#50958)
This also fixed `ep parse-output` for newer formats Release Notes: - N/A
Oleksiy Syvokon created
e784c92
zed: Clear the FORCE_CLI_MODE environment variable after reading (#46475)
This prevents child processes (e.g. shells) from inheriting it. This generally isn't an issue, since zed is the only thing that cares about it, but if you're trying to run zed *from* zed, you would first need to unset it manually. Release Notes: - N/A
Josh Robson Chase created
dc0e41f
Refresh LLM API token on organization change (#50931)
Emit client-side organization changed events through `RefreshLlmTokenListener` so it produces the same `RefreshLlmTokenEvent` used for server-pushed `UserUpdated` messages. This keeps token refresh fan-out in one place. Closes CLO-383. Release Notes: - N/A --------- Co-authored-by: Tom Houlé <tom@tomhoule.com>
Neel and Tom Houlé created
21e202e
repl: Switch to util::process::Child to rely on process groups (#48839)
Follow up to https://github.com/zed-industries/zed/pull/48760 thanks to @miguelraz and @reflectronic. No new notes since #48760 did the same thing, only wasn't opting in to process groups we already had in place. Release Notes: - N/A
Kyle Kelley created
a3d9269
ai: Add LMStudio API URL & API key support (#48309)
Hello, This pull request aims to improve usage of lmstudio ai provider for remote lmstudio nodes and support api key authentication. This has been tested on my local network from a headless lms node. See attached demo vid Release Notes: - lmstudio: Added support for specifying an API key via the UI https://github.com/user-attachments/assets/7594cf49-3198-4171-b3e9-c3264cf35b6e --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antoine Mathie and Bennet Bo Fenner created
1418af6
sidebar: Improve keyboard navigation (#50938)
We know outline the focus sidebar entry similar to the project panel. This allows users to see what they have selected vs active 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
Anthony Eid created
0e83147
markdown_preview: Fix slow checkbox check/uncheck UI updates (#48633)
When checking a box in the markdown preview, it's generally very slow. Preview updates when typing in the editor are debounced to be every 200ms, but when clicking an element in the preview, it feels sluggish to wait that long. In debugging, I found that the debounced task from the editor event subscriptions replaced the non-debounced event on [line 605](https://github.com/zed-industries/zed/blob/263d8e58d809b493044160cb26fb690169007e4e/crates/markdown_preview/src/markdown_preview_view.rs#L600C49-L602C51), and the UI took around 200 ms to update. Therefore, I've changed the markdown parsing function to not replace the task, unless another non-debounced task comes along. UI updates from the editor are still debounced. Before: [Screencast_20260206_145702.webm](https://github.com/user-attachments/assets/fed5f8fa-866e-4291-9ec3-f876bb6dc6ab) After: [Screencast_20260206_150124.webm](https://github.com/user-attachments/assets/e4e7dc2b-d899-42ff-bd28-ad1dc5a8d3d9) Release Notes: - Improved speed at which markdown lists update after checking or unchecking items
Wesley Weisenberger created
a5525a8
ep: Refresh available experiments when opening ep button (#50949)
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
ba3aea0
agent: Don't connect to MCP servers when AI is globally disabled (#47857)
Closes #46846 When `disable_ai: true` is set in user settings, Zed was still connecting to configured MCP (context) servers and sending initialization requests. This change adds checks for `DisableAiSettings` in `ContextServerStore` to: - Skip server connections when AI is disabled - Disconnect from running servers when AI becomes disabled - Connect to servers when AI is re-enabled - Prevent registry changes from triggering connections while AI is disabled The fix tracks `ai_disabled` state to detect transitions and properly manage server connections when AI is toggled. Release Notes: - Fixed Zed connecting to MCP servers when AI is disabled. --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Oliver Azevedo Barnes and Bennet Bo Fenner created
a216f9d
crashes: Bump minidumper crate to 0.9 (#50937)
Release Notes: - N/A
Jakub Konka created
2fd5c7b
workspace: Fix dock/panel resizing (#50947)
Before the panel resize wouldn't take into account the width of the sidebar and the right dock could push the left dock on resize too. 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) Co-authored-by: Cameron \<cameron.studdstreet@gmail.com\> Release Notes: - N/A
Anthony Eid created
2d0bd7c
Add more verbosity for panic inside `summaries_for_anchors_with_payloads` (#50940)
We are seeing the timestamp comparison fail in an unexpected way, e.g. https://zed-dev.sentry.io/issues/7293482758/events/c7f7eab3f8f2463f879d4889a80d623e, where it seems like `text::Anchor::is_max` should be returning true but it apparently isn't. Add some more information when this panic happens to understand what's going on. Release Notes: - N/A Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Cole Miller and Piotr Osiewicz created
f69ab1d
agent: Fail faster in case streaming tool call fails (#50834)
If a streaming tool call (e.g. edit file) returns an error during streaming, we would wait until we received the whole input. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner and Ben Brandt created
db6b47a
agent_ui: Fix agent panel focus stealing from modals (#50511)
Closes #49336 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 - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) ### Video: https://drive.google.com/file/d/1qAwAoDr4wr8cs1dosvLocU-a4pngJZvr/view?usp=sharing Release Notes: - Fixed agent panel stealing keyboard focus from modals during workspace restoration
João Soares created
3fe3776
agent: Update `old_text` docs for `StreamingEditFileTool` (#50921)
In the old edit agent tool we encouraged the LLM to respond with whole lines, which we did not do in the new edit file tool. Release Notes: - N/A
Bennet Bo Fenner created