9ffb3c5
Add Opus to Model Docs (#32302)
Click to expand commit body
Release Notes: - N/A
morgankrey created
9ffb3c5
Add Opus to Model Docs (#32302)
Release Notes: - N/A
morgankrey created
72d787b
Fix panic dragging tabs multiple positions to the right (#32305)
Closes https://github.com/zed-industries/zed/issues/32303 Release Notes: - Fixed a panic that occurred when dragging tabs multiple positions to the right (preview only)
Joseph T. Lyons created
104f601
language_models: Fix Copilot models not loading (#32288)
Recently in this PR: https://github.com/zed-industries/zed/pull/32248 github copilot settings was introduced. This had missing settings update which was leading to github copilot models not getting fetched. This had missing subscription to update the settings inside the copilot language model provider. Which caused it not show models at all. cc @osiewicz Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Umesh Yadav and Piotr Osiewicz created
46773eb
docs: Fix typo in SUMMARY.md (#32275)
- Follow-up to: https://github.com/zed-industries/zed/pull/30981 - See also: https://github.com/zed-industries/zed/pull/30844 - See also: https://github.com/zed-industries/zed/pull/31073 Changes made to docs tests meant that failure to build docs did not prevent an automerge. This resulted in breaking main in 65a93a0036acfa680dbf2ba859d8641876ea6057 [action run link](https://github.com/zed-industries/zed/actions/runs/15501437863). CC: @probably-neb Release Notes: - N/A
Peter Tripp created
65a93a0
Add initial FreeBSD script & installation doc (#30981)
This PR adds initial FreeBSD support for building Zed: * Adds `script/freebsd` to install required dependencies on FreeBSD * Adds `docs/freebsd.md` with build instructions and notes * ⚠️ Mentions that `webrtc` is still **work-in-progress** on FreeBSD. Related to : #15309 I’m currently working at discussions : [Discussions](https://github.com/zed-industries/zed/discussions/29550) Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
G36maid and Peter Tripp created
dc63138
Use proper paths when determining file finder icons for external files (#32274)
Before: <img width="576" alt="before" src="https://github.com/user-attachments/assets/8469e27f-c878-4b89-a6f0-577a502fc625" /> After: <img width="558" alt="after" src="https://github.com/user-attachments/assets/b8361b88-c6c6-40a5-890d-047fff8e909e" /> Release Notes: - N/A
Kirill Bulatov created
fa02bd7
Select applicable positions for lsp_ext methods more leniently (#32272)
Closes https://github.com/zed-industries/zed/issues/27238 Release Notes: - Fixed `editor::SwitchSourceHeader` and `editor::ExpandMacroRecursively` not working with text selections
Kirill Bulatov created
6d95fd9
Make `assistant::QuoteSelection` shortcuts work in agent threads (#32270)
Closes: https://github.com/zed-industries/zed/discussions/30626 Release Notes: - Fixed `assistant::QuoteSelection` default shortcuts (`cmd->` and `ctrl->`) so they work in Agent threads too (in addition to text threads and in the Editor pane).
Peter Tripp created
899153d
Stop formatting SQL by default with prettier (#32268)
- Closes: https://github.com/zed-industries/zed/discussions/32261 - Follow-up to: https://github.com/zed-extensions/sql/pull/19 - Follow-up to: https://github.com/zed-industries/zed/pull/32003 The underlying `sql-formatter` used by `prettier-plugin-sql` needs to have the SQL dialect (mysql, postgresql) passed as the prettier language name, while Zed passes `sql`, which default will corrupt sql files with vendor specific extensions (postgresql jsonb operators, etc). I improved the [Zed SQL Language Docs](https://zed.dev/docs/languages/sql) in https://github.com/zed-industries/zed/pull/32003 to show how to use `sql-formatter` directly as an external formatter. Release Notes: - SQL: Disable `format_on_save` using `prettier-plugin-sql` by default. Please see the [Zed SQL Language Docs](https://zed.dev/docs/languages/sql) for settings to use `sql-formatter` directly instead.
Peter Tripp created
77ead25
Implement the rest of the worktree pulls (#32269)
Follow-up of https://github.com/zed-industries/zed/pull/19230 Implements the workspace diagnostics pulling, and replaces "pull diagnostics every open editors' buffer" strategy with "pull changed buffer's diagnostics" + "schedule workspace diagnostics pull" for the rest of the diagnostics. This means that if the server does not support the workspace diagnostics and does not return more in linked files, only the currently edited buffer has its diagnostics updated. This is better than the existing implementation that causes a lot of diagnostics pulls to be done instead, and we can add more heuristics on top later for querying more diagnostics. Release Notes: - N/A
Kirill Bulatov created
9e5f89d
Improve CSS syntax highlighting (#25326)
Release Notes:
- Improved CSS syntax highlighting
| Zed 0.174.6 | With this PR |
| --- | --- |
| 
|

|
- `|`: `operator`
- `and`, `or`, `not`, `only`: `operator` -> `keyword.operator`, as
defined in other languages
- `id_name`, `class_name`: `property`/`attribute` -> `selector`, not a
property name. [CSS
reference](https://www.w3.org/TR/selectors-3/#class-html)
- `namespace_name`: `property` -> `namespace`, not a property name
- `property_name`: `constant` -> `property`, like `feature_name` already
defined
- `(keyword_query)`: `property`, similar to `feature_name`. [CSS
reference](https://www.w3.org/TR/mediaqueries-3/#media1)
- `keyword_query`: `constant.builtin`, [CSS
reference](https://www.w3.org/TR/mediaqueries-3/#media0)
- `plain_value`, `keyframes_name`: `constant.builtin`, [CSS
reference](https://www.w3.org/TR/css-values-3/#value-defs)
- `unit`: `type` -> `type.unit`,
[Atom](https://github.com/atom/language-css/blob/9e4afce058b4593edf03ed1dec6033b163c678f0/grammars/tree-sitter-css.cson#L73)
and [VS
Code](https://github.com/microsoft/vscode/blob/336801752dd09afa76f5429fba846e533bcdb7d9/extensions/css/syntaxes/css.tmLanguage.json#L1393)
also have a `unit` scope for this. [CSS
reference](https://www.w3.org/TR/css3-values/#dimensions)
```css
@media (keyword_query) and keyword_query {}
@supports (feature_name: plain_value) {}
@namespace namespace_name url("string");
namespace_name|tag_name {}
@keyframes keyframes_name {
to {
top: 200unit;
color: #c01045;
}
}
tag_name::before,
#id_name:nth-child(even),
.class_name[attribute_name=plain_value] {
property_name: 2em 1.2em;
--variable: rgb(250, 0, 0);
color: var(--variable);
animation: keyframes_name 5s plain_value;
}
```
chbk created
cf5e76b
git: Add `PushTo` to select which remote to push (#31482)
mostly, I using `git checkout -b branch_name upstream/main` to create new branch which reference remote upstream not my fork. When using `Push` will always failed with not permission. So we need ability to select which remote to push. Current branch is based on my previous pr #26897 Release Notes: - Add `PushTo` to select which remote to push. --------- Co-authored-by: Cole Miller <cole@zed.dev>
CharlesChen0823 and Cole Miller created
9775747
gpui: Pre-allocate paths in open file dialog (#32106)
Pre-allocates the required memory for storing paths returned by open file dialog on windows Release Notes: - N/A
tidely created
b7c2d48
Fix syntax highlighting conflicts with certain glsl types (#32022)
added first line pattern for glsl because some extensions conflict with
others like fragment shaders (.fs) would be highlighted by f#
<details>
| no f# extension no fix | f# extension no fix | f# extension with fix |
|--------|--------|--------|
|

|

|

|
</details>
Release Notes:
- glsl: Added a workaround for an issue where fragment shaders with the `.fs` file extension would be misidentified as F#. Now, adding `#version {version}` to the first line of your fragment shader will ensure it is always recognized as glsl
not a cow created
2fe1293
Improve cursor style behavior for some draggable elements (#31965)
Follow-up to #24797 This PR ensures some cursor styles do not change for draggable elements during dragging. The linked PR covered this on the higher level for draggable divs. However, e.g. the pane divider inbetween two editors is not a draggable div and thus still has the issue that the cursor style changes during dragging. This PR fixes this issue by setting the hitbox to `None` in cases where the element is currently being dragged, which ensures the cursor style is applied to the cursor no matter what during dragging. Namely, this change fixes this for - non-div pane dividers - minimap slider and the - editor scrollbars and implements it for the UI scrollbars (Notably, UI scrollbars do already have `cursor_default` on their parent container but would not keep this during dragging. I opted out on removing this from the parent containers until #30194 or a similar PR is merged). https://github.com/user-attachments/assets/f97859dd-5f1d-4449-ab92-c27f2d933c4a Release Notes: - N/A
Finn Evers created
e0057cc
Fix anchor biases for completion replacement ranges (esp slash commands) (#32262)
Closes #32205 The issue was that in some places the end of the replacement range used anchors with `Bias::Left` instead of `Bias::Right`. Before #31872 completions were recomputed on every change and so the anchor bias didn't matter. After that change, the end anchor didn't move as the user's typing. Changing it to `Bias::Right` to "stick" to the character to the right of the cursor fixes this. Release Notes: - Fixes incorrect auto-completion of `/files` in text threads (Preview Only)
Michael Sloan created
51585e7
Contextualize errors from extensions with extension name and version (#32202)
Before this I'd get log lines like > ERROR [project] missing `database_url` setting Now it's: > ERROR [project] from extension "Postgres Context Server" version 0.0.3: missing `database_url` setting Release Notes: - N/A
Michael Sloan created
52fa7ab
lmstudio: Fill max_tokens using the response from /models (#25606)
The info for `max_tokens` for the model is included in
`{api_url}/models`
I don't think this needs to be `.clamp` like in
`crates/ollama/src/ollama.rs` `get_max_tokens`, but it might need to be
## Before:
Every model shows 2k

## After:

### Json from `{api_url}/models` with model not loaded
```json
{
"id": "qwen2.5-coder-1.5b-instruct-mlx",
"object": "model",
"type": "llm",
"publisher": "lmstudio-community",
"arch": "qwen2",
"compatibility_type": "mlx",
"quantization": "4bit",
"state": "not-loaded",
"max_context_length": 32768
},
```
## Notes
The response from `{api_url}/models` seems to return the `max_tokens`
for the model, not the currently configured context length, but I think
showing the `max_tokens` for the model is better than setting 2k for
everything
`loaded_context_length` exists, but only if the model is loaded at the
startup of zed, which usually isn't the case
maybe `fetch_models` should be rerun when swapping lmstudio models
### Currently configured context
this isn't shown in `{api_url}/models`

### Json from `{api_url}/models` with model loaded
```json
{
"id": "qwen2.5-coder-1.5b-instruct-mlx",
"object": "model",
"type": "llm",
"publisher": "lmstudio-community",
"arch": "qwen2",
"compatibility_type": "mlx",
"quantization": "4bit",
"state": "loaded",
"max_context_length": 32768,
"loaded_context_length": 4096
},
```
Release Notes:
- lmstudio: Fixed showing `max_tokens` in the assistant panel
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Elijah McMorris and Peter Tripp created
5ad51ca
vim: Show 'j' from jk pre-emptively (#32007)
Fixes: #29812 Fixes: #22538 Co-Authored-By: <corentinhenry@gmail.com> Release Notes: - vim: Multi-key bindings in insert mode will now show the pending keystroke in the buffer. For example if you have `jk` mapped to escape, pressing `j` will immediately show a `j`.
Conrad Irwin created
35a119d
Add Go debugging example to debugger documentation (#31798)
This pull request updates the documentation for the debugger to include Go-specific examples alongside existing Python examples. Documentation update: * [`docs/src/debugger.md`](diffhunk://#diff-aa14715cca56f3ad6a32c669b0c317250dab212b8108136b7ca79217465f39b8R69-R80): Added a new "Go examples" section with a JSON snippet demonstrating how to configure the debugger for Go using Delve. Release Notes: - debugger: Add Go debugging example to debugger documentation --------- Co-authored-by: Cole Miller <cole@zed.dev>
Diógenes Castro and Cole Miller created
bbf3b20
Fix panic when dragging pinned item left in pinned region (#32263)
This was a regression with my recent fixes to pinned tabs. Dragging a pinned tab left in the pinned region would still update the pinned tab count, which would later cause an out-of-bounds later when it used that value to index into a vec. https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1749220447796559 Release Notes: - Fixed a panic caused by dragging a pinned item to the left in the pinned region
Joseph T. Lyons created
c1b9970
ci: Auto-release release prefix hotfixes again (#32265)
Undo: - https://github.com/zed-industries/zed/pull/24894 CC: @JosephTLyons Release Notes: - N/A
Peter Tripp created
69e99b9
Remove unescessary unimplemented (#32264)
Release Notes: - N/A
Mikayla Maki created
0fc85a0
Fix `script/build-linux` with newer GCC (#32029)
If you follow the [workaround advice in the Docs](https://zed.dev/docs/development/linux#installing-a-development-build) for building with a newer GCC, it will error: https://github.com/zed-industries/zed/blob/79b1dd7db8baede7e5dbaa2ad077bca61d9bad49/script/bundle-linux#L88-L91 [Reported on Discord](https://discord.com/channels/869392257814519848/1379093394105696288) Release Notes: - Fixed `script/build-linux` for non-musl builds.
Peter Tripp created
974f724
vim: Enable window shortcuts in Agent panel (#31000)
Release Notes: - Enabled vim window commands (ctrl-w X) when agent panel is focused Co-authored-by: Cole Miller <cole@zed.dev>
Pavle Sokic and Cole Miller created
ca3f465
gpui: Implement dynamic window control elements (#30828)
Allows setting element as window control elements which consist of `Drag`, `Close`, `Max`, or `Min`. This allows you to implement dynamically sized elements that control the platform window, this is used for areas such as the title bar. Currently only implemented for Windows. Release Notes: - N/A
Matin Aniss created
d9efa28
gpui: Fix scroll area to support two-layer scrolling in different directions (#31062)
Release Notes: - N/A --- This change is used to solve the problem of not being able to respond correctly in two-layer scrolling (in different directions). This is a common practical requirement. As in the example, in actual use, there may be a scene with a horizontal scroll in a vertical scroll. Before the modification, if we scroll up and down in the area that can scroll horizontally, it will not respond (because it is blocked by the horizontal scroll layer). ## Before https://github.com/user-attachments/assets/e8ea0118-52a5-44d8-b419-639d4b6c0793 ## After https://github.com/user-attachments/assets/aa14ddd7-5596-4dc5-9c6e-278aabdfef8e ---- This change may cause many side effects, causing some scrolling details to be different from before, and more testing and analysis are needed. I have tested some existing scenarios of Zed (such as opening the Branch panel on the Editor and scrolling) and it seems to be correct (but it is possible that I don’t know some interaction details). Here, the person who added this line of code before needs to evaluate the original purpose.
Jason Lee created
ac806d9
gpui: Introduce dash array support for `PathBuilder` (#31678)
A simple way to draw dashed lines. https://github.com/user-attachments/assets/2105d7b2-42d0-4d73-bb29-83a4a6bd7029 Release Notes: - N/A
Floyd Wang created
73cd6ef
Add UI for configuring the API Url directly (#32248)
Closes #22901 Release Notes: - Copilot Chat endpoint URLs can now be configured via `settings.json` or Configuration View.
Piotr Osiewicz created
019a14b
Replace `async-watch` with a custom watch (#32245)
The `async-watch` crate doesn't seem to be maintained and we noticed
several panics coming from it, such as:
```
[bug] failed to observe change after notificaton.
zed::reliability::init_panic_hook::{{closure}}::hea8cdcb6299fad6b+154543526
std::panicking::rust_panic_with_hook::h33b18b24045abff4+127578547
std::panicking::begin_panic_handler::{{closure}}::hf8313cc2fd0126bc+127577770
std::sys::backtrace::__rust_end_short_backtrace::h57fe07c8aea5c98a+127571385
__rustc[95feac21a9532783]::rust_begin_unwind+127576909
core::panicking::panic_fmt::hd54fb667be51beea+9433328
core::option::expect_failed::h8456634a3dada3e4+9433291
assistant_tools::edit_agent::EditAgent::apply_edit_chunks::{{closure}}::habe2e1a32b267fd4+26921553
gpui::app::async_context::AsyncApp::spawn::{{closure}}::h12f5f25757f572ea+25923441
async_task::raw::RawTask<F,T,S,M>::run::h3cca0d402690ccba+25186815
<gpui::platform::linux::x11::client::X11Client as gpui::platform::linux::platform::LinuxClient>::run::h26264aefbcfbc14b+73961666
gpui::platform::linux::platform::<impl gpui::platform::Platform for P>::run::hb12dcd4abad715b5+73562509
gpui::app::Application::run::h0f936a5f855a3f9f+150676820
zed::main::ha17f9a25fe257d35+154788471
std::sys::backtrace::__rust_begin_short_backtrace::h1edd02429370b2bd+154624579
std::rt::lang_start::{{closure}}::h3d2e300f10059b0a+154264777
std::rt::lang_start_internal::h418648f91f5be3a1+127502049
main+154806636
__libc_start_main+46051972301573
_start+12358494
```
I didn't find an executor-agnostic watch crate that was well maintained
(we already tried postage and async-watch), so decided to implement it
our own version.
Release Notes:
- Fixed a panic that could sometimes occur when the agent performed
edits.
Antonio Scandurra created
95d78ff
context server: Make requests type safe (#32254)
This changes the context server crate so that the input/output for a
request are encoded at the type level, similar to how it is done for LSP
requests.
This also makes it easier to write tests that mock context servers, e.g.
you can write something like this now when using the `test-support`
feature of the `context-server` crate:
```rust
create_fake_transport("mcp-1", cx.background_executor())
.on_request::<context_server::types::request::PromptsList>(|_params| {
PromptsListResponse {
prompts: vec![/* some prompts */],
..
}
})
```
Release Notes:
- N/A
Bennet Bo Fenner created
454adfa
freebsd: Improve nightly builds of zed-remote-server (#32255)
Follow-up to: https://github.com/zed-industries/zed/pull/29561 Don't create a release Don't upload artifact to workflow. Add freebsd support to upload-nightly Release Notes: - N/A
Peter Tripp created
edd4056
git: Pick which remote to fetch (#26897)
I don't want to fetch `--all` branch, we should can picker which remote to fetch. Release Notes: - Added the `git::FetchFrom` action to fetch from a single remote. --------- Co-authored-by: Cole Miller <cole@zed.dev>
CharlesChen0823 and Cole Miller created
a40ee74
Improve handling of `injection.combined` injections in `SyntaxSnapshot::layers_for_range` (#32145)
Closes #27596 The problem in this case was incorrect identification of which language (layer) contains the selection. Language layer selection incorrectly assumed that the deepest `SyntaxLayer` containing a range was the most specific. This worked for Markdown (base document + injected subtrees) but failed for PHP, where `injection.combined` injections are used to make HTML logically function as the base layer, despite being at a greater depth in the layer stack. This caused HTML to be incorrectly identified as the most specific language for PHP ranges. The solution is to track included sub-ranges for syntax layers and filter out layers that don't contain a sub-range covering the desired range. The top-level layer is never filtered to ensure gaps between sibling nodes always have a fallback language, as the top-level layer is likely more correct than the default language settings. Release Notes: - Fixed an issue in PHP where PHP language settings would be occasionally overridden by HTML language settings
Ben Kunkle created
2e883be
Add regression test for #11671 (#32250)
I can reproduce #11671 on current Nightly but not on `main`; it looks like https://github.com/zed-industries/zed/pull/32204 fixed it. So I'm adding a regression test and closing that issue. Closes #11671 Release Notes: - N/A
Richard Feldman created
6ea4d2b
agent: Fix MCP server handler subscription race condition (#32133)
Closes #32132 Release Notes: - Fixed MCP server handler subscription race condition causing tools to not load. --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev> Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Jonathan LEI , Bennet Bo Fenner , and Bennet Bo Fenner created
380d8c5
Pull diagnostics fixes (#32242)
Follow-up of https://github.com/zed-industries/zed/pull/19230 * starts to send `result_id` in pull requests to allow servers to reply with non-full results * fixes a bug where disk-based diagnostics were offset after pulling the diagnostics * fixes a bug due to which pull diagnostics could not be disabled * uses better names and comments for the workspace pull diagnostics part Release Notes: - N/A
Kirill Bulatov created
508b604
project: Try to make git tests less flaky (#32234)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
3da1de2
Add JSDoc scope (#29476)
This is a small PR that adds a `.jsdoc` scope to JSDoc tokens, just like [JSX](https://github.com/zed-industries/zed/blob/3fdbc3090d2cc5c2e24014009cccbe5e7c55d217/crates/languages/src/javascript/highlights.scm#L239) has a specific scope. This effectively allows differentiating between JavaScript keywords and JSDoc tags in comments. Release Notes: - Add scope for JSDoc
chbk created
8837e55
Add new terminal hyperlink tests (#28525)
Part of #28238 This PR refactors `FindHyperlink` handling and associated code in `terminal.rs` into its own file for improved testability, and adds tests. Release Notes: - N/A
Dave Waggoner created
709523b
Store profile per thread (#31907)
This allows storing the profile per thread, as well as moving the logic of which tools are enabled or not to the profile itself. This makes it much easier to switch between profiles, means there is less global state being changed on every profile change. Release Notes: - agent panel: allow saving the profile per thread --------- Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Ben Brandt and Ben Kunkle created
7afee64
multi_buffer: Refactor diff_transforms field into a separate struct (#32237)
A minor refactor ~needed to unblock #22546; it's pretty hard to add an extra field to `diff_transforms` dimension, as it is a 2-tuple (which uses a blanket impl) Release Notes: - N/A
Piotr Osiewicz created
cd0ef4b
docs: Add more troubleshooting steps for Windows (#31500)
Release Notes: - N/A --------- Co-authored-by: 张小白 <364772080@qq.com>
shenjack and 张小白 created
be6f29c
terminal: Use conventional XTerm indexed color values (#32200)
Fixes rendering of colors in the terminal to use XTerm's idiosyncratic standard steps instead of the range that was previously in use. Matches the behavior of Alacritty, Ghostty, iTerm2, and every other terminal emulator I've looked at. Release Notes: - Fixed rendering of terminal colors for the XTerm 256-color indexed color palette.
Roland Crosby created
38b8e65
ci: Check for broken links (#30844)
This PR fixes some broken links that where found using
[lychee](https://github.com/lycheeverse/lychee/) as discussed today with
@JosephTLyons and @nathansobo at the RustNL hackathon. Using
[lychee-action](https://github.com/lycheeverse/lychee-action/) we can
scan for broken links daily to prevent issues in the future.
There are still 6 broken links that I didn't know how to fix myself.
See https://github.com/thomas-zahner/zed/actions/runs/15075808232 for
details.
## Missing images
```
Errors in ./docs/src/channels.md
[ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-3.png | Cannot find file
[ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-1.png | Cannot find file
[ERROR] file:///home/runner/work/zed/zed/docs/.gitbook/assets/channels-2.png | Cannot find file
```
These errors are showing up as missing images on
https://zed.dev/docs/channels
I tried to search the git history to see when or why they were deleted
but didn't find anything.
## ./crates/assistant_tools/src/edit_agent/evals/fixtures/zode/prompt.md
There are three errors in that file. I don't fully understand how these
issues were caused historically. Technically it would be possible to
ignore the files but of course if possible we should address the issues.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Thomas Zahner , Marshall Bowers , and Ben Kunkle created
b8c1b54
language_models: Fix Mistral tool->user message sequence handling (#31736)
Closes #31491 ### Problem Mistral API enforces strict conversation flow requirements that other providers don't. Specifically, after a `tool` message, the next message **must** be from the `assistant` role, not `user`. This causes the error: ``` "Unexpected role 'user' after role 'tool'" ``` This can also occur in normal conversation flow where mistral doesn't return the assistant message but that is something which can't be reproduce reliably. ### Root Cause When users interrupt an ongoing tool call sequence by sending a new message, we insert a `user` message directly after a `tool` message, violating Mistral's protocol. **Expected Mistral flow:** ``` user → assistant (with tool_calls) → tool (results) → assistant (processes results) → user (next input) ``` **What we were doing:** ``` user → assistant (with tool_calls) → tool (results) → user (interruption) ❌ ``` ### Solution Insert an empty `assistant` message between any `tool` → `user` sequence in the Mistral provider's request construction. This satisfies Mistral's API requirements without affecting other providers or requiring UX changes. ### Testing To reproduce the original error: 1. Start agent chat with `codestral-latest` 2. Send: "Describe this project using tool call only" 3. Once tool calls begin, send: "stop this" 4. Main branch: API error 5. This fix: Works correctly Release Notes: - Fixed Mistral tool calling in some cases
Umesh Yadav created
c304e96
Display the first keystroke instead of an error for multi-keystroke binding (#31456)
Ideally we would show multi-keystroke binding, but I'd say this improves over the status quo. A partial solution to #27334 Release Notes: - Fixed spurious warning for lack of edit prediction on multi-keystroke binding Co-authored-by: Ben Kunkle <ben@zed.dev>
Jakub Sygnowski and Ben Kunkle created
53abad5
Fixed more bugs around moving pinned tabs (#32228)
Closes https://github.com/zed-industries/zed/issues/32199 https://github.com/zed-industries/zed/issues/32229 https://github.com/zed-industries/zed/issues/32230 https://github.com/zed-industries/zed/issues/32232 Release Notes: - Fixed a bug where if the last tab was a pinned tab and it was dragged to the right, resulting in a no-op, it would become unpinned - Fixed a bug where a pinned tab dragged just to the right of the end of the pinned tab region would become unpinned - Fixed a bug where dragging a pinned tab from one pane to another pane's pinned region could result in an existing pinned tab becoming unpinned when `max_tabs` was reached - Fixed a bug where moving an unpinned tab to the left, just to the end of the pinned region, would cause the pinned tabs to become unpinned.
Joseph T. Lyons created
54e64b2
windows: Refactor the current ime implementation (#32224)
Release Notes: - N/A
张小白 created
ce88540
Add `crates/assistant_tools/src/evals/fixtures` to file_scan_exclusions (#32211)
Particularly got tired of `disable_cursor_blinking/before.rs` (an old copy of `editor.rs`) showing up in tons of searches Release Notes: - N/A
Michael Sloan created