d912b0d
Remove unused tasks-related config (#27707)
Click to expand commit body
Release Notes: - N/A
Kirill Bulatov created
d912b0d
Remove unused tasks-related config (#27707)
Release Notes: - N/A
Kirill Bulatov created
044508e
assistant2: Visually de-emphasize read-only tool calls (#27702)
<img src="https://github.com/user-attachments/assets/03961518-ae40-47d8-b84c-974c9b897eb3" width="500"/> Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal and Agus Zubiaga created
d63658c
Remove duplicate message bubble icon (#27699)
Release Notes: - N/A
Danilo Leal created
790b56f
livekit_client: Sort dependencies in `Cargo.toml` (#27705)
This PR sorts the dependencies in the `Cargo.toml` for `livekit_client`. Release Notes: - N/A
Marshall Bowers created
4314200
Switch back to upstream `cargo_metadata` (#27706)
This PR switches us back to the upstream `cargo_metadata`. We had switched to a fork in #27126, but this shouldn't be necessary after #27117. Release Notes: - N/A
Marshall Bowers created
3e400a4
zed: Fix `package.metadata.bundle-dev` key (#27704)
This PR fixes the `package.metadata.bundle-dev` key in the `zed` crate's
`Cargo.toml`.
It seems this was inadvertently changed in
https://github.com/zed-industries/zed/pull/27126.
Nightly builds are currently failing with:
```
error: `cargo metadata` exited with an error: error: invalid table header
duplicate key `bundle` in table `package.metadata`
--> Cargo.toml:173:1
|
173 | [package.metadata.bundle]
| ^
|
0: backtrace::capture::Backtrace::create
1: error_chain::backtrace::imp::InternalBacktrace::new
2: <error_chain::State as core::default::Default>::default
3: cargo_bundle::bundle::settings::load_metadata
4: cargo_bundle::bundle::settings::Settings::new
5: cargo_bundle::main
6: std::sys::backtrace::__rust_begin_short_backtrace
7: std::rt::lang_start::{{closure}}
8: std::rt::lang_start_internal
9: _main
```
Release Notes:
- N/A
Marshall Bowers created
e11e7df
Restore editor state on reopen (#27672)
Closes https://github.com/zed-industries/zed/issues/11626 Part of https://github.com/zed-industries/zed/issues/12853 `"restore_on_file_reopen": true` in workspace settings can now be used to enable and disable editor data between file reopens in the same pane: https://github.com/user-attachments/assets/8d938ee1-d854-42a8-bbc3-2a4e4d7d5933 The settings are generic and panes' data store can be extended for further entities, beyond editors. --------------- Impl details: Currently, the project entry IDs seem to be stable across file reopens, unlike BufferIds, so those were used. Originally, the DB data was considered over in-memory one as editors serialize their state anyway, but managing and exposing PaneIds out of the DB is quite tedious and joining the DB data otherwise is not possible. Release Notes: - Started to restore editor state on reopen
Kirill Bulatov created
bbd1e62
Fix GPUI keyup events not firing on Windows and macOS (#27290)
While building my own application using GPUI, I found that the `key_up`
event doesn't fire on Windows or macOS, with each platform failing for
different reasons. These events aren't used anywhere in Zed yet, so it
makes sense that the issue hasn't already been caught.
I don't have a Linux machine set up right now, so I don't know if these
events fire correctly on Linux or not.
---
Without this fix, a simple layout like the following:
```rust
div()
.on_key_down(cx.listener(|_, event, _, _| println!("Key down: {:?}", event)))
.on_key_up(cx.listener(|_, event, _, _| println!("Key up: {:?}", event)));
```
...would result in the following logs if the 'a' key was pressed:
```text
Key down: KeyDownEvent { keystroke: Keystroke { modifiers: Modifiers { control: false, alt: false, shift: false, platform: false, function: false }, key: "a", key_char: Some("a") }, is_held: false }
<eof>
```
With this fix, the `key_up` event fires correctly, resulting in the
following logs:
```text
Key down: KeyDownEvent { keystroke: Keystroke { modifiers: Modifiers { control: false, alt: false, shift: false, platform: false, function: false }, key: "a", key_char: Some("a") }, is_held: false }
Key up: KeyUpEvent { keystroke: Keystroke { modifiers: Modifiers { control: false, alt: false, shift: false, platform: false, function: false }, key: "a", key_char: None } }
<eof>
```
---
I've made the assumption that the `key_char` field shouldn't be set on
the `key_up` event since, unlike the `key_down` event, it's not an event
that may produce a character.
Happy to make any changes to this PR as required. If it would be
preferable to test this on Linux as well before it's merged, let me know
and I'll sort something out.
Hopefully this makes the experience of building new applications on GPUI
smoother, and potentially saves the Zed team some time if this event is
ever used in the future.
Release Notes:
- N/A
Felix Packard created
01b400e
gpui: Implement From trait for Clipboard related structs (#27585)
Implement the From trait for some simple conversations between Clipboard
related structs.
This PR only adds the From trait implementations and doesn't touch any
code. In a future PR we can simplify usage throughout the codebase, such
as:
```rust
// impl ClipboardString
fn new(text: String) -> Self {
Self::from(text)
}
```
Release Notes:
- N/A *or* Added/Fixed/Improved ...
tidely created
9445005
Don't consider empty deleted files to be dirty or conflicting (#27701)
When a file is deleted outside of Zed, but it doesn't have any unsaved changes, it shouldn't be considered "dirty" (prompting you before you close it). Release Notes: - Fixed an bug where unchanged buffers were marked as conflicting if their files were deleted outside of Zed. --------- Co-authored-by: Antonio <antonio@zed.dev>
Max Brunsfeld and Antonio created
5c0adde
Correct other end visual block functionality (#27678)
Closes #27385 Builds on #27604 so that `vim::OtherEnd` works in visual block mode. This is accomplished by reversing the order of active selections in the buffer when the user hit `o`, so that the cursor moves diagonally across the selection. The current behavior is preserved for `shift-o`, which is how the cursors behave in vim. We'll close #27604 since this encapsulates that change, but if you'd prefer to take only the visual block motion component, we'll keep the branch for #27604 open. Test case: growing a box down and to the right, other ending, followed by growing and shrinking the box: https://github.com/user-attachments/assets/1df544e1-efce-4354-b354-bbfec007a7df Test case: growing a box up and to the left, other ending, followed by growing and shrinking the box: https://github.com/user-attachments/assets/2f6d7729-c63a-4486-960b-23474c2e507a Release Notes: - Improved visual block mode when cursor is at beginning of selection - Improved visual block mode so that `o` and `shift-o` reach parity with vim --------- Co-authored-by: KyleBarton <kjbarton4@gmail.com>
Peter Finn and KyleBarton created
4a5c492
If GIT_ASKPASS is already set, assume it will do the right thing (#27681)
Fixes running git push on a coder instance. Closes #ISSUE Release Notes: - Zed will now use `GIT_ASKPASS` if you already have one set instead of overriding with our own. Fixes `git push` in Coder.
Conrad Irwin created
4da987d
Delete test file (#27697)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
be657ae
terminal: Make IME work with tab and enter keys (#27572)
… in the terminal. Closes #23003 Release Notes: - N/A ## Before fix: https://github.com/user-attachments/assets/249ec62d-1461-4551-87b2-4259dba171f2 ## After fix: https://github.com/user-attachments/assets/2db624a0-8035-4260-9b2e-0cee83662b84
Ishige created
d0ae604
collab: Switch to new encryption format for access tokens (#27691)
This PR switches collab over to start minting access tokens using the new OAEP-based encryption format. This is a follow-up to #15058 where we added support for this new encryption format. Clients that are newer than 8 months ago should be able to decrypt the new access tokens. It is only clients older than 8 months ago that will no longer be supported. Release Notes: - N/A
Marshall Bowers created
08bb17a
Allow Trash to fallback to Delete on failure (#27682)
This fixes trashing files from the git panel on SSH remotes that don't run a Desktop environment. Release Notes: - Fix trash to work on remotes with no desktop environment configured
Conrad Irwin created
55c1f9d
Debugger: Switch Breakpoint Anchor from left to right (#27688)
This fixes an edge case where some breakpoints would not render correctly when expanding a conflict git hunk. ## Before https://github.com/user-attachments/assets/4fd75ef6-8381-4f9e-9765-5eeb3a734df0 ## After https://github.com/user-attachments/assets/b2b49894-2dc2-42ba-8038-504a1b4c2665 Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev>
Anthony Eid and Conrad created
28f0ba3
Debugger: Basic breakpoint improvements (#27687)
This PR does three things - Right clicking within the gutter outside of the gutter fold area bounds opens a breakpoint context menu - Disabled breakpoints are now outline with the debugger accent color instead of being fully colored at half opacity - Clicking a breakpoint acts differently now - Clicking a breakpoint while holding the platform modifier key will disable/enable it - Clicking a breakpoint hint while holding the platform modifier key will set a disabled breakpoint - Clicking a disabled breakpoint will enable it instead of deleting it Release Notes: - N/A
Anthony Eid created
b5dc09c
Remove unneeded anonymous lifetimes from `gpui::Context` (#27686)
This PR removes a number of unneeded anonymous lifetimes from usages of `gpui::Context`. Release Notes: - N/A
Marshall Bowers created
e90411e
gpui: Remove unneeded anonymous lifetime from `Render::render` (#27684)
This PR removes an unneeded anonymous lifetime from the `cx` parameter
to `Render::render`.
This makes it so the anonymous lifetime doesn't show up when
implementing the `Render` trait via a code action:
#### Before
```rs
struct Foo;
impl Render for Foo {
fn render(&mut self, window: &mut Window, cx: &mut Context<'_, Self>) -> impl IntoElement {
todo!()
}
}
```
#### After
```rs
struct Foo;
impl Render for Foo {
fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
todo!()
}
}
```
Release Notes:
- N/A
Marshall Bowers created
fcadcbb
assistant2: Make context pills clickable (#27680)
Release Notes: - N/A
Bennet Bo Fenner created
94ed0b7
Allow reviewing of agent changes without Git (#27668)
Release Notes: - N/A
Antonio Scandurra created
8a307e7
Switch fully to Rust Livekit (redux) (#27126)
Swift bindings BEGONE Release Notes: - Switched from using the Swift LiveKit bindings, to the Rust bindings, fixing https://github.com/zed-industries/zed/issues/9396, a crash when leaving a collaboration session, and making Zed easier to build. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Michael Sloan <michael@zed.dev>
Mikayla Maki , Conrad Irwin , and Michael Sloan created
c8fb95c
assistant2: Add keybinding for profile selector (#27674)
This PR adds a keybinding to toggle the profile selector. Defaults to `Cmd-I` on macOS and `ctrl-I` on Linux/Windows. Release Notes: - N/A
Marshall Bowers created
55d934a
Show tool name for Unknown tool (#27667)
Right now we can't see what tool name the model was trying to run. Release Notes: - N/A
Richard Feldman created
a916bbf
assistant2: Add support for referencing symbols as context (#27513)
TODO Release Notes: - N/A
Bennet Bo Fenner created
da47013
assistant2: Agent notification improvements (#27638)
- Show thread's summary in notification title - Improve thread's summary prompt so it's more descriptive - Make whole notification clickable  Release Notes: - N/A
Agus Zubiaga created
82ce187
Preserve newlines in release notes email (#27670)
Release Notes: - N/A
Joseph T. Lyons created
e843790
assistant2: Rework profile list (#27669)
This PR reworks the profile list to make it match the designs more closely: https://github.com/user-attachments/assets/3cd9cad4-771c-4231-ba9b-ddca72ff617c We're no longer using a `Picker` and are instead using a custom navigable list. Also added an option to add a new profile. Release Notes: - N/A
Marshall Bowers created
83f3fbf
assistant2: Add header to fork profile modal (#27666)
This PR adds a header to the fork profile view in the profile management modal: <img width="575" alt="Screenshot 2025-03-28 at 10 29 10 AM" src="https://github.com/user-attachments/assets/8c0012e5-3297-4ba6-9603-0364f5b6f3b7" /> Release Notes: - N/A
Marshall Bowers created
60a7455
assistant2: Don't scroll down if user has scrolled up (#27614)
This caused undesirable and unnecessary scrolling, in that if you scroll up, then as new messages stream into the panel, they jump the scroll bar back down. @agu-z and I paired on this and we think this is unnecessary now that we don't see the Edit button in the UI, but @bennetbo we still see code for the button in there, so...maybe we do still want this? (If so, we can revert the second commit and go back to a more conditional way of scrolling. 😄) Release Notes: - N/A --------- Co-authored-by: Agus <agus@zed.dev>
Richard Feldman and Agus created
4315b2f
assistant2: Reload profile when making changes to the active profile's tools (#27664)
This PR makes it so the profile is reloaded when making changes to the active profile's tools. Release Notes: - N/A
Marshall Bowers created
68d453d
assistant: Remove `/search` (#27661)
This PR removes the `/search` command. This was feature-flagged and was never released to the general public. Release Notes: - N/A
Marshall Bowers created
20eab90
assistant: Remove `/project` (#27660)
This PR removes the `/project` command. This was feature-flagged and was never released to the general public. Release Notes: - N/A
Marshall Bowers created
a201263
storybook: Fix `auto_height_editor` story (#27653)
This is a fix for this error when trying to run `auto_height_editor` story: ```sh thread 'main' panicked at C:\Users\x\dev\zed\crates\settings\src\settings_store.rs:363:32: unregistered setting type workspace::workspace_settings::WorkspaceSettings ``` Release Notes: - N/A
loczek created
1a4ba59
docs: Fix `#windows` Discord channel name (#27659)
This PR fixes the name of the `#windows` Discord channel to match what the channel is actually called. Release Notes: - N/A
Marshall Bowers created
24ad970
language server: Fix restarts sometimes not working for buffers open in go-to-definition view (#27655)
Closes #ISSUE Release Notes: - Fixed language server restarts sometimes not restarting a language server.
Piotr Osiewicz created
f6c81a0
assistant2: Unify path rendering for file context (#27537)
This ensures that we render path matches the same in both the file context picker and the messag editor completion provider. Release Notes: - N/A
Bennet Bo Fenner created
7ac51e4
project: Add tests for more cases in LSP completions (#27650)
This PR adds two more cases to existing LSP completion cases. - When text_edit exists: (New test) 1. we use text_edit, over insert_text and label - When edit range exists (and text_edit is None): (New test) 1. insert_text is used over label if exists 2. label is used otherwise - When not edit range exists (and text_edit is None): (Existing test) 1. insert_text is used over label if exists 2. label is used otherwise Release Notes: - N/A
Smit Barmase created
c810586
Update docs to include Windows JD (#27649)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
mslzed created
9f72e05
windows: Fix extension uninstall (#18467)
Closes #18153 When calling `uninstall_extension`, the `work_dir` associated with this `extension` doesn't have its corresponding `FileHandle` properly closed, preventing the deletion of the `work_dir`. As seen in the image below, after installing the `toml` extension, `zed.exe` holds two `Handle`s for the folder `C:\Users\36477\AppData\Local\Zed\extensions\work\toml`.  Therefore, after deleting `extension_dir` and then calling `this.update(...)`, `zed.exe` releases these two `Handles`, and only then can the folder `C:\Users\36477\AppData\Local\Zed\extensions\work\toml` be deleted. See the corresponding file handles are closed after calling `this.update(...)`:  However, if there is a running server of the extension, the error will persist. At this point, I haven’t found a direct way to terminate all running servers of the extension. Since this feature might affect the `LspStore` structure, I paused my work here. See when `toml` extension is running, we can not delete `C:\Users\36477\AppData\Local\Zed\extensions\work\toml` since `C:\Users\36477\AppData\Local\Zed\extensions\work\toml\taplo.exe` is still running:  cc @ConradIrwin You're the expert in this area—what are your thoughts? Release Notes: - N/A
张小白 created
bb15f4c
assistant2: Fix tool picker appearance inside modal (#27635)
This PR fixes the tool picker appearance now that there is a header. Release Notes: - N/A
Marshall Bowers created
dc60040
bedrock: Support DeepSeek r1 (#27495)
Release Notes: - Added support for DeepSeek R1 hosted on AWS Bedrock. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Shardul Vaidya and Marshall Bowers created
2863bd1
icons: Remove `ZedAssistant2` icon (#27634)
This PR removes the `ZedAssistant2` icon. I went to use it as a placeholder icon, but noticed that the icon wasn't loaded properly due to a name mismatch. However, since we aren't using it anywhere I'm opting to remove it. Release Notes: - N/A
Marshall Bowers created
f1ce83b
context_server: Only look for context server project settings in visible worktrees (#27633)
This PR fixes an issue where we were looking for context server project settings in _all_ worktrees, not just visible ones. This meant that if you had a single file worktree open (e.g., `settings.json`) this could impact whether context servers defined in project settings would load. Release Notes: - Fixed an issue where context servers defined in project settings would not be respected in some scenarios. Co-authored-by: Wilhelm Klopp <wil.klopp@gmail.com>
Marshall Bowers and Wilhelm Klopp created
edc7d73
Set cache breakpoint on second-to-last message (#27632)
Here's a sample `dbg!` of token usage after this change, for a small
agent thread:
```
[crates/assistant2/src/thread.rs:1092:25] &usage = TokenUsage {
input_tokens: 5354,
output_tokens: 184,
cache_creation_input_tokens: 0,
cache_read_input_tokens: 0,
}
[crates/assistant2/src/thread.rs:1092:25] &usage = TokenUsage {
input_tokens: 54,
output_tokens: 132,
cache_creation_input_tokens: 5518,
cache_read_input_tokens: 0,
}
[crates/assistant2/src/thread.rs:1092:25] &usage = TokenUsage {
input_tokens: 54,
output_tokens: 113,
cache_creation_input_tokens: 166,
cache_read_input_tokens: 5518,
}
[crates/assistant2/src/thread.rs:1092:25] &usage = TokenUsage {
input_tokens: 291,
output_tokens: 181,
cache_creation_input_tokens: 147,
cache_read_input_tokens: 5684,
}
```
Release Notes:
- N/A
Richard Feldman created
4839195
debugger: Remove fake adapter and un-gate GDB (#27557)
This is a clean-up PR in anticipation of introduction of Debugger Registry. I wanna get rid of DebugAdapterKind (or rather, it being an enum). Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev>
Piotr Osiewicz , Anthony Eid , and Anthony created
56eb650
Add Batch tool call for calling multiple tools (#27621)
<img width="620" alt="Screenshot 2025-03-27 at 2 29 13 PM" src="https://github.com/user-attachments/assets/dd023507-61bc-4722-a095-f65f4b6c746a" /> We'll iterate on the UI, but first the goal is to just get it to work at all so we can see if it's useful in terms of getting correct output faster. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me>
Richard Feldman and Agus Zubiaga created
61be869
Add Open Tool (#27499)
I've seen models try to run `open` in Bash. This is a cross-platform version of that. <img width="634" alt="Screenshot 2025-03-26 at 10 27 40 AM" src="https://github.com/user-attachments/assets/b18cb50f-6e2f-4770-b15c-1040916a420a" /> Release Notes: - N/A
Richard Feldman created
7537f05
Automatically hide "View Panel" notification after refocusing Zed (#27512)
Now if you refocus Zed manually (e.g. cmd-tab), we hide the "View Panel" notification automatically. This also fixes a related subscription leak. Release Notes: - N/A
Richard Feldman created