589af59
collab: Refresh the LLM token once the terms of service have been accepted (#34833)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
254c7a3
Regroup LSP context menu items by the worktree name (#34838)
Click to expand commit body
Also
* remove the feature gate
* open buffers with an error when no logs are present
* adjust the hover text to indicate that difference
<img width="480" height="380" alt="image"
src="https://github.com/user-attachments/assets/6b2350fc-5121-4b1e-bc22-503d964531a2"
/>
Release Notes:
- N/A
This PR removes the `PUT /billing/preferences` endpoint, as it has been
moved to `cloud.zed.dev`.
Release Notes:
- N/A
Marshall Bowers
created
c251f2a
gpui: Throttle interactive resize events on Wayland (#34760)
Click to expand commit body
Wayland compositors can potentially generate thousands of resize
requests when drag-resizing a window, which Zed is unable to keep up
with. This commit changes the behavior to only resize once per vblank
cycle, which helps significantly when resizing the window with a high
poll-rate mouse (1000Hz is common these days)
Here is an example of the behavior pre and post this commit, with some
print-debugging added for tracking resize calls. I have a wireless mouse
with a 2000Hz polling rate and a 165Hz display:
Before:
https://github.com/user-attachments/assets/4c657f90-5fd2-4809-97ef-363fd48e81b8
After:
https://github.com/user-attachments/assets/4a0f5fbd-c3c4-40a1-9f71-3b4358c827cf
Closes #20660
Release Notes:
- Improved: Make resizing smoother on Wayland/Linux
Kamal Ahmad
created
cc56196
Fix loading agent server settings (#34662)
We've had problems in the past with bumping past 0.5.2 due to perf
regressions reported by @huacnlee; 0.5.1 was fine though.
Hence, let's bump taffy to 0.5.1 as a safe bet and then try to push past
0.5.2 (after we identify the root cause of regression
Related to #19189
Release Notes:
- N/A
Piotr Osiewicz
created
56fd950
thread view: Add ability to expand message editor and fix scroll (#34766)
Instead of selecting a screen to share arbitrarily, we'll now allow user
to select the screen to share. Note that sharing multiple screens at the
time is still not supported (though prolly not too far-fetched).
Related to #4666

Release Notes:
- Added screen selector dropdown to screen share button
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz
,
Kirill Bulatov
, and
Cole Miller
created
57ab09c
claude: Don't quote executable path in mcp configuration (#34805)
Click to expand commit body
This was generating an invalid string for the configuration, removing
the extra quotes makes it work. This affected the versions of Zed that
have a space in their name.
Release Notes:
- N/A
Release Notes:
- N/A
With a `tab_index` and `tab_stop` option to `FocusHandle` to us can
switch focus by `Tab`, `Shift-Tab`.
The `tab_index` is from
[WinUI](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.control.tabindex?view=winrt-26100)
and [HTML
tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex),
only the `tab_stop` is enabled that can be added into the `tab_handles`
list.
- Added `window.focus_next()` and `window.focus_previous()` method to
switch focus.
- Added `tab_index` to `InteractiveElement`.
```bash
cargo run -p gpui --example tab_stop
```
https://github.com/user-attachments/assets/ac4e3e49-8359-436c-9a6e-badba2225211
Jason Lee
created
137081f
Misc code cleanups accumulated while working on other changes (#34787)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
7c1040b
keymap_ui: Auto complete action arguments (#34785)
Click to expand commit body
Supersedes: #34242
Creates an `ActionArgumentsEditor` that implements the required logic to
have a JSON language server run when editing keybinds so that there is
auto-complete for action arguments.
This is the first time action argument schemas are required by
themselves rather than inlined in the keymap schema. Rather than add all
action schemas to the configuration options we send to the JSON LSP on
startup, this PR implements support for the
`vscode-json-language-server` extension to the LSP whereby the server
will request the client (Zed) to resolve URLs with URI schemes it does
not recognize, in our case `zed://`. This limits the impact on the size
of the configuration options to ~1KB as we send URLs for the language
server to resolve on demand rather than the schema itself. My
understanding is that this is how VSCode handles JSON schemas as well. I
plan to investigate converting the rest of our schema generation logic
to this method in a follow up PR.
Co-Authored-By: Cole <cole@zed.dev>
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
ff79b29
Set stripe-mock version to `0.178.0` to match stripe API version used (#34786)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
2e41e31
component preview: Fix Zed AI onboarding young account preview (#34783)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
5f92ac2
docs: Consolidate backend setup docs into local-collaboration.md (#34653)
Click to expand commit body
Simplify docs for mac/linux/windows by consolidating the backend
dependencies (collaboration) docs into local-collaboration.md. Most
users building zed will not need to do this -- streamline them into
getting setup to build the zed client app first.
Release Notes:
- N/A
Fix a spurious error in Zed logs from the OpenRouter svg Logo introduced
in https://github.com/zed-industries/zed/pull/29496:
```log
WARN [usvg::parser::svgtree] Failed to parse clip-path value: 'url(#clip0_205_3)'.
```
Release Notes:
- N/A
Peter Tripp
created
2911130
agent: Fix Mistral tool use error message (#34692)
Click to expand commit body
Closes #32675
Exactly the same changes as in #33640 by @sviande
The PR has been in WIP state for 3 weeks with no activity, and the issue
basically makes Mistral models unusable. I have tested the changes
locally, and it does indeed work. Full credit goes to @sviande, I just
want this feature to be finished.
Release Notes:
- agent: Fixed an issue with tool calling with the Mistral provider
(thanks [@sviande](https://github.com/sviande) and
[@armyhaylenko](https://github.com/armyhaylenko))
Co-authored-by: sviande <sviande@gmail.com>
Oleksandr Mykhailenko
and
sviande
created
0ffd937
Fix Tailwind support for HTML/ERB files (#34743)
Click to expand commit body
Closes #27118
Closes #34165
Fix a small issue after we landed
https://github.com/zed-extensions/ruby/pull/113+ where we introduced
`HTML/ERB` and `YAML/ERB` language IDs to improve user experience. Sorry
about that. Thanks!
Release Notes:
- N/A
70bde54
ci: Lint GitHub Actions workflows with actionlint (#34729)
Click to expand commit body
Added [rhysd/actionlint](https://github.com/rhysd/actionlint/) a static
checker for GitHub Actions workflow files.
Install locally with `brew install actionlint` the run with
`actionlint`.
Inspired by: https://github.com/zed-industries/zed/pull/34704 which
yielded this observation:
> In github actions:
> 1. strings are truthy
> 2. `${{ }}` will become a string if it doesn't wrap the whole value.
>
> So `if: false && true` becomes `false`
> and `if: ${{ false && true }}` becomes `false`
> but `if: false && ${{ true }}` becomes `"false && true"` which
evaluates true
> The reason you sometimes need `${{ }}` is because YAML doesn't like
`!`
> so `if: !false` is invalid yaml
> and `if: ${{ !false }}` works just fine.
Changes:
- Add `actionlint` job
- Refactor `job_spec` job to be more readable
- Fix all `actionlint` and `shellcheck` errors in Actions workflows (62
in all)
- Add `self-mini-macos` and `self-32vcpu-windows-2022` labels to
self-hosted runners. Not strictly related, but useful if you need to
take a runner out of the rotation (since `macOS`, `self-hosted`, and
`ARM64` are auto-set and cannot be added/removed).
- Change ci.yml macos_relase to target `self-mini-macos` instead of
`bundle` which was previously deprecated.
This would've caught the error fixed in
https://github.com/zed-industries/zed/pull/34704. Here's what that [job
failure](https://github.com/zed-industries/zed/actions/runs/16376993944/job/46279281842?pr=34729)
would've looked like.
Release Notes:
- N/A
When `use_modifier_to_send` is turned on, holding `cmd`/`ctrl` is
necessary to send a message in the agent panel. Text threads already use
`cmd-enter` by default to submit a message, and it was done this way to
have the usual text editing bindings not taken over when writing a
prompt, sort of stimulating more thoughtful writing. While `enter` to
send is still somewhat a huge pattern in chat-like LLM UIs, it still
makes sense to allow this for the new agent panel... hence the existence
of this setting now!
Release Notes:
- agent: Added the `use_modifier_to_send` setting, which makes holding a
modifier (`cmd`/`ctrl`), together with `enter`, required to send a new
message.
Danilo Leal
created
64ce696
ui: Add the `SwitchField` component (#34713)
Click to expand commit body
This will be useful for both the current agent panel and some other
onboarding stuff we're working on. Also ended up removing the
`SwitchWithLabel` as it was unused.
Release Notes:
- N/A
Danilo Leal
created
87555d3
project: Remove clones from git blame serialization (#34727)
Click to expand commit body
Release Notes:
- N/A
tidely
created
5b18ce7
editor: Ensure topmost buffer header can be properly folded (#34721)
Click to expand commit body
This PR fixes an issue where the topmost header in a multibuffer would
jump when the corresponding buffer was folded.
The issue arose because for the topmost header, the offset within the
scroll anchor is negative, as the corresponding buffer only starts below
the header itself and thus the offset for the scroll position has to be
negative.
However, upon collapsing that buffer, we end up with a negative vertical
scroll position, which causes all kinds of different problems. The issue
has been present for a long time, but became more visible after
https://github.com/zed-industries/zed/pull/34295 landed, as that change
removed the case distinction for buffers scrolled all the way to the
top.
This PR fixes this by clamping just the vertical scroll position upon
return, which ensures the negative offset works as expected when the
buffer is expanded, but the vertical scroll position does not turn
negative once the buffer is folded.
Release Notes:
- Fixed an issue where folding the topmost buffer in a multibuffer would
cause the header to jump slightly.
Finn Evers
created
1dd470c
editor: Fix double $ sign on completion accept in PHP (#34726)
Click to expand commit body
Closes #33510 https://github.com/zed-extensions/php/issues/29
If certain language servers do not provide an insert/replace range, we
use `surrounding_word` as a fallback for that range, which internally
uses `word_characters`. It makes sense to use
`completion_query_characters` instead of `word_characters` to get that
range, because we use `completion_query_characters` to query completions
in the first place.
That means, for some hypothetical reason (e.g., if the Tailwind server
stops providing insert/replace ranges), we would correctly fall back to
the range "bg-blue-200^" instead of "200^", because
`completion_query_characters` includes "-" in this case.
For this particular fix, right now the default PHP language server
`phpactor` does not provide an insert/replace range, and hence
completion query character is used, which is `$` in this case.
Note that `$` isn't in word characters for reasons mentioned here:
https://github.com/zed-extensions/php/issues/14
Release Notes:
- Fixed an issue where accepting variable completion in PHP would result
in a double $ sign in the prefix.
Smit Barmase
created
8bc8d61
theme_importer: Add missing color imports for the minimap thumb (#34724)
Click to expand commit body
These should have been part of
https://github.com/zed-industries/zed/pull/30785 but I forgot to add
them there.
Release Notes:
- N/A
Finn Evers
created
750ceeb
collab: Don't use `screen-capture` feature from `gpui` (#34725)
Click to expand commit body
This PR removes the `screen-capture` feature from `gpui` when depending
on it in `collab`.
Release Notes:
- N/A
Marshall Bowers
created
4476860
Add refinements to the AI onboarding flow (#33738)
Click to expand commit body
This includes making sure that both the agent panel and Zed's edit
prediction have a consistent narrative when it comes to onboarding users
into the AI features, considering the possible different plans and
conditions (such as being signed in/out, account age, etc.)
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal
,
Bennet Bo Fenner
, and
Bennet Bo Fenner
created
Reverts zed-industries/zed#29718
We've noticed some issues with Zed on Intel-based Macs where typing has
become sluggish, and git bisect has seemed to point towards this PR.
Reverting for now, until we can understand why it is causing this issue.
Joseph T. Lyons
created
e421fc7
Update keymap context binding behavior of > and ! (#34664)
Click to expand commit body
Now ! means "no ancestors matches this", and > means "any descendent"
not "any child".
Updates #34570
Co-authored-by: Ben Kunkle <ben@zed.dev>
Release Notes:
- *Breaking change*. The context predicates in the keymap file now
handle ! and > differently. Before this change ! meant "this node does
not match", now it means "none of these nodes match". Before this change
> meant "child of", now it means "descendent of". We do not expect these
changes to break many keymaps, but they may cause subtle changes for
complex context queries.
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
This PR adds a new `POST /users/:id/refresh_llm_tokens` endpoint to
Collab so that we can refresh LLM tokens from Cloud.
Release Notes:
- N/A
Marshall Bowers
created
6a24b24
Redact license keys in environment variables from log output (#34711)
Click to expand commit body
Release Notes:
- N/A
Peter Tripp
created
2ac99e7
debugger: Fix attaching with DebugPy (#34706)
Click to expand commit body
@cole-miller found a root cause of our struggles with attach scenarios;
we did not fetch .so files necessary for attaching to work,
as we were downloading DebugPy source tarballs from GitHub.
This PR does away with it by setting up a virtualenv instead that has
debugpy installed.
Closes #34660
Closes #34575
Release Notes:
- debugger: Fixed attaching with DebugPy. DebugPy is now installed
automatically from pip (instead of GitHub), unless it is present in
active virtual environment. Additionally this should resolve any startup
issues with missing .so on Linux.
Actual default is 45
https://github.com/zed-industries/zed/blob/fd05f17fa7e0253bc98698e84a1f8939bcb6616f/assets/settings/default.json#L1402
Release Notes:
- N/A
Peter Tripp
created
4002801
agent: Fix new thread model selection when starting new thread (#34708)
Click to expand commit body
Release Notes:
- agent: Fixed an issue where clicking on "Start New Thread" in the
agent configuration would not always switch to the correct
provider/model
- **Fix cancellation of tool calls**
- **Make tool_call test more resilient**
- **Fix tool call confirmation test**
Release Notes:
- N/A
Ben Brandt
created
fd05f17
go: Support raw string subtest names (#34636)
Click to expand commit body
Currently, we're not able to run Go sub-tests that have a raw string
(e.g. we're using multi-line names a lot) via the UI. I added the
changes that are needed, plus a handful of tests to cover the basics.
Quick comparison:
Before:
<img width="901" height="370" alt="before"
src="https://github.com/user-attachments/assets/4e5cadeb-9a0c-49e2-b976-2223e1010f85"
/>
After:
<img width="901" height="505" alt="after"
src="https://github.com/user-attachments/assets/994fc69b-f720-488c-a14b-853a3ca2f53c"
/>
Release Notes:
- Added support for Go subtest runner with raw string names
Lukas Spiss
created
7e3fd7b
gpui: Use static keyword with `LazyLock` when loading system fonts (#34555)
Click to expand commit body
Use the `static` keyword to actually make the `LazyLock` static, which
previously would reinitialize on every call to `SvgRenderer::new`.
Related: #26335
Release Notes:
- N/A