4b61d4b
agent: Fix message editor's button positions when expanded (#30311)
Click to expand commit body
Fixes an issue introduced by #29959 which caused the message editor to
overflow from the agent panel bounds, making the bottom buttons
invisible when the editor was expanded (cmd+esc).
Fixing this required changing the base structure of the agent panel, but
things seem to work as expected:
https://github.com/user-attachments/assets/fc4c97fb-f7cb-4f54-a268-c30fbcb1649f
Release Notes:
- agent: Fix message editor's button positions when expanded
Agus Zubiaga
created
b4fbb9b
Use ESC to cancel dragging in Zed (#30318)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/11887
ESC is always captured in terminal due to
https://github.com/zed-industries/zed/blob/980bfae331dd5078bbba9fe0f3993d9ad5ca6e29/crates/terminal/src/terminal.rs#L1339-L1353
so this part is not fixed.
Otherwise, all other drags are cancelled when ESC is pressed:
https://github.com/user-attachments/assets/6e70a1e5-c244-420b-9dec-ae2ac2997a59
Release Notes:
- Allowed to use ESC to cancel dragging in Zed
Kirill Bulatov
created
83378b8
agent: Show checkmark for current profile, not default profile (#30314)
Click to expand commit body
Closes #ISSUE
Release Notes:
- agent: Fixed a bug that caused the profile selector to display a
checkmark next to the wrong profile.
Closes #29072, #28390,
Release Notes:
- AWS Bedrock: Fixed case where user couldn't delete manually added AWS
credentials.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Peter Tripp <peter@zed.dev>
Shardul Vaidya
,
Marshall Bowers
, and
Peter Tripp
created
a8312d6
Allow to temporarily toggle diagnostics in the editor (#30316)
Click to expand commit body
* Adds a `diagnostics_max_severity: null` editor settings that has
previous hardcoded default, `warning`
* Make inline diagnostics to inherit this setting by default (can be
overridden with its own max_severity setting)
* Allows to toggle diagnostics in the editor menu and via new action,
`editor::ToggleDiagnostics`
Closes https://github.com/zed-industries/zed/issues/4686
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Kirill Bulatov
created
9e5d115
editor: Fix TypeScript auto-import breaking generic function calls (#30312)
Click to expand commit body
Closes #29982
When auto-importing TypeScript functions with generic type arguments
(like `useRef<HTMLDivElement>(null)`), the language server returns
snippets with placeholders (e.g., `useRef(${1:initialValue})$0`). While
useful for new function calls, this behavior breaks existing code when
renaming functions that already have parameters.
For example, completing `useR^<HTMLDivElement>(null)` incorrectly
results in `useRef(initialValue)^<HTMLDivElement>(null)`.
Related upstream issue:
https://github.com/microsoft/TypeScript/issues/51758
Similar workaround fix:
https://github.com/pmizio/typescript-tools.nvim/pull/147
Release Notes:
- Fixed TypeScript auto-import behavior where functions with generic
type arguments (like `useRef<HTMLDivElement>(null)`) would incorrectly
insert snippet placeholders, breaking the syntax.
Smit Barmase
created
822580c
collab: Check if the user has a payment method before upgrading to Zed Pro (#30310)
Click to expand commit body
This PR adds a check for if the user has a payment method before
attempting to upgrade them to Zed Pro.
Release Notes:
- N/A
Marshall Bowers
created
8b764a5
Add a test for remote tool use by the agent (#30289)
Click to expand commit body
- Adds a new smoke test for the use of the read_file tool by the agent
in an SSH project
- Fixes the SSH shutdown sequence to use a timer from the app's executor
instead of always using a real timer
- Changes the main executor loop for tests to advance the clock
automatically instead of panicking with `parked with nothing left to
run` when there is a delayed task
Release Notes:
- N/A
Cole Miller
created
660b4ce
collab: Add intent for updating payment method (#30306)
Click to expand commit body
This PR adds a new `ManageSubscriptionIntent` for initiating a session
to update the user's payment method.
Release Notes:
- N/A
Marshall Bowers
created
e74ae89
Add support for `ctrl-backspace` in terminal (delete word backward) (#30139)
Peter Tripp
created
b0a6146
docs: Add missing quote in JSON snippet (#30303)
Click to expand commit body
Release Notes:
- N/A
gak
created
77945fc
Support `find_project_path` being given absolute paths (#30283)
Click to expand commit body
Sometimes models return absolute paths even though we ask them not to
(including sometimes returning `/dev/null`). Currently we assume we're
always given a relative path, which leads to a panic in debug builds.
Now we just support being given absolute paths.
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Richard Feldman
and
Agus Zubiaga
created
6827bf1
collab: Remove legacy claims from LLM token (#30294)
Click to expand commit body
This PR removes some legacy claims related to the old billing from the
LLM token.
We already stopped reading this in the LLM Worker.
Also removed an outdated feature flag check that restricted access to
obtaining an LLM token.
Release Notes:
- N/A
Marshall Bowers
created
2b6280a
Add minimap into the editor controls (#30285)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26893
Release Notes:
- N/A
Kirill Bulatov
created
f21780c
Remove individual URL overrides for LLM service (#30290)
Click to expand commit body
This PR removes the individual URL overrides for the LLM service.
We initially had `ZED_PREDICT_EDITS_URL` to allow for directing traffic
to the LLM Worker back when there was still the split of the
Collab-based LLM Service and the Cloudflare-based LLM Worker.
But now that all of the LLM functionality has been moved into the
Worker, we can just direct all traffic there.
Release Notes:
- N/A
Marshall Bowers
created
c64dc82
Add a `terminal::RerunTask` action (#30288)
Click to expand commit body
Bounded this action to the same defaults `task::Rerun` is bound to.
Unlike the `task::Rerun` which will always rerun the latest task, this
command reruns the current task tab, if focused.
The task is not in scope when the terminal pane is not focused, and
falls back to the regular rerun if invoked on a task-less terminal tab.
This way, we can add a proper tooltip to the terminal tab reruns:
<img width="231" alt="image"
src="https://github.com/user-attachments/assets/2cdd7458-5ba2-4cc7-a10b-3e2db059f1ca"
/>
Release Notes:
- Added `terminal::RerunTask` task action
This PR removes the code for the "Suggest Edits" functionality from
Assistant1.
This feature was already disabled entirely with the launch of the Agent,
we're just cleaning up the unused code.
Release Notes:
- N/A
Marshall Bowers
created
7fb52dd
Add a divider below "Usage" in the Edit Prediction menu (#30284)
Click to expand commit body
As it felt untidy without it.
Release Notes:
- N/A
Danilo Leal
created
dc01aef
debugger: Update New Session Modal (#30018)
Click to expand commit body
This PR simplifies the new session modal by flattening its three modes
and updating the UI to be less noisy. The new UI also defaults to the
Debug Scenario Picker, and allows users to save debug scenarios created
in the UI to the active worktree's .zed/debug.json file.
Release Notes:
- N/A
Anthony Eid
created
e9a756b
Make `copilot::SignIn` open sign-in modal when needed (#30239)
Click to expand commit body
Also:
* Makes sign out show status notifications and errors.
* Reinstall now prompts for sign-in after start.
Addresses some of #29250, but not all of it.
Release Notes:
- N/A
Michael Sloan
created
203cb7a
Restyle notification close control (#30262)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/30015
Merges suppress and close buttons into one, with `shift` changing the
state and showing different tooltips.
Currently, there's no tooltip for notification suppress action, hence
none is displayed in the video:
https://github.com/user-attachments/assets/678c4d76-a86e-4fe9-8d7b-92996470a8a8
Release Notes:
- N/A
Kirill Bulatov
created
93b88a9
Remove not implemented minimap settings (#30253)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/30250
Based on
https://github.com/zed-industries/zed/pull/26893#issuecomment-2847338831
Release Notes:
- N/A
Kirill Bulatov
created
85fda90
Do not remove the item from pane twice (#30254)
Click to expand commit body
Probably a merge artifact?
Release Notes:
- N/A
Kirill Bulatov
created
b343a8a
language_models: Improve subscription states in the Agent configuration view (#30252)
Click to expand commit body
This PR improves the subscription states in the Agent configuration view
to the new billing system.
Zed Free (legacy):
<img width="638" alt="Screenshot 2025-05-08 at 8 42 59 AM"
src="https://github.com/user-attachments/assets/7b62d4c1-2a9c-4c6a-aa8f-060730b6d7b3"
/>
Zed Free (new):
<img width="640" alt="Screenshot 2025-05-08 at 8 43 56 AM"
src="https://github.com/user-attachments/assets/8a48448e-813e-4633-955d-623d3e6d603c"
/>
Zed Pro trial:
<img width="641" alt="Screenshot 2025-05-08 at 8 45 52 AM"
src="https://github.com/user-attachments/assets/1ec7ee62-e954-48e7-8447-4584527307c9"
/>
Zed Pro:
<img width="636" alt="Screenshot 2025-05-08 at 8 47 21 AM"
src="https://github.com/user-attachments/assets/f934b2e3-0943-4b78-b8dc-0a31e731d8fb"
/>
Release Notes:
- agent: Improved the subscription-related information in the
configuration view.
Marshall Bowers
created
3a3d3c0
Improve token counting for OpenAI models (#30242)
Click to expand commit body
tiktoken_rs is a bit behind (and even upstream tiktoken doesn't have all
of these models)
We were incorrectly using the cl100k tokenizer for some models that
actually use the o200k tokenizers. So that is updated.
I also made the match arms specific so that we do a better job of
catching whether or not tiktoken-rs accurately supports new models we
add in.
I will also do a PR upstream to see if we can move some of this logic
back out if tiktoken better supports the newer models.
Release Notes:
- Improved tokenizer support for openai models.
Ben Brandt
created
ee56706
debugger: Fix up Rust test tasks definitions (#30232)
Superseded #30222
On Windows, `MoveFileExW` fails if another process is holding a handle
to the file. This PR fixes that issue by switching to `ReplaceFileW`
instead.
I’ve also added corresponding tests.
According to [this Microsoft research
paper](https://www.microsoft.com/en-us/research/wp-content/uploads/2006/04/tr-2006-45.pdf)
and the [official
documentation](https://learn.microsoft.com/en-us/windows/win32/fileio/deprecation-of-txf#applications-updating-a-single-file-with-document-like-data),
`ReplaceFileW` is considered an atomic operation. even though the
official docs don’t explicitly state whether `MoveFileExW` or
`ReplaceFileW` is guaranteed to be atomic.
Release Notes:
- N/A
张小白
created
4b5158b
indexed_docs: Remove some unnecessary cloning (#30236)
Click to expand commit body
Other small patch to reduce allocations.
`.iter().cloned().collect()` calls `Clone` per element, whereas
`.into_iter().collect()` preallocates the `Vec`.
The Zed repo for example has up to 1700 packages on some build
configurations, meaning this change theoretically saves up to 1699
allocations. It's likely the compiler has already optimized this away,
but it's good to be explicit.
Release Notes:
- N/A
tidely
created
a61958e
language: Remove some unnecessary cloning (#30229)
Click to expand commit body
Another tiny patch to reduce allocations
`.iter().cloned().collect()` calls `Clone` per element, whereas
`into_iter().collect()` preallocates memory
Release Notes:
- N/A
tidely
created
d06d0e6
Use fit instead of center for Agent following (#30228)
Click to expand commit body
Makes it easier to review the Agent edits since more of the previous
edits will be visible on screen.
Release Notes:
- N/A
Remove excess clone when invoking callback in workspace
Release Notes:
- N/A
tidely
created
fcf066a
fs: Fall back from atomic write to regular fs write when file handle is in use on Windows (#30222)
Click to expand commit body
Closes #30054
For reference, another way to work around this is to drop the file
handle which we can't do in this case, as it would require reopening the
settings.json worktree, which is a rather unpleasant fix.
Another approach might be to open the file handle with some special
flags, but I couldn't get that to work at the time of writing.
Release Notes:
- Fixed "Backup and Update" in settings migration not working on
Windows.
Smit Barmase
created
b4109a2
Prevent keybindings from triggering requests that should be disabled (#30221)
Click to expand commit body
Extracts authorization logic to a single method and add early
returns in message handlers to prevent sending requests when the model
configuration is invalid or terms haven't been accepted.
This was allowing for the TOS popup to show up even for logged out users
because they could bypass the disabled button with the keybinding.
Now the behavior should be the same either way, that the request isn't
made unless they can send it.
The text thread already has a banner to tell the user to configure a
model provider, so I don't think we need to pop up a separate modal,
since the button is disabled anyway.
Release Notes:
- N/A
Closes #30056
Apparently the API supports the "default" field now, so we can remove
that transformation.
However, optional is not supported
See https://ai.google.dev/api/caching#Schema
Release Notes:
- agent: Improve tool schema compatibility for Gemini models
1ec466b
editor: Ensure scrollbar thumb is not layouted when content size is smaller than viewport (#30189)
Click to expand commit body
As discussed and explained in
https://github.com/zed-industries/zed/pull/26893#discussion_r2074102719
This PR fixes an issue where we would have zero-divisions during
scrollbar layouting for small files.
This happened due to the fact that for small files,
https://github.com/zed-industries/zed/blob/9c1b2afa492755a1e8cb0a77f929845941c97cdc/crates/editor/src/element.rs#L8562-L8563
would be `NaN`, since `(total_text_units - text_units_per_page).max(0.)`
would return `0.`, which we would divide by.
However, this was neccessary to be in place, as this prevented the
scroll thumb from being rendered for small files: Due to this being
`NaN`, the thumb origin would be `Pixels(NaN)`, which prevented the
rendering of the scrollbar thumb.
This PR fixes this behavior by accounting for this scenario and changing
the thumb bounds to be an `Option<Bounds<Pixels>>` instead. This
furthermore has the advantage that we have to compute the thumb only
once and storing it in the layout, which was previously not possible.
Most notably, this enables scrollbar markers to show for smaller files:
https://github.com/user-attachments/assets/9fa5d240-8795-4fae-9933-aed144df4f5e
Currently, no markers are shown due to the fact that `Pixels(NaN)` is
set as the origin point.
Also, I changed that the cursor style will only be changed on the
scrollbar hitbox when we will actually show a thumb. This way, for small
files (where viewport > content size) the cursor will not change when a
user hovers with their mouse over the scrollbars hitbox.
Theoretically, I could also include the change mentioned in
https://github.com/zed-industries/zed/pull/26893#discussion_r2076316956
here. Given the introduction of the minimap as well as #29316 and the
cursor style taken care of here, removing the guard would not change
anything and creates the possibility to soon introduce scrollbars for
auto height editors. Please let me know whether we want to have this in
this PR or whether I shall create a seperate one.
Release Notes:
- Enabled scrollbar marker rendering for small files.
Finn Evers
created
a127ff4
search: Do not consider filters if they are toggled off (#30162)
Click to expand commit body
Closes #30134
This PR ensures that path filters are only applied to searches when the
filters are actually enabled (and visible).
Release Notes:
- Fixed the project search considering included and excluded filters
after toggling them off.
Finn Evers
created
f16f430
debugger: Fix `spawn straight away` behavior when there's a single non-debug task on the line (#30154)
3615d6d
Load Profile state from Thread and tie visibility to the thread's model (#30090)
Click to expand commit body
When deciding if a model supports tools or not, we weren't reading from
the configured model in a given thread.
This also stores the profile on the thread, which matches the behavior
of the Model and Max Mode, which we also already store per thread.
Hopefully this helps alleviate some confusion.
Release Notes:
- agent: Save profile selection per-Agent thread
Ben Brandt
created
02ed4ae
mistral: Add new Mistral medium model (#30171)
Click to expand commit body
Release Notes:
- Added `mistral-medium` to the Mistral provider.
versecafe
created
6cc6e4d
agent: Rename a number of constructs from Assistant to Agent (#30196)
Click to expand commit body
This PR renames a number of constructs in the `agent` crate from the
"Assistant" terminology to "Agent".
Not comprehensive, but it's a start.
Release Notes:
- N/A
@jyn514 mentioned that this would be nice to have while trying out zed,
and it seemed simple enough so I added it.
Release Notes:
- Added `OpenDocs` action to open Zed's docs in a browser, aliased to
`:h[elp]` in vim.
Julia Ryan
created
37010aa
Allow opening the FS root dir as a remote project (#30190)
Click to expand commit body
### Todo
* [x] Allow opening `ssh://username@host:/` from the CLI
* [x] Allow selecting `/` in the `open path` picker
* [x] Allow selecting the home directory in the `open path` picker
Release Notes:
- Changed the initial state of the SSH project picker to show the full
path to your home directory on the remote machine, instead of `~`.
- Added the ability to open `/` as a project folder over SSH
---------
Co-authored-by: Agus Zubiaga <hi@aguz.me>
This PR removes the `assistant` crate, as it is no longer used.
Release Notes:
- N/A
Marshall Bowers
created
011aa71
Fix workspace update notifications not being suppressed (#30180)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/30015
Release Notes:
- N/A
Kirill Bulatov
created
3339c84
ruby: Update documentation about new LS activation sequence (#30160)
Click to expand commit body
Hi, this pull request updates the Ruby extension documentation to
reflect new language server activation sequence and autoinstallation
shipped in
[v0.7.0](https://github.com/zed-extensions/ruby/releases/tag/v0.7.0).
Release Notes:
- N/A