93b6fdb
assistant_tools: Make terminal tool work on Windows (#30497)
Click to expand commit body
Release Notes: - N/A
THELOSTSOUL created
93b6fdb
assistant_tools: Make terminal tool work on Windows (#30497)
Release Notes: - N/A
THELOSTSOUL created
e79d1b2
agent: Restore web search tool card after restart (#30578)
Release Notes: - N/A
Bennet Bo Fenner created
1a0eedb
Fix migrate banner not showing markdown on file changes (#30575)
Fixes case where on file (settings/keymap) changes banner would appear but markdown was not visible. Regression caused by refactor happened in https://github.com/zed-industries/zed/pull/30456. Release Notes: - N/A
Smit Barmase created
8db0333
Fix out-of-bounds panic in fuzzy matcher with Unicode/multibyte characters (#30546)
This PR fixes a crash in the fuzzy matcher that occurred when handling
Unicode or multibyte characters (such as Turkish `İ` or `ş`). The issue
was caused by the matcher attempting to index beyond the end of internal
arrays when lowercased Unicode characters expanded into multiple
codepoints, resulting in an out-of-bounds panic.
#### Root Cause
The loop in `recursive_score_match` used an upper bound (`limit`)
derived from `self.last_positions[query_idx]`, which could exceed the
actual length of the arrays being indexed, especially with multibyte
Unicode input.
#### Solution
The fix clamps the loop’s upper bound to the maximum valid index for the
arrays being accessed:
```rust
let max_valid_index = (prefix.len() + path_lowercased.len()).saturating_sub(1);
let safe_limit = limit.min(max_valid_index);
for j in path_idx..=safe_limit { ... }
```
This ensures all indexing is safe and prevents panics.
Closes #30269
Release Notes:
- N/A
---------
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
a13c8b7
docs: Update the Text Threads page (#30576)
We had some broken links and outdated content here. Release Notes: - N/A
Danilo Leal created
ddc649b
agent: Don't rely only on color to communicate MCP server status (#30573)
The MCP server item in the settings view has an indicator that used to only use colors to communicate the connection status. From an accessibility standpoint, relying on just colors is never a good idea; there should always be a supporting element that complements color for communicating a certain thing. In this case, I added a tooltip, when you hover over the indicator dot, that clearly words out the status. Release Notes: - agent: Improved clarity of MCP server connection status in the Settings view.
Danilo Leal created
33c896c
windows: Fix `ctrl-click` open hovered URL (#30574)
Closes #30452 Release Notes: - N/A
张小白 created
19b6c44
zeta: Do not show usage for copilot/supermaven (#30563)
Follow up to #29952 Release Notes: - Fix an issue where zeta usage would show up when using Copilot as an edit prediction provider
Bennet Bo Fenner created
8e39281
docs: Document `context_servers` setting (#30570)
Release Notes: - N/A
Bennet Bo Fenner created
8294981
debugger: Improve saving scenarios through new session modal (#30566)
- A loading icon is displayed while a scenario is being saved - Saving a scenario doesn't take you to debug.json unless a user clicks on the arrow icons that shows up after a successful save - An error icon where show when a scenario fails to save - Fixed a bug where scenario's failed to save when there was no .zed directory in the user's worktree Release Notes: - N/A
Anthony Eid created
a3105c9
Allow to hide more buttons with the settings (#30565)
* project search button in the status bar
```jsonc
"search": {
"button": false
},
```
* project diagnostics button in the status bar
```jsonc
"diagnostics": {
"button": false
}
```
* project name and host buttons in the title bar
```jsonc
"title_bar": {
"show_project_items": false
}
```
* git branch button in the title bar
```jsonc
"title_bar": {
"show_branch_name": false
}
```
Before:
<img width="1728" alt="before"
src="https://github.com/user-attachments/assets/4b13b431-3ac1-43b3-8ac7-469e5a9ccf7e"
/>
After:
<img width="1728" alt="after"
src="https://github.com/user-attachments/assets/baf2765a-e27b-47a3-8897-89152b7a7c95"
/>
Release Notes:
- Added more settings to hide buttons from Zed UI
Kirill Bulatov created
a6c3d49
language_models: Add vision support for Copilot Chat models (#30155)
Problem Statement: Support for image analysis (vision) is currently restricted to Anthropic and Gemini models. This limits users who wish to leverage vision capabilities available in other models, such as Copilot, for tasks like attaching image context within the agent message editor. Proposed Change: This PR extends vision support to include Copilot models that are already equipped with vision capabilities. This integration will allow users within VS Code to attach and analyze images using supported Copilot models via the agent message editor. Scope Limitation: This PR does not implement controls within the message editor to ensure that image context (e.g., through copy-paste or attachment) is exclusively enabled or prompted only when a vision-supported model is active. Long term the message editor should have access to each models vision capability and stop the users from attaching images by either greying out the context saying it's not support or not work through both copy paste and file/directory search. Closes #30076 Release Notes: - Add vision support for Copilot Chat models --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Umesh Yadav and Bennet Bo Fenner created
5a38bbb
vim: Add `:w <filename>` command (#29256)
Closes https://github.com/zed-industries/zed/issues/10920 Release Notes: - vim: Adds support for `:w[rite] <filename>` --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
AidanV and Conrad Irwin created
196586e
Fix deadlock loading node from the command line (#30561)
Before this change the the load env task never completed, leading to the node runtime lock being held permanently. Release Notes: - N/A
Conrad Irwin created
a1d8e50
bedrock: Fix Claude 3.5 Haiku support (#30560)
This PR corrects a mistake introduced in https://github.com/zed-industries/zed/pull/28523. https://github.com/zed-industries/zed/pull/28523#issuecomment-2872369707 Release Notes: - N/A
Marshall Bowers created
24bc9fd
Fix completions in debugger panel (#30545)
Release Notes: - N/A
Conrad Irwin created
03f0280
Highlight shebang in TypeScript and JavaScript (#30531)
After:  Before:  Release Notes: - Typescript and javascript highlight shebang-line
d1y created
41b0a5c
agent: Add menu item in the panel menu for zooming in feature (#30554)
Release Notes: - agent: Added a menu item in the panel's menu for the zooming in/out feature.
Danilo Leal created
739236e
agent: Fix message editor expand binding (#30553)
As of https://github.com/zed-industries/zed/pull/30504, we now can zoom in the whole panel, which uses the `shift-escape` keybinding. We were also using the same binding for the message editor expansion, which was caused a conflict. Now, the message editor expansion requires an additional key (`alt`) to work. Release Notes: - agent: Fixed conflicting keybinding between message editor and panel zoom.
Danilo Leal created
f14e48d
language_models: Dynamically detect Copilot Chat models (#29027)
I noticed the discussion in #28881, and had thought of exactly the same a few days prior. This implementation should preserve existing functionality fairly well. I've added a dependency (serde_with) to allow the deserializer to skip models which cannot be deserialized, which could occur if a future provider, for instance, is added. Without this modification, such a change could break all models. If extra dependencies aren't desired, a manual implementation could be used instead. - Closes #29369 Release Notes: - Dynamically detect available Copilot Chat models, including all models with tool support --------- Co-authored-by: AidanV <aidanvanduyne@gmail.com> Co-authored-by: imumesh18 <umesh4257@gmail.com> Co-authored-by: Bennet Bo Fenner <bennet@zed.dev> Co-authored-by: Agus Zubiaga <hi@aguz.me>
Liam , AidanV , imumesh18 , Bennet Bo Fenner , and Agus Zubiaga created
634b275
gpui: Fix cosmic-text raster_bounds calculation (#30552)
Closes #30526. This PR makes the CacheKey used by raster_bounds and rasterize_glyph the same, as they had not used the same sub pixel shift previously. Fixing this resolves both the alignment and text-rendering issues introduced in `ddf8d07`. Release Notes: - Fixed text rendering issues on Linux.
william341 created
8000151
zed: Reduce clones (#30550)
A collection of small patches that reduce clones. Mostly by using owned iterators where possible. Release Notes: - N/A
tidely created
f0f0a52
Revert "ui: Account for padding of parent container during scrollbar layout (#27402)" (#30544)
This reverts commit 82a7aca5a6e81f6542b67c3cfc2444c958e7e827. Release Notes: - N/A
Conrad Irwin created
907b2f0
Parse env vars and args from debug launch editor (#30538)
Release Notes: - debugger: allow setting env vars and arguments on the launch command. --------- Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Julia Ryan , Cole Miller , and Conrad Irwin created
0ad582e
agent: Fix inline assistant focusing behavior for cursor placement (#29998)
Ref: https://github.com/zed-industries/zed/pull/29919 This PR improves how inline assistants are detected and focused based on cursor position. ### Problem The current implementation has inconsistent behavior: - When selecting text within an inline assistant's range, the assistant properly focuses - When placing a cursor on a line containing an assistant (without selection), a new assistant is created instead of focusing the existing one ### Solution Enhanced the assistant detection logic to: - Check if the cursor is anywhere within the line range of an existing assistant - Maintain the same behavior for both cursor placement and text selection - Convert both cursor position and assistant ranges to points for better line-based comparison This creates a more intuitive editing experience when working with inline assistants, reducing the creation of duplicate assistants when the user intends to interact with existing ones. https://github.com/user-attachments/assets/55eb80d1-76a7-4d42-aac4-2702e85f13c4 Release Notes: - agent: Improved inline assistant behavior to focus existing assistants when cursor is placed on their line, matching selection behavior --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Umesh Yadav and Bennet Bo Fenner created
58ed81b
extension_host: Include more details about error messages (#30543)
This PR makes it so the error messages surfaced to extensions will contain more information. Supersedes https://github.com/zed-industries/zed/pull/28491. Release Notes: - N/A
Marshall Bowers created
83319c8
agent: Fix instruction list item with multiple buttons not working (#30541)
This was a particular problem in the Amazon Bedrock section (at least for now) where there were multiple buttons and none of them actually worked because they all had the same id. Release Notes: - agent: Fixed Amazon Bedrock settings link buttons not working.
Danilo Leal created
4deb8cc
agent: Fix 10 line code blocks being expandable despite fitting (#30540)
Release Notes: - N/A
Michael Sloan created
8d79226
bedrock: Add support for Mistral - Pixtral Large (#28274)
Release Notes: - AWS Bedrock: Added support for Pixtral Large 25.02 v1 --------- Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya , Peter Tripp , and Marshall Bowers created
5abca0f
Fix codeblock expansion initial state + refactor (#30539)
Release Notes: - N/A
Michael Sloan created
68945ac
workspace: Add keyboard shortcuts to close active dock (#30508)
Adds the normal close keybinding for the new Close Active Dock action. Release Notes: - N/A
Ben Brandt created
49887d6
Add no_tools_enabled eval (#30537)
This is our first eval of the Minimal tool profile. Right now they're all passing; the value of having it is to catch regressions in the system prompt (which has special logic in it for the case where no tools are enabled). Release Notes: - N/A
Richard Feldman created
d867897
bedrock: Support cross-region inference for US Claude 3.5 Haiku (#28523)
Release Notes: - Added Cross-Region inference support for US Claude 3.5 Haiku Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya , Peter Tripp , and Marshall Bowers created
1f58ce8
bedrock: Support Amazon Nova Premier (#29720)
Release Notes: - Bedrock: Added support for Amazon Nova Premier. https://aws.amazon.com/blogs/aws/amazon-nova-premier-our-most-capable-model-for-complex-tasks-and-teacher-for-model-distillation/ Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya and Marshall Bowers created
ed772e6
agent: Allow to collapse provider sections in the settings view (#30437)
This is my first time contributing, so happy to make changes as needed. ## Problem I found the LLM Provider settings to be pretty difficult to scan as I was looking to enter my API credentials for a provider. Because all of the provider configuration is exposed by default, providers that come at the end of the list are pushed fairly far down and require scrolling. As this list increases the problem only get worse. ## Solution This is strictly a UI change. * I put each provider configuration in a Disclosure that is closed by default. This made scanning for my provider easy, and exposing the configuration takes a single click. No scrolling is required to see all providers on my 956px high laptop screen. * I also added the success checkmark to authenticated providers to make it even easier to find them to update a key or sign out. * The `Start New Thread` had a class applied that was overriding the default hover behavior of other buttons, so I removed it. ## Before  ## After  Release Notes: - Improved Agent Panel settings view scannability by making each provider block collapsible by default. --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Chris Kelly and Danilo Leal created
559725d
bedrock: Support Writer Palmyra models (#29719)
Release Notes: - Added support for Writer Palmyra X4, and X5 https://writer.com/engineering/long-context-palmyra-x5/ Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya and Marshall Bowers created
f0da3b7
agent: Handle thread title generation errors (#30273)
The title of a (text) thread would get stuck in "Loading Summary..." when the request to generate it failed. We now handle this case by falling back to the default title, and letting the user manually edit the title or retry generating it. https://github.com/user-attachments/assets/898d26ad-d31f-4b62-9b05-519d923b1b22 Release Notes: - agent: Handle thread title generation errors --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Agus Zubiaga and Richard Feldman created
cee9f4b
Fix deprecation warning text being covered by right dock (#30456)
Closes [#30378](https://github.com/zed-industries/zed/issues/30378) Release Notes: - Fixed deprecation warning text being covered by right dock --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Sergei Kartsev and Smit Barmase created
ae31aa2
Fix apply buffer font features to completion tooltip (#30362) (#30519)
Closes #30362 Release Notes: - Fixed completion tooltip to respect custom font features set in `buffer_font_features`
Sergei Kartsev created
82a7aca
ui: Account for padding of parent container during scrollbar layout (#27402)
Closes https://github.com/zed-industries/zed/issues/23386 This PR updates the scrollbar-component to account for padding present in the parent container. Since the linked issue was opened, https://github.com/zed-industries/zed/pull/25288 improved the behaviour so that the scrollbar does allow scrolling the entire container, however the scrollbar thumb still does not go the entire way to the bottom. This can be seen here: https://github.com/user-attachments/assets/89204355-e6b8-428b-9fa9-bb614051b6fa This happens because during layouting of the scrollbar, padding of the parent container is not taken into account. The scrollbar thumb size is calculated as if no padding was present. With this change, padding is now included in the calculation, which resolves the issue: https://github.com/user-attachments/assets/1d4c62e0-4555-4332-a9ab-4e114684b4b3 The change here is to store the calculated content size during prepaint _including_ padding and use this for layouting the scrollbar. This ensures that the actual scroll max and the content size are always in sync. Furthermore, the existing `TODO`-comment is also resolved, as we now no longer look at the size of the last child but the actual parent size instead. This also removes an existing panic of the scrollbar-component in cases where the content size was 0, which was previously not accounted for (this never happened in practice so far, for example because of the padding added here: https://github.com/zed-industries/zed/blob/43712285bfa8aa75bac1ca8a7eb5146dd36239be/crates/editor/src/hover_popover.rs#L802-L809 which prevented the container size from ever being 0). --- Lastly, as I was wiring through the changes of the `content_size` I noticed that some code was duplicated during the initial layouting as well as in the click handlers. I refactored this in the second commit to use `along` where possible as well as computing the new click offset in one closure which can be passed to both event listeners. As always, should any of these changes not be wanted, feel free to let me know and I will revert these. Looking forward to your feedback 😄 Release Notes: - Fixed scrollbars sometimes not scrolling all the way to the bottom.
Finn Evers created
b34f19a
agent: Reduce allocations (#30220)
Just a tiny patch to reduce allocations during context loading Calling `.cloned()` on an iterator clones each element one by one, while `into_iter().collect()` pre-allocates the resulting `Vec` Release Notes: - N/A
tidely created
09ace08
editor: Prevent vertical scrollbar from overlapping with buffer headers (#30477)
Closes #16993 This PR fixes an issue where the vertical editor scrollbar was overlaying with buffer headers. I fixed this by reserving space for the scrollbar as needed which is provided by the recently introduced `right_margin`. Most of the diff consists of moving the `EditorMargins` creation out of `render_block`, as the right margin is stored in this struct and moving this out reduces the length of the parameter list of `render_blocks` by one. I thought of this to be a small but nice side effect. When it comes to the dividers, I decided against these considering the margin as well, since it felt a bit off. However, I can see arguments for these also considering the margins. I did include an image for comparison in the list below. Happy to change this should it be preferred the other way around. | `main` |  | | --- | --- | | PR |  | | Fix with shortened divider |  | Release Notes: - Ensured that the vertical editor scrollbar no longer overlaps with buffer headers.
Finn Evers created
49ba4ed
Only include diagnostic instruction once (#29975)
Instead of once per diagnostic error. Release Notes: - N/A
Max Nordlund created
06af031
markdown: Fix out of range panic in parser (#30510)
For some reason `pulldown_cmark` treats \````` as a codeblock, meaning that we could end up with an invalid range generated from `extract_code_block_content_range` (`3..2`) Closes #30495 Release Notes: - agent: Fix an edge case where the editor would crash when model generated malformed markdown
Bennet Bo Fenner created
1fa19c6
Agent panel: Zoom support (workspace::ToggleZoom) (#30504)
Release Notes: - Added support for zooming the agent panel via `workspace::ToggleZoom`.
Michael Sloan created
5ba1d3e
chore: Move component_preview into zed (#30480)
This improves our build times by ~0.2s Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
e4525b8
docs: Suggest checking `zed_extension_api` compatibility (#30474)
Or your extension might not work as expected. Or you have to downgrade `zed_extension_api` later. Happened [here](https://github.com/sectore/zed-just-ls/issues/2) or [here](https://github.com/zed-extensions/ruby/commit/842b0cdb6995e692552645c0584ecc9991c589b1) recently. Release Notes: - N/A
Jens Krause created
18a2a50
title_bar: Hide plans without a subscription period (#30478)
This PR updates the plan display in the user menu in the title bar to hide plans that do not have a subscription period. Release Notes: - Improved the displaying of the plan in the user menu.
Marshall Bowers created
172a475
editor: Fix multicursor indent edge case where few lines would indent incorrectly (#30461)
This should have been part of [editor: Fix inconsistent relative indent when using tab with multi cursors](https://github.com/zed-industries/zed/pull/29519) Before / After: https://github.com/user-attachments/assets/b7ab0eef-2764-44dc-b51f-b96dccd5ecb3 Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Smit Barmase and Ben Kunkle created
471e02d
Separate timeout and connection dropped errors out (#30457)
Kirill Bulatov created