f630365
agent2: Implement prompt caching (#36236)
Click to expand commit body
Release Notes: - N/A
Bennet Bo Fenner created
f630365
agent2: Implement prompt caching (#36236)
Release Notes: - N/A
Bennet Bo Fenner created
846ed6a
search: Fix project search not rendering matches count (#36238)
Follow up to https://github.com/zed-industries/zed/pull/36103/ Release Notes: - N/A
Lukas Wirth created
708c434
workspace: Highlight where dragged tab will be dropped (#34740)
Closes #18565 I could use some advice on the color palette / theming. A couple options: 1. The `drop_target_background` color could be used for the border if we didn't use it for the background of the tab. In VSCode, the background color of tabs doesn't change as you're dragging, there's just a border between tabs. My only concern with this option is that the current `drop_target_background` color is a bit subtle when used for a small area like a border. 2. Another option could be to add a `drop_target_border` theme color, but I don't know how much complexity this adds to implementation (presumably all existing themes would need to be updated?). Demo: https://github.com/user-attachments/assets/0b7c04ea-5ec5-4b45-adad-156dfbf552db Release Notes: - Highlight where a dragged tab will be dropped between two other tabs --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Daniel Sauble and Smit Barmase created
6f3cd42
agent2: Port Zed AI features (#36172)
Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner and Antonio Scandurra created
f8b0105
project: Fix LSP TextDocumentSyncCapability dynamic registration (#36234)
Closes #36213 Use `textDocument/didChange` ([docs](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization)) instead of `textDocument/synchronization`. Release Notes: - Fixed an issue where Dart projects were being formatted incorrectly by the language server.
smit created
2a57b16
openai: Don't send prompt_cache_key for OpenAI-compatible models (#36231)
Some APIs fail when they get this parameter Closes #36215 Release Notes: - Fixed OpenAI-compatible providers that don't support prompt caching and/or reasoning
Oleksiy Syvokon created
d891348
search: Simplify search options handling (#36233)
Release Notes: - N/A
Lukas Wirth created
4f0b00b
Add component NotificationFrame & CaptureAudio parts for testing (#36081)
Adds component NotificationFrame. It implements a subset of MessageNotification as a Component and refactors MessageNotification to use NotificationFrame. Having some notification UI Component is nice as it allows us to easily build new types of notifications. Uses the new NotificationFrame component for CaptureAudioNotification. Adds a CaptureAudio action in the dev namespace (not meant for end-users). It records 10 seconds of audio and saves that to a wav file. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
David Kleingeld and Mikayla created
a3dcc76
openai: Don't send reasoning_effort if it's not set (#36228)
Release Notes: - N/A
Oleksiy Syvokon created
8d6982e
search: Fix some inconsistencies between project and buffer search bars (#36103)
- project search query string now turns red when no results are found matching buffer search behavior - General code deduplication as well as more consistent layout between the two bars, as some minor details have drifted apart - Tab cycling in buffer search now ends up in editor focus when cycling backwards, matching forward cycling - Report parse errors in filter include and exclude editors Release Notes: - N/A
Lukas Wirth created
23d0433
linux: Fix keyboard events not working on first start in X11 (#36224)
Closes #29083 On X11, `ibus-x11` crashes on some distros after Zed interacts with it. This is not unique to Zed, `xim-rs` shows the same behavior, and there are similar upstream `ibus` reports with apps like Blender: - https://github.com/ibus/ibus/issues/2697 I opened an upstream issue to track this: - https://github.com/ibus/ibus/issues/2789 When this crash happens, we donβt get a disconnect event, so Zed keeps sending events to the IM server and waits for a response. It works on subsequent starts because IM server doesn't exist now and we default to non-XIM path. This PR detects the crash via X11 events and falls back to the non-XIM path so typing keeps working. We still need to investigate whether the root cause is in `xim-rs` or `ibus-x11`. Release Notes: - Fixed an issue on X11 where keyboard input sometimes didnβt work on first start.
smit created
4d27b22
remote server: Use env flag to opt out of musl remote server build (#36069)
Closes #ISSUE This will allow devs to opt out of the musl build when developing zed by running `ZED_BUILD_REMOTE_SERVER=nomusl cargo r` which also fixes remote builds on NixOS. Release Notes: - Add a env flag (`ZED_BUILD_REMOTE_SERVER=nomusl`) to opt out of musl builds when building the remote server
Alvaro Parker created
8366b6c
workspace: Disable padding on zoomed panels (#36012)
Continuation of https://github.com/zed-industries/zed/pull/31913 | Before | After | | -------|------| |  |  | Release Notes: - Disable padding on zoomed panels
Cretezy created
b1e8064
Support images in agent2 threads (#36152)
- Support adding ImageContent to messages through copy/paste and through path completions - Ensure images are fully converted to LanguageModelImageContent before sending them to the model - Update ACP crate to v0.0.24 to enable passing image paths through the protocol Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cole Miller and Conrad Irwin created
e2ce787
editor: Limit target names in hover links multibuffer titles (#36207)
Release Notes: - N/A
Lukas Wirth created
b7c562f
Bump `async-trait` (#36201)
The latest release has span changes in it which prevents rust-analyzer from constantly showing `Box` and `Box::pin` on hover as well as those items polluting the go to definition feature on every identifier. See https://github.com/dtolnay/async-trait/pull/293 Release Notes: - N/A
Lukas Wirth created
3a711d0
Remove onboarding script (#36203)
Just use `ZED_STATELESS=1 zed` instead! Release Notes: - N/A *or* Added/Fixed/Improved ...
Joseph T. Lyons created
b65e9af
Add [f/]f to follow the next collaborator (#36191)
Release Notes: - vim: Add `[f`/`]f` to go to the next collaborator
Conrad Irwin created
eb9bbaa
Add onboarding reset restore script (#36202)
Release Notes: - N/A
Joseph T. Lyons created
43ee604
acp: Clean up entry views on rewind (#36197)
We were leaking diffs and terminals on rewind, we'll now clean them up. This PR also introduces a refactor of how we mantain the entry view state to use a `Vec` that's kept in sync with the thread entries. Release Notes: - N/A
Agus Zubiaga created
2acfa5e
copilot: Fix Copilot fails to sign in on newer versions (#36195)
Follow-up for #36093 and
https://github.com/zed-industries/zed/pull/36138
Since v1.355.0, `@github/copilot-language-server` has stopped responding
to `CheckStatus` requests if a `DidChangeConfiguration` notification
hasnβt been sent beforehand. This causes `CheckStatus` to remain in an
await state until it times out, leaving the connection stuck for a long
period before finally throwing a timeout error.
```rs
let status = server
.request::<request::CheckStatus>(request::CheckStatusParams {
local_checks_only: false,
})
.await
.into_response() // bails here with ConnectionResult::Timeout
.context("copilot: check status")?;
````
This PR fixes the issue by sending the `DidChangeConfiguration`
notification before making the `CheckStatus` request. Itβs just an
ordering change i.e. no other LSP actions occur between these two calls.
Previously, we only updated our internal connection status and UI in
between.
Release Notes:
- Fixed an issue where GitHub Copilot could get stuck and fail to sign
in.
smit created
1a169e0
git: Clear set of dirty paths when doing a full status scan (#36181)
Related to #35780 Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Cole Miller and Kirill Bulatov created
5a9546f
Add alt-s to helix mode (#33918)
Closes #31562 Release Notes: - Helix: bind alt-s to SplitSelectionIntoLines --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Mostafa Khaled and Ben Kunkle created
9a2b7ef
helix: Change f and t motions (#35216)
In vim and zed (vim and helix modes) typing "tx" will jump before the next `x`, but typing it again won't do anything. But in helix the cursor just jumps before the `x` after that. I added that in helix mode. This also solves another small issue where the selection doesn't include the first `x` after typing "fx" twice. And similarly after typing "Fx" or "Tx" the selection should include the character that the motion startet on. Release Notes: - helix: Fixed inconsistencies in the "f" and "t" motions
fantacell created
20be133
helix: Allow yank without a selection (#35612)
Related https://github.com/zed-industries/zed/issues/4642 Release Notes: - Helix: without active selection, pressing `y` in helix mode will yank a single character under cursor. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Romans Malinovskis and Conrad Irwin created
528d56e
keymap_ui: Add open keymap JSON button (#36182)
Closes #ISSUE Release Notes: - Keymap Editor: Added a button in the top left to allow opening the keymap JSON file. Right clicking the button provides shortcuts to opening the default Zed and Vim keymaps as well.
Ben Kunkle created
f514c7c
Emit a `BreadcrumbsChanged` event when associated settings changed (#36177)
Closes https://github.com/zed-industries/zed/issues/36149 Release Notes: - Fixed a bug where changing the `toolbar.breadcrumbs` setting didn't immediately update the UI when saving the `settings.json` file.
Joseph T. Lyons created
ba2c45b
Add FutureExt::with_timeout and use it for for Room::maintain_connection (#36175)
Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
David Kleingeld and Antonio Scandurra created
e5402d5
Allow editing Agent2 messages (#36155)
Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Agus Zubiaga <agus@zed.dev>
Conrad Irwin , Antonio Scandurra , and Agus Zubiaga created
ffac8c5
editor: Render all targets in go to def multbuffer title (#36167)
Release Notes: - N/A
Lukas Wirth created
b3d048d
Add back `DeletePathTool` to agent2 (#36168)
This was probably removed accidentally as a result of a merge conflict. Release Notes: - N/A
Antonio Scandurra created
8e4f30a
project: Print error causes when failing to spawn lsp command (#36163)
cc https://github.com/zed-industries/zed/issues/34666 Display printing anyhow errors only renders the error itself, but not any of its causes so we've been dropping the important context when showing the issue to the users. Release Notes: - N/A
Lukas Wirth created
0291db0
git: Add handler to get default branch on remote (#36157)
Closes #36150 Release Notes: - Fixed `git: branch` action not worked with ssh workflow
Alvaro Parker created
5bbdd1a
docs: Update information in MSYS2 section (#36158)
- we are about to drop Zed for MINGW64 because `crash-handler` uses a symbol which is not presented in `msvcrt.dll` - mention MSYS2 docs page and CLANGARM64 environment Release Notes: - N/A
Maksim Bondarenkov created
ab9fa03
UI for checkpointing (#36124)
Co-authored-by: Antonio Scandurra <me@as-cii.com> Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
Conrad Irwin and Antonio Scandurra created
5a6df38
docs: Add example of controlling reasoning effort (#36135)
Release Notes: - N/A
Oleksiy Syvokon created
32f9de6
Add grid support to GPUI (#36153)
Release Notes: - N/A --------- Co-authored-by: Anthony <anthony@zed.dev>
Mikayla Maki and Anthony created
e67b2da
Make alphabetical sorting the default (#32315)
Follow up of this pr: #25148 Release Notes: - Improved file sorting. As described in #20126, I was fed up with lexicographical file sorting in the project panel. The current sorting behavior doesn't handle numeric segments properly, leading to unintuitive ordering like `file_1.rs`, `file_10.rs`, `file_2.rs`. ## Example Sorting Results Using `lexicographical` (default): ``` . βββ file_01.rs βββ file_1.rs βββ file_10.rs βββ file_1025.rs βββ file_2.rs ``` Using alphabetical (natural) sorting: ``` . βββ file_1.rs βββ file_01.rs βββ file_2.rs βββ file_10.rs βββ file_1025.rs ```
Tom Planche created
293992f
In auto-update-helper, fix parsing of `--launch false` (#36148)
This fixes an issue introduced in https://github.com/zed-industries/zed/pull/34303 where, after an auto-update was downloaded, quitting Zed would always restart Zed. Release Notes: - N/A
Max Brunsfeld created
665006c
Move the cursor on search in Terminal if ViMode is active (#33305)
Currently, the terminal search function doesn't work well with ViMode. It matches the search terms, scrolls the active match in the view, but it doesn't move the cursor to the match, which makes it useless for navigating the scrollback in vimode. With this improvement, if a user activates ViMode before the search Zed moves the cursor to the active search terms. So, when the search dialog is dismissed the cursor is places on the latest active search term and it's possible to navigate the scrollback via ViMode using this place as the starting point. https://github.com/user-attachments/assets/63325405-ed93-4bf8-a00f-28ded5511f31 Release Notes: - Improved the search function in the terminal when ViMode is activated
Aleksei Gusev created
09e90fb
Use trace log level for potentially high-volume vsync duration log (#36147)
This is an attempt to fix https://github.com/zed-industries/zed/issues/36125 Release Notes: - N/A
Max Brunsfeld created
8452532
agent2: Iterate on "new thread" selector in the toolbar (#36144)
Release Notes: - N/A
Danilo Leal created
1d2eaf2
editor: Fix first `cmd-left` target for cursor in leading whitespace (#36145)
Closes #35805 If the cursor is between column 0 and the indent size, pressing `cmd-left` jumps to the indent. Pressing it again moves to the true column 0. Further presses toggle between indent and column 0. This PR changes the first `cmd-left` to go to column 0 instead of indent. Toggling between is unaffected. Release Notes: - Fixed issue where pressing `cmd-left` with the cursor in the leading spaces moved to the start of the text first. It now goes to the beginning of the line first, then the start of the text.
smit created
a6e2e0d
onboarding: Fix minimap typo on editing page (#36143)
This PR fixes a small typo on the onboarding editing page where it should be "Minimap" instead of "Mini Map" Release Notes: - N/A
Finn Evers created
9be4451
Remove Services menu on non-macOS systems (#36142)
Closes #ISSUE <img width="420" height="379" alt="image" src="https://github.com/user-attachments/assets/7125c504-508f-4eb1-b0c3-31830598c4a7" /> Release Notes: - Remove Services menu on non-macOS systems which was causing an empty menu item being rendered
Alvaro Parker created
389d24d
Fully support all mention kinds (#36134)
Feature parity with the agent1 @mention kinds: - File - Symbols - Selections - Threads - Rules - Fetch Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Agus Zubiaga and Cole Miller created
389d382
ci: Disable FreeBSD builds (#36140)
Revert accidental change introduced in [#35880](https://github.com/zed-industries/zed/pull/35880/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fL706) Release Notes: - N/A
smit created
bd61eb0
Use IBM Plex Sans / Lilex (#36084)
The Zed Plex fonts were found to violate the OFL by using the word Plex in the name. Lilex has better ligatures and box-drawing characters than Zed Plex Mono, but Zed Plex Sans should be identical to IBM Plex Sans. Closes #15542 Closes zed-industries/zed-fonts#31 Release Notes: - The "Zed Plex Sans" and "Zed Plex Mono" fonts have been replaced with "IBM Plex Sans" and "Lilex". The old names still work for backward compatibility. Other than fixing line-drawing characters, and improving the ligatures, there should be little visual change as the fonts are all of the same family. - Introduced ".ZedSans" and ".ZedMono" as aliases to allow us to easily change the default fonts in the future. These currently default to "IBM Plex Sans" and "Lilex" respectively.
Conrad Irwin created
4a35498
copilot: Fix Copilot fails to sign in (#36138)
Closes #36093 Pin copilot version to 1.354 for now until further investigation. Release Notes: - Fixes issue where Copilot failed to sign in. Co-authored-by: MrSubidubi <dev@bahn.sh>
smit and MrSubidubi created
e52f148
Bump Zed to v0.201 (#36132)
Release Notes: -N/A
Joseph T. Lyons created