Commit log

ceec258 Some clippy fixes (#36544)

Click to expand commit body
These showed up today, so just applied the simplifications, which were
mostly switching matches to if let

Release Notes:

- N/A

Ben Brandt created

cac80e2 Silence a bucketload of logs (#36534)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Silenced a bunch of logs that were on by default

Conrad Irwin created

b12d862 Rename acp flag (#36541)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

3996587 Add version detection for CC (#36502)

Click to expand commit body
- Render a helpful message when the installed CC version is too old
- Show the full path for agent binaries when the version is not recent
enough (helps in cases where multiple binaries are installed in
different places)
- Add UI for the case where a server binary is not installed at all
- Refresh thread view after installing/updating server binary

Release Notes:

- N/A

Cole Miller created

7c70439 Improve claude tools (#36538)

Click to expand commit body
- Return unified diff from `Edit` tool so model can see the final state
- Format on save if enabled
- Provide `Write` tool
- Disable `MultiEdit` tool
- Better prompting

Release Notes:

- N/A

Agus Zubiaga created

714c36f claude: Include all mentions and images in user message (#36539)

Click to expand commit body
User messages sent to Claude Code will now include the content of all
mentions, and any images included.

Release Notes:

- N/A

Agus Zubiaga created

ce21643 Refactor ssh remoting - make ChannelClient type private (#36514)

Click to expand commit body
This PR is one step in a series of refactors to prepare for having
"remote" projects that do not use SSH. The main use cases for this are
WSL and dev containers.

Release Notes:

- N/A

Max Brunsfeld created

82ac8a8 collab: Make `stripe_subscription_id` and `stripe_subscription_status` nullable on `billing_subscriptions` (#36536)

Click to expand commit body
This PR makes the `stripe_subscription_id` and
`stripe_subscription_status` columns nullable on the
`billing_subscriptions` table.

Release Notes:

- N/A

Marshall Bowers created

757b37f Hide old Agent UI when ACP flag set (#36533)

Click to expand commit body
- **Use key value store instead of JSON**
- **Default NewThread to the native agent when flagged**

Closes #ISSUE

Release Notes:

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

Conrad Irwin created

ecee674 Attach minidump errors to uploaded crash events (#36527)

Click to expand commit body
We see a bunch of crash events with truncated minidumps where they have
a valid header but no events. We think this is due to an issue
generating them, so we're attaching the relevant result to the uploaded
tags.

Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Julia Ryan and Max Brunsfeld created

88754a7 Rebuild recently opened threads for ACP (#36531)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

88c4a5c Suspend macOS threads during crashes (#36520)

Click to expand commit body
This should improve our detection of which thread crashed since they
wont be able to resume while the minidump is being generated.

Release Notes:

- N/A

Julia Ryan created

5fb68cb agent2: Token count (#36496)

Click to expand commit body
Release Notes:

- N/A

---------

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

Bennet Bo Fenner and Agus Zubiaga created

6825715 Another batch of lint fixes (#36521)

Click to expand commit body
- **Enable a bunch of extra lints**
- **First batch of fixes**
- **More fixes**

Release Notes:

- N/A

Piotr Osiewicz created

69b1c6d Fix `workspace::SendKeystrokes` example in docs (#36515)

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

Remove two bad examples from the key binding docs.
`cmd-shift-p` (command palette) and `cmd-p` (file finder) are async
operations and thus do not work properly with
`workspace::SendKeystrokes`.

Originally reported in
https://github.com/zed-industries/zed/issues/25683#issuecomment-3145830534

Release Notes:

- N/A

Peter Tripp created

05fc0c4 Fix a bunch of other low-hanging style lints (#36498)

Click to expand commit body
- **Fix a bunch of low hanging style lints like unnecessary-return**
- **Fix single worktree violation**
- **And the rest**

Release Notes:

- N/A

Piotr Osiewicz created

df9c2ae thread_view: Fix issues with images (#36509)

Click to expand commit body
- Clean up failed load tasks for mentions that require async processing
- When dragging and dropping files, hold onto added worktrees until any
async processing has completed; this fixes a bug when dragging items
from outside the project

Release Notes:

- N/A

Cole Miller created

a91acb5 onboarding: Fix theme selection in system mode (#36484)

Click to expand commit body
Previously, selecting the "System" theme during onboarding would
hardcode the theme based on the device's current mode (e.g., Light or
Dark). This change ensures the "System" setting is saved correctly,
allowing the app to dynamically follow the OS theme by inserting the
correct theme in the config for both light and dark mode.

Release Notes:

- N/A

Signed-off-by: Umesh Yadav <git@umesh.dev>

Umesh Yadav created

6ba52a3 Re-add history entries for native agent threads (#36500)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Conrad Irwin and Antonio Scandurra created

6b6eb11 agent2: Fix tool schemas for Gemini (#36507)

Click to expand commit body
Release Notes:

- N/A

---------

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

Bennet Bo Fenner and Agus Zubiaga created

1af47a5 helix: Uncomment one test (#36328)

Click to expand commit body
There are two tests commented out in the helix file, but one of them
works again. I don't know if this is too little a change to be merged,
but I wanted to suggest it.
The other test might be more complicated though, so I didn't touch it.

Release Notes:

- N/A

fantacell created

e092aed Split external agent flags (#36499)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

d1cabef editor: Fix inline diagnostics min column inaccuracy (#36501)

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

Release Notes:

- Fixed `diagnostic.inline.min_column` being inaccurate

Lukas Wirth created

013eaae editor: Render dirty and conflict markers in multibuffer headers (#36489)

Click to expand commit body
Release Notes:

- Added rendering of status indicators for multi buffer headers

Lukas Wirth created

43b4363 lsp: Enable dynamic registration for TextDocumentSyncClientCapabilities post revert (#36494)

Click to expand commit body
Follow up: https://github.com/zed-industries/zed/pull/36485

Release Notes:

- N/A

Smit Barmase created

1444cd9 Fix Windows test failures not being detected in CI (#36446)

Click to expand commit body
Bug introduced in #35926 

Release Notes:

- N/A

Cole Miller created

6c255c1 Lay the groundwork to support history in agent2 (#36483)

Click to expand commit body
This pull request introduces title generation and history replaying. We
still need to wire up the rest of the history but this gets us very
close. I extracted a lot of this code from `agent2-history` because that
branch was starting to get long-lived and there were lots of changes
since we started.

Release Notes:

- N/A

Antonio Scandurra created

c4083b9 Fix unnecessary-mut-passed lint (#36490)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

e3b593e project: Take 2 on Handle textDocument/didSave and textDocument/didChange (un)registration and usage correctly (#36485)

Click to expand commit body
Relands https://github.com/zed-industries/zed/pull/36441 with a
deserialization fix.

Previously, deserializing `"includeText"` into
`lsp::TextDocumentSyncSaveOptions` resulted in a `Supported(false)` type
instead of `SaveOptions(SaveOptions { include_text: Option<bool> })`.

```rs
impl From<bool> for TextDocumentSyncSaveOptions {
    fn from(from: bool) -> Self {
        Self::Supported(from)
    }
}
```

Looks like, while dynamic registartion we only get `SaveOptions` type
and never `Supported` type.
(https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentSaveRegistrationOptions)

Release Notes:

- N/A

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Smit Barmase and Lukas Wirth created

8f56738 Auto-fix clippy::collapsible_if violations (#36428)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

9e8ec72 Revert "project: Handle `textDocument/didSave` and `textDocument/didChange` (un)registration and usage correctly (#36441)" (#36480)

Click to expand commit body
This reverts commit c5991e74bb6f305c299684dc7ac3f6ee9055efcd.

This PR broke rust-analyzer's check on save function, so reverting for
now

Release Notes:

- N/A

Lukas Wirth created

2fb89c9 chore: Default settings: Comments: dock option (#36476)

Click to expand commit body
Minor tweak in the wording of the comments for the default settings
regarding the `dock` option of the panels, in order to make them
congruent across all panels.

Release Notes:

- N/A

Vincent Durewski created

e6d5a6a agent: Remove `thread-auto-capture` feature (#36474)

Click to expand commit body
We never ended up using this in practice (the feature flag is not
enabled for anyone, not even staff)

Release Notes:

- N/A

Bennet Bo Fenner created

790a2a0 agent2: Support `preferred_completion_mode` setting (#36473)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

97a31c5 agent2: Fix agent location still being present after thread stopped (#36471)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

5df9c7c search: Fix project search query flickering (#36470)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Lukas Wirth and Smit Barmase created

0ea0d46 agent2: Port retry logic (#36421)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

47e1d45 editor: Fix `edit_predictions_disabled_in` not disabling predictions (#36469)

Click to expand commit body
Closes #25744

Only setting changes and editor init determined whether to show
predictions, so glob patterns and toggles correctly disabled them. On
cursor changes we call `update_visible_edit_prediction`, but we weren’t
discarding predictions when the scope changed. This PR fixes that.

Release Notes:

- Fixed an issue where the `edit_predictions_disabled_in` setting was
ignored in some cases.

Smit Barmase created

b8ddb01 agent2: Port rules UI (#36429)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

ed14ab8 gpui: Introduce stacker to address stack overflows with deep layout trees (#35813)

Click to expand commit body
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Release Notes:

- N/A

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Piotr Osiewicz , Anthony Eid , Lukas Wirth , and Ben Kunkle created

1fbb318 Fix iterator related clippy style lint violations (#36437)

Click to expand commit body
Release Notes:

- N/A

tidely created

176c445 Avoid symlink conflicts when re-extracting `eslint-xx.tar.gz` (#36068)

Click to expand commit body
Closes #34325

**Background**
When upgrading/reinstalling the ESLint language server, extracting the
archive over an existing version directory that contains symlinks can
fail and interrupt the installation.
```
failed to unpack .../vscode-eslint-2.4.4/.../client/src/shared
File exists (os error 17) when symlinking ../../$shared/ to .../client/src/shared
```

**Root cause**
Extracting into a non-empty directory conflicts with leftover
files/symlinks (e.g., `client/src/shared -> ../../$shared`), causing
“File exists (os error 17)”.

When `fs::metadata(&server_path).await.is_err()` is true, the code falls
back to cached_server_binary, but that still targets the same
(potentially corrupted/half-installed) directory and does not run `npm
install` or `npm run compile`, so the system cannot recover and remains
broken.

**Change**
Before downloading and extracting, delete the target version directory
(vscode-eslint-<version>) to ensure an empty extraction destination and
avoid conflicts.

**Alternative approaches**
temp directory + rename: extract into a clean temp directory and rename
into place to avoid half-installed states

[async-tar](https://github.com/dignifiedquire/async-tar) enhancement:
tolerate already-existing symlinks (or add a “replace-existing” option).

Release Notes:

- Fixed eslint installation not clearing files after previous attempts'

0x5457 created

d30b017 Prevent sending slash commands in CC threads (#36453)

Click to expand commit body
Highlight them as errors in the editor, and add a leading space when
sending them so users don't hit the odd behavior when sending these
commands to the SDK.

Release Notes:

- N/A

Cole Miller created

7bcea7d agent2: Support directories in @file mentions (#36416)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

821e97a agent2: Add hover preview for image creases (#36427)

Click to expand commit body
Note that (at least for now) this only works for creases in the "new
message" editor, not when editing past messages. That's because we don't
have the original image available when putting together the creases for
past messages, only the base64-encoded language model content.

Release Notes:

- N/A

Cole Miller created

1b6fd99 Fix `InlineCompletion` -> `EditPrediction` keymap migration (#36457)

Click to expand commit body
Accidentally regressed this in #35512, causing this migration to not
work and an error log to appear when one of these actions is in the user
keymap

Release Notes:

- N/A

Michael Sloan created

5004cb6 collab: Add `orb_subscription_id` to `billing_subscriptions` (#36455)

Click to expand commit body
This PR adds an `orb_subscription_id` column to the
`billing_subscriptions` table.

Release Notes:

- N/A

Marshall Bowers created

4abfcba git: Suggest merge commit message in remote (#36430)

Click to expand commit body
Closes #ISSUE

Adds `merge_message` field to the `UpdateRepository` proto message so
that suggested merge messages are displayed in remote projects.

Release Notes:

- git: Fixed an issue where suggested merge commit messages would not
appear for remote projects

Ben Kunkle created

6ee06bf ai onboarding: Adjust the Zed Pro banner (#36452)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

b7edc89 agent: Improve error and warnings display (#36425)

Click to expand commit body
This PR refactors the callout component and improves how we display
errors and warnings in the agent panel, along with improvements for
specific cases (e.g., you have `zed.dev` as your LLM provider and is
signed out).

Still a work in progress, though, wrapping up some details.

Release Notes:

- N/A

Danilo Leal created