Commit graph

30042 commits

Author SHA1 Message Date
Mikayla Maki
794098e5c9
Update instructions for local collaboration (#35689)
Release Notes:

- N/A
2025-08-06 11:10:28 -07:00
Marshall Bowers
b08e26df60
collab: Remove unused StripeBilling methods (#35740)
This PR removes some unused methods from the `StripeBilling` object.

Release Notes:

- N/A
2025-08-06 17:42:12 +00:00
Marshall Bowers
740597492b
collab: Remove Stripe events polling (#35736)
This PR removes the Stripe event polling from Collab, as it has been
moved to Cloud.

Release Notes:

- N/A
2025-08-06 16:53:43 +00:00
Ben Kunkle
ebda6b8a94
keymap_ui: Show matching bindings (#35732)
Closes #ISSUE

Adds a bit of text in the keybind editing modal when there are existing
keystrokes with the same key, with the ability for the user to click the
text and have the keymap editor search be updated to show only bindings
with those keystrokes

Release Notes:

- Keymap Editor: Added a warning to the keybind editing modal when
existing bindings have the same keystrokes. Clicking the warning will
close the modal and show bindings with the entered keystrokes in the
keymap editor. This behavior was previously possible with the
`keymap_editor::ShowMatchingKeybinds` action in the Keymap Editor, and
is now present in the keybind editing modal as well.
2025-08-06 12:16:05 -04:00
Kirill Bulatov
55b4df4d9f
Add a way to distinguish metrics by Zed's release channel (#35729)
Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
2025-08-06 18:47:44 +03:00
Umesh Yadav
b8e8fbd8e6
ollama: Add support for gpt-oss (#35648)
There is a know bug when calling tool discussion:
https://discord.com/channels/1128867683291627614/1402385744038858853
I have raised the issue with ollama team and they are currently fixing
it.

Release Notes:

- ollama: Add support for gpt-oss
2025-08-06 10:44:15 -04:00
Agus Zubiaga
33f198fef1
Thread view scrollbar (#35655)
This also adds a convenient `Scrollbar:auto_hide` function so that we
don't have to handle that at the callsite.

Release Notes:

- N/A

---------

Co-authored-by: David Kleingeld <davidsk@zed.dev>
2025-08-06 14:01:34 +00:00
Peter Tripp
3c602fecbf
docs: Cleanup tool use documentation (#35725)
Remove redundant documentation about tool use.

Release Notes:

- N/A
2025-08-06 09:59:13 -04:00
Agus Zubiaga
334bdd0efc
Fix acp thread entry width (#35723)
Release Notes:

- N/A
2025-08-06 13:39:55 +00:00
Agus Zubiaga
69dc870828
Fix CC todo tool parsing (#35721)
It looks like the TODO tool call no longer requires a priority.

Release Notes:

- N/A
2025-08-06 13:27:11 +00:00
Agus Zubiaga
22fa41e9c0
Handle CC thinking (#35722)
Release Notes:

- N/A
2025-08-06 13:20:53 +00:00
Joseph T. Lyons
7e790f52c8
Bump Zed to v0.200 (#35719)
🎉

Release Notes:

-N/A
2025-08-06 13:11:46 +00:00
Agus Zubiaga
3bbd32b70e
Support CC migrate-installer path (#35717)
If we can't find CC in the PATH, we'll now fall back to a known local
install path.

Release Notes:

- N/A
2025-08-06 12:23:47 +00:00
Antonio Scandurra
ecd182c52f
Drop native agent session when AcpThread gets released (#35713)
Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2025-08-06 10:20:40 +00:00
Antonio Scandurra
6f5867fc88
Fetch models right after signing in (#35711)
This uses the `current_user` watch in the `UserStore` instead of looping
every 100ms in order to detect if the user had signed in.

We are changing this because we noticed it was causing the deterministic
executor in tests to never detect a "parking with nothing left to run"
situation.

This seems better in production as well, especially for users who never
sign in.

/cc @maxdeviant 

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2025-08-06 10:04:07 +00:00
Lukas Wirth
0302f6356e
Ignore metadata file in RustLspAdapter::get_cached_server_binary (#35708)
Follows https://github.com/zed-industries/zed/pull/35642

Release Notes:

- Fixed accidentally picking a non executable as a rust-analyzer server
when downloading fails
2025-08-06 09:08:32 +00:00
Ben Brandt
eb4b73b88e
ACP champagne (#35609)
cherry pick changes from #35510 onto latest main

Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
2025-08-06 09:01:06 +00:00
Lukas Wirth
69794db331
Prevent out of bounds access in recursive_score_match (#35630)
Closes https://github.com/zed-industries/zed/issues/33668

The recursive case increments both indices by 1, but only one of the two
had a base case check in the function prologue so the other could spill
over into a different matrix row or out of bounds entirely.

Lacking a test as I haven't figured out a test case yet.

Release Notes:

- Fixed out of bounds panic in fuzzy matching
2025-08-06 10:53:20 +02:00
Lukas Wirth
c59c436a11
Verify downloaded rust-analyzer and clang binaries by checking the artifact digest (#35642)
Release Notes:

- Added GitHub artifact digest verification for rust-analyzer and clangd
binary downloads, skipping downloads if cached binary digest is up to
date
- Added verification that cached rust-analyzer and clangd binaries are
executable, if not they are redownloaded

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2025-08-06 08:32:25 +00:00
Max Brunsfeld
40129147c6
Respect paths' content masks when copying them from MSAA texture to drawable (#35688)
Fixes a regression introduced in
https://github.com/zed-industries/zed/pull/34992

### Background

Paths are rendered first to an intermediate MSAA texture, and then
copied to the final drawable. Because paths can have transparency, it's
important that pixels are not copied repeatedly if paths have
overlapping bounding boxes. When N paths have the same draw order, we
infer that they must have disjoint bounding boxes, so that we can copy
them each individually (as opposed to copying a single rect that
contains them all). Previously, the bounding box that we were using to
copy paths was not accounting for the path's content mask (but it is
accounted for in the bounds tree that determines their draw order).


This cause bugs like this, where certain path pixels spuriously had
their opacity doubled:


https://github.com/user-attachments/assets/d792e60c-790b-49ad-b435-6695daba430f

This PR fixes that bug.

* [x] mac
* [x] linux
* [x] windows

Release Notes:

- Fixed a bug where a selection's opacity was computed incorrectly when
it overlapped with another editor's selections in a certain way.
2025-08-05 20:40:33 -07:00
Julia Ryan
a884e861e9
Tag crash reports with panic message and release (#35692)
This _should_ allow sentry to associate related panic events with the
same issue, but it doesn't change the issue title. I'm still working on
figuring out how to set those fields, but in the meantime this should at
least associate zed versions with crashes

Release Notes:

- N/A
2025-08-06 01:20:42 +00:00
Mikayla Maki
e8052d4a4e
Remove payload_type (#35690)
Release Notes:

- N/A
2025-08-06 01:18:21 +00:00
Julia Ryan
74e17c2f64
Fix panic-json writing (#35691)
We broke it in #35263 when we changed the open options to use
`create_new`

Release Notes:

- N/A
2025-08-06 01:11:16 +00:00
Mikayla Maki
53175263a1
Simplify ListState API (#35685)
Follow up to: https://github.com/zed-industries/zed/pull/35670,
simplifies the List state APIs so you no longer have to worry about
strong vs. weak pointers when rendering list items.

Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2025-08-06 00:02:26 +00:00
Max Brunsfeld
d0de81b0b4
windows: Handle scale factor change while window is maximized (#35686)
Fixes https://github.com/zed-industries/zed/issues/33257

Previously, the scale-factor-change-handling logic relied on
`SetWindowPos` enqueuing a `WM_SIZE` window event. But that does not
happen when the window is maximized. So when the scale factor changed,
maximized windows neglected to call their `resize` callback, and would
misinterpret the positions of mouse events.

This PR adds special logic for maximized windows, to ensure that the
size is updated appropriately.

Release Notes:

- N/A
2025-08-05 16:42:17 -07:00
Kirill Bulatov
9caa9d042a
Use new language server info on remote servers (#35682)
* Straightens out the `*_ext.rs` workflow for clangd and rust-analyzer:
no need to asynchronously query for the language server, as we sync that
information already.
* Fixes inlay hints editor menu toggle not being shown in the remote
sessions

Release Notes:

- Fixed inlay hints editor menu toggle not being shown in the remote
sessions
2025-08-05 23:24:40 +00:00
Danilo Leal
cc93175256
Recategorize a few items in the component preview (#35681)
Release Notes:

- N/A
2025-08-05 23:11:43 +00:00
Cole Miller
bc2108cbba
Render error state when agent binary exits unexpectedly (#35651)
This PR adds handling for the case where an agent binary exits
unexpectedly after successfully establishing a connection.

Release Notes:

- N/A

---------

Co-authored-by: Agus <agus@zed.dev>
2025-08-05 22:52:08 +00:00
Marshall Bowers
142efbac0d
collab: Remove unused billing queries (#35679)
This PR removes some billing-related queries that are no longer used.

Release Notes:

- N/A
2025-08-05 22:42:45 +00:00
Danilo Leal
f10ffc2a72
ui: Fix switch component style when focused (#35678)
Just making sure the switch's dimensions aren't affected by the need to
having an outer border to represent focus.

Release Notes:

- N/A
2025-08-05 22:37:25 +00:00
Danilo Leal
30414d154e
onboarding: Adjust the AI upsell card depending on user's state (#35658)
Use includes centralizing what each plan delivers in one single file
(`plan_definitions.rs`).

Release Notes:

- N/A
2025-08-05 19:22:48 -03:00
Jason Lee
0025019db4
gpui: Press enter, space to trigger click to focused element (#35075)
Release Notes:

- N/A

> Any user interaction that is equivalent to a click, such as pressing
the Space key or Enter key while the element is focused. Note that this
only applies to elements with a default key event handler, and
therefore, excludes other elements that have been made focusable by
setting the
[tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex)
attribute.

https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event

---------

Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
2025-08-05 18:15:30 -04:00
Agus Zubiaga
b7469f5bc3
Fix ACP connection and thread leak (#35670)
When you switched away from an ACP thread, the `AcpThreadView` entity
(and thus thread, and subprocess) was leaked. This happened because we
were using `cx.processor` for the `list` state callback, which uses a
strong reference.

This PR changes the callback so that it holds a weak reference, and adds
some tests and assertions at various levels to make sure we don't
reintroduce the leak in the future.

Release Notes:

- N/A
2025-08-05 19:10:51 -03:00
Marshall Bowers
f27dc7dec7
collab: Remove usage meters sync (#35674)
This PR removes the usage meters sync from Collab, as it has been moved
to Cloud.

Release Notes:

- N/A
2025-08-05 22:07:18 +00:00
Michael Sloan
86957a5614
Use the same prompt as agent thread summary for text threads (#35669)
This was causing text thread summarization to be counted as a usage of 1
prompt

Release Notes:

- Fixed bug with agent text threads (not chat threads) counting
summarization as a usage of 1 prompt.

Co-authored-by: Oleksiy <oleksiy@zed.dev>
2025-08-05 21:47:17 +00:00
Michael Sloan
42699411f6
Fix update of prompt usage count when using text threads (#35671)
Release Notes:

- Fixed update of prompt usage count when using agent text threads.

Co-authored-by: Oleksiy <oleksiy@zed.dev>
2025-08-05 21:39:34 +00:00
tidely
dd7fce3f5e
workspace: Remove excess clones (#35664)
Removes a few excess clones I found. Minor formatting change by
utilizing `map_or`

Release Notes:

- N/A
2025-08-05 23:49:41 +03:00
Cole Miller
c957f5ba87
Unpin agent thread controls (#35661)
This PR moves the new agent thread controls so they're attached to the
last message and scroll with the thread history, instead of always being
shown above the message editor.

Release Notes:

- N/A
2025-08-05 20:47:17 +00:00
tidely
c595ed19d6
languages: Remove a eager conversion from LanguageName to String (#35667)
This PR changes the signature of `language_names` from

```rust
pub fn language_names(&self) -> Vec<String>
// Into
pub fn language_names(&self) -> Vec<LanguageName>
```

The function previously eagerly converted `LanguageName`'s to
`String`'s, which requires the reallocation of all of the elements. The
functions get called in many places in the code base, but only one of
which actually requires the conversion to a `String`. In one case it
would do a `SharedString` -> `String` -> `SharedString` conversion,
which is now totally bypassed.

Release Notes:

- N/A
2025-08-05 23:46:57 +03:00
Cole Miller
a508a9536f
Handle startup failure for gemini-cli (#35624)
This PR adds handling for the case where the user's gemini-cli binary
fails to start up because it's too old to support the
`--experimental-acp` flag. We previously had such handling, but it got
lost as part of #35578.

This doesn't yet handle the case where the server binary exits
unexpectedly after the connection is established; that'll be dealt with
in a follow-up PR since it needs different handling and isn't specific
to gemini-cli.

Release Notes:

- N/A

Co-authored-by: Agus <agus@zed.dev>
2025-08-05 16:29:19 -04:00
Smit Barmase
cf23f93917
language: Fix no diagnostics are shown for CSS (#35663)
Closes #30499

`vscode-css-language-server` throws a null reference error if no
workspace configuration is provided from the client.

Release Notes:

- Fixed issue where no diagnostics were shown for CSS, LESS, and SCSS.
2025-08-06 01:58:23 +05:30
Ben Kunkle
6b77654f66
onboarding: Wire up tab index (#35659)
Closes #ISSUE

Allows tabbing through everything in all three pages. Until #35075 is
merged it is not possible to actually "click" tab focused buttons with
the keyboard.

Additionally adds an action `onboarding::Finish` and displays the
keybind. The action corresponds to both the "Skip all" and "Start
Building" buttons, with the keybind displayed similar to how it is for
the page nav buttons

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: MrSubidubi <finn@zed.dev>
2025-08-05 19:48:15 +00:00
Richard Feldman
0b5592d788
Add Claude Opus 4.1 (#35653)
<img width="348" height="427" alt="Screenshot 2025-08-05 at 1 55 35 PM"
src="https://github.com/user-attachments/assets/52af17a5-0095-4ad9-9afe-ff27aab90e03"
/>

Release Notes:

- Added support for Claude Opus 4.1

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
2025-08-05 18:16:47 +00:00
Peter Tripp
307d709adb
ci: Double Buildjet ARM runner size (24GB to 48GB ram) (#35654)
Release Notes:

- N/A
2025-08-05 14:09:21 -04:00
Piotr Osiewicz
fc2ba82eb6
debugpy: Fetch a wheel into Zed's work dir and use that with users venv (#35640)
Another stab at #35388
cc @Sansui233

Closes #35388

Release Notes:

- debugger: Fixed Python debug sessions failing to launch due to a
missing debugpy installation.
2025-08-05 19:09:42 +02:00
localcc
844ea3d1ab
Fix open with zed not focusing window (#35645) 2025-08-05 19:09:04 +02:00
Max Brunsfeld
f017ffdffc
Fix minidump endpoint configuration (#35646)
Release Notes:

- N/A
2025-08-05 10:07:30 -07:00
Finn Evers
19c1504c8f
ui: Wire up tab indices within buttons (#35368)
This change adds the current tab index functionality to buttons and
implements a proof of concept for the new welcome page.

Primarily blocked on https://github.com/zed-industries/zed/pull/34804,
secondarily on https://github.com/zed-industries/zed/pull/35075 so we
can ensure navigation always works as intended.

Another thing to consider here is whether we want to assign the tab
order more implicitly / "automatically" based on the current layout
ordering. This would generally enable us to add a default order to
focusable elements if we want this. See [the
specification](https://html.spec.whatwg.org/multipage/interaction.html#flattened-tabindex-ordered-focus-navigation-scope)
on some more context on how the web usually handles this for focusable
elements.

Release Notes:

- N/A
2025-08-05 13:05:18 -04:00
Danilo Leal
5940ed979f
onboarding: Use a picker for the font dropdowns (#35638)
Release Notes:

- N/A
2025-08-05 11:38:08 -03:00
localcc
351e8c4cd9
Fix LiveKit audio for devices with different sample formats (#35604)
Release Notes:

- N/A
2025-08-05 16:36:08 +02:00