Commit log

f1e69f6 gpui: Impl Default for ClickEvent (#35751)

Click to expand commit body
While default for ClickEvent shouldn't be used much this is helpful for
other projects using gpui besides Zed. Mainly because the orphan rule
prevents those projects from implementing their own default trait

cc: @huacnlee 

Release Notes:

- N/A

Anthony Eid created

bd1c26c Fix interrupting ACP threads and CC cancellation (#35752)

Click to expand commit body
Fixes a bug where generation wouldn't continue after interrupting the
agent, and improves CC cancellation so we don't display "[Request
interrupted by user]"

Release Notes:

- N/A

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Agus Zubiaga and Cole Miller created

1907b16 Establish WebSocket connection to Cloud (#35734)

Click to expand commit body
This PR adds a new WebSocket connection to Cloud.

This connection will be used to push down notifications from the server
to the client.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Richard Feldman and Marshall Bowers created

c595a75 Fix git hunk staging on windows (#35755)

Click to expand commit body
We were failing to flush the Git process's `stdin` before dropping it.

Release Notes:

- N/A

Max Brunsfeld created

8e290b4 thread view: Add UI refinements (#35754)

Click to expand commit body
More notably around how we render tool calls. Nothing too drastic,
though.

Release Notes:

- N/A

Danilo Leal created

58392b9 cloud_api_types: Add types for WebSocket protocol (#35753)

Click to expand commit body
This PR adds types for the Cloud WebSocket protocol to the
`cloud_api_types` crate.

Release Notes:

- N/A

Marshall Bowers created

9358690 Fix flicker when agent plan updates (#35739)

Click to expand commit body
Currently, when the agent updates its plan, there are a few frames where
the text after `Current:` in the plan summary is blank, causing a
flicker. This is because we treat that field as markdown, and the
`MarkdownElement` renders as blank until the raw text has finished
parsing in the background.

This PR fixes the flicker by changing `Markdown::new_text` to
optimistically render the source as a single `MarkdownEvent::Text` span
until background parsing has finished.

Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Cole Miller and Agus Zubiaga created

3ea90e3 debugger: Filter out debug scenarios with invalid Adapters from debug picker (#35744)

Click to expand commit body
I also removed a debug assertion that wasn't true when a debug session
was restarting through a request, because there wasn't a booting task
Zed needed to run before the session.

I renamed SessionState::Building to SessionState::Booting as well,
because building implies that we're building code while booting the
session covers more cases and is more accurate.

Release Notes:

- debugger: Filter out more invalid debug configurations from the debug
picker

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

a5dd8d0 Recognize pixi.lock as YAML (#35747)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

250c51b Fix syntax highlighting in ACP diffs (#35748)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

010441e debugger: Show run to cursor in editor's context menu (#35745)

Click to expand commit body
This also fixed a bug where evaluate selected text was an available
option when the selected debug session was terminated.


Release Notes:

- debugger: add Run to Cursor back to Editor's context menu

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

f9038f6 Add key contexts for Pickers (#35665)

Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/35430

Added:
- Workspace > CommandPalette
- Workspace > GitBranchSelector
- Workspace > GitRepositorySelector
- Workspace > RecentProjects
- Workspace > LanguageSelector
- Workspace > IconThemeSelector
- Workspace > ThemeSelector

Release Notes:

- Added new keymap contexts for various Pickers - CommandPalette,
GitBranchSelector, GitRepositorySelector, RecentProjects,
LanguageSelector, IconThemeSelector, ThemeSelector

Peter Tripp created

a80da78 lsp: Advertise support for markdown in completion documentation (#35727)

Click to expand commit body
Release Notes:

- N/A

xdBronch created

fb1f9d1 lsp: Correctly serialize errors for LSP requests + improve handling of unrecognized methods (#35738)

Click to expand commit body
We used to not respond at all to requests that we didn't have a handler
for, which is yuck. It may have left the language server waiting for the
response for no good reason. The other (worse) finding is that we did
not have a full definition of an Error type for LSP, which made it so
that a spec-compliant language server would fail to deserialize our
response (with an error). This then could lead to all sorts of
funkiness, including hangs and crashes on the language server's part.

Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Closes #ISSUE

Release Notes:

- Improved reporting of errors to language servers, which should improve
the stability of LSPs ran by Zed.

---------

Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Piotr Osiewicz , Lukas , Remco Smits , and Anthony Eid created

794098e Update instructions for local collaboration (#35689)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

b08e26d collab: Remove unused `StripeBilling` methods (#35740)

Click to expand commit body
This PR removes some unused methods from the `StripeBilling` object.

Release Notes:

- N/A

Marshall Bowers created

7405974 collab: Remove Stripe events polling (#35736)

Click to expand commit body
This PR removes the Stripe event polling from Collab, as it has been
moved to Cloud.

Release Notes:

- N/A

Marshall Bowers created

ebda6b8 keymap_ui: Show matching bindings (#35732)

Click to expand commit body
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.

Ben Kunkle created

55b4df4 Add a way to distinguish metrics by Zed's release channel (#35729)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Kirill Bulatov and Oleksiy Syvokon created

b8e8fbd ollama: Add support for gpt-oss (#35648)

Click to expand commit body
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

Umesh Yadav created

33f198f Thread view scrollbar (#35655)

Click to expand commit body
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>

Agus Zubiaga and David Kleingeld created

3c602fe docs: Cleanup tool use documentation (#35725)

Click to expand commit body
Remove redundant documentation about tool use.

Release Notes:

- N/A

Peter Tripp created

334bdd0 Fix acp thread entry width (#35723)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

69dc870 Fix CC todo tool parsing (#35721)

Click to expand commit body
It looks like the TODO tool call no longer requires a priority.

Release Notes:

- N/A

Agus Zubiaga created

22fa41e Handle CC thinking (#35722)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

7e790f5 Bump Zed to v0.200 (#35719)

Click to expand commit body
🎉

Release Notes:

-N/A

Joseph T. Lyons created

3bbd32b Support CC `migrate-installer` path (#35717)

Click to expand commit body
If we can't find CC in the PATH, we'll now fall back to a known local
install path.

Release Notes:

- N/A

Agus Zubiaga created

ecd182c Drop native agent session when `AcpThread` gets released (#35713)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Antonio Scandurra and Ben Brandt created

6f5867f Fetch models right after signing in (#35711)

Click to expand commit body
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>

Antonio Scandurra and Ben Brandt created

0302f63 Ignore metadata file in `RustLspAdapter::get_cached_server_binary` (#35708)

Click to expand commit body
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

Lukas Wirth created

eb4b73b ACP champagne (#35609)

Click to expand commit body
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>

Ben Brandt , Nathan Sobo , Antonio Scandurra , and Lukas Wirth created

69794db Prevent out of bounds access in `recursive_score_match` (#35630)

Click to expand commit body
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

Lukas Wirth created

c59c436 Verify downloaded rust-analyzer and clang binaries by checking the artifact digest (#35642)

Click to expand commit body
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>

Lukas Wirth and Kirill Bulatov created

4012914 Respect paths' content masks when copying them from MSAA texture to drawable (#35688)

Click to expand commit body
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.

Max Brunsfeld created

a884e86 Tag crash reports with panic message and release (#35692)

Click to expand commit body
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

Julia Ryan created

e8052d4 Remove payload_type (#35690)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

74e17c2 Fix panic-json writing (#35691)

Click to expand commit body
We broke it in #35263 when we changed the open options to use
`create_new`

Release Notes:

- N/A

Julia Ryan created

5317526 Simplify `ListState` API (#35685)

Click to expand commit body
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>

Mikayla Maki and Agus Zubiaga created

d0de81b windows: Handle scale factor change while window is maximized (#35686)

Click to expand commit body
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

Max Brunsfeld created

9caa9d0 Use new language server info on remote servers (#35682)

Click to expand commit body
* 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

Kirill Bulatov created

cc93175 Recategorize a few items in the component preview (#35681)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

bc2108c Render error state when agent binary exits unexpectedly (#35651)

Click to expand commit body
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>

Cole Miller and Agus created

142efba collab: Remove unused billing queries (#35679)

Click to expand commit body
This PR removes some billing-related queries that are no longer used.

Release Notes:

- N/A

Marshall Bowers created

f10ffc2 ui: Fix switch component style when focused (#35678)

Click to expand commit body
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

Danilo Leal created

30414d1 onboarding: Adjust the AI upsell card depending on user's state (#35658)

Click to expand commit body
Use includes centralizing what each plan delivers in one single file
(`plan_definitions.rs`).

Release Notes:

- N/A

Danilo Leal created

0025019 gpui: Press `enter`, `space` to trigger click to focused element (#35075)

Click to expand commit body
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>

Jason Lee , Anthony , Mikayla Maki , and Umesh Yadav created

b7469f5 Fix ACP connection and thread leak (#35670)

Click to expand commit body
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

Agus Zubiaga created

f27dc7d collab: Remove usage meters sync (#35674)

Click to expand commit body
This PR removes the usage meters sync from Collab, as it has been moved
to Cloud.

Release Notes:

- N/A

Marshall Bowers created

86957a5 Use the same prompt as agent thread summary for text threads (#35669)

Click to expand commit body
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>

Michael Sloan and Oleksiy created

4269941 Fix update of prompt usage count when using text threads (#35671)

Click to expand commit body
Release Notes:

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

Co-authored-by: Oleksiy <oleksiy@zed.dev>

Michael Sloan and Oleksiy created