Commit log

f8bc259 Merge branch 'main' into mic-denoising

David Kleingeld created

e3e0522 debugger: Fix debug scenario picker showing history in reverse order (#38452)

Click to expand commit body
Closes #37859

Release Notes:

- debugger: Fix sort order of pasted launched debug sessions in debugger
launch modal

Anthony Eid created

fc0eb88 debugger_ui: Update new process modal to include more context about its source (#36650)

Click to expand commit body
Closes #36280

Release Notes:
  - Added additional context to debug task selection

Adding additional context when selecting a debug task to help with
projects that have multiple config files with similar names for tasks.

I think there is room for improvement, especially adding context for a
LanguageTask type. I started but it looked like it would need to add a
path value to that and wanted to make sure this was a good idea before
working on that.

Also any thoughts on the wording if you do like this format? 

---

<img width="1246" height="696" alt="image"
src="https://github.com/user-attachments/assets/b42e3f45-cfdb-4cb1-8a7a-3c37f33f5ee2"
/>

---------

Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Anthony <hello@anthonyeid.me>

Matt , Anthony , and Anthony created

6b8ed5b docs: Fix typo in Python configuration example (#38434)

Click to expand commit body
Release Notes:

- N/A

---------

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

Jaeyong Sung and Marshall Bowers created

5fccde9 python: Install basedpyright if the basedpyright-langserver binary is missing (#38426)

Click to expand commit body
Potential fix for #38377 

Release Notes:

- N/A

---------

Co-authored-by: Peter Tripp <petertripp@gmail.com>

Cole Miller and Peter Tripp created

90a32d0 workspace hack

David Kleingeld created

72cdc13 fix audio settings description in default json

David Kleingeld created

c58763a git_ui: Reduce spacing between action icon and label (#38445)

Click to expand commit body
# Why

Opinionated change: A bit uneven spacing between Git action icon and
label, in comparison to the border on the right in the segmented action
button was triggering my UI OCD a bit. 😅

# How

Remove the right margin from icon and icon + counter children of the
segmented Git action button in Git Panel. The default spacing from the
button layout seems to be enough to separate them from the left-side
label.

# Release Notes

- Reduced spacing between Git action icon and label in Git Panel

# Test plan

I have tested few cases, and made sure that the spacing is still
present, but icon (or icon and counter) does not feel too
separated/detached from the label.

### Before

<img width="384" height="186" alt="Screenshot 2025-09-18 at 20 11 16"
src="https://github.com/user-attachments/assets/8f353b8f-8e43-466d-88a9-567a82100b5f"
/>
<img width="384" height="186" alt="Screenshot 2025-09-18 at 20 13 19"
src="https://github.com/user-attachments/assets/1ecb4e1a-8a60-45b6-988e-966fb2b27ff5"
/>


### After

<img width="392" height="168" alt="Screenshot 2025-09-18 at 19 53 14"
src="https://github.com/user-attachments/assets/388d9b83-9906-4eac-82ed-13d2ae78c990"
/>
<img width="392" height="168" alt="Screenshot 2025-09-18 at 19 53 34"
src="https://github.com/user-attachments/assets/a179239b-ac09-479e-b688-f895ba75ca33"
/>
<img width="392" height="168" alt="Screenshot 2025-09-18 at 19 56 23"
src="https://github.com/user-attachments/assets/6ca10cf1-d46d-43b7-b847-832555823b8a"
/>

Bartosz Kaszubowski created

20a219e Merge branch 'main' into mic-denoising

David Kleingeld created

a6a2465 edit prediction: Fix sub overflow in identifiers_in_range (#38438)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Bennet <bennet@zed.dev>

Agus Zubiaga and Bennet created

439d31e Add branch rename action to Git panel (#38273)

Click to expand commit body
Reopening #35136, cc @launay12u

Release Notes:

- git: added `git: rename branch` action to rename a branch (`git branch
-m`)

---------

Co-authored-by: Guillaume Launay <guillaume.launay@paylead.fr>
Co-authored-by: Peter Tripp <petertripp@gmail.com>

Cole Miller , Guillaume Launay , and Peter Tripp created

df50b5c edit prediction: Context debug view (#38435)

Click to expand commit body
Adds a `dev: open edit prediction context` action that opens a new
workspace pane that displays the excerpts and snippets that would be
included in the edit prediction request.

Release Notes:

- N/A

---------

Co-authored-by: Bennet <bennet@zed.dev>

Agus Zubiaga and Bennet created

55d130a Fix chunks peek_with_bitmaps panic (#38430)

Click to expand commit body
This panic only happened in debug builds because of a left shift
overflow. The slice range has bounds between 0 and 128. The 128 case
caused the overflow.

We now do an unbounded shift and a wrapped sub to get the correct
bitmask. If the slice range is 128 left, it should make 1 zero. Then the
wrapped sub would flip all bits, which is expected behavior.

Release Notes:

- N/A

Co-authored-by: Nia <nia@zed.dev>

Anthony Eid and Nia created

fcdab16 Settings refactor (#38367)

Click to expand commit body
Co-Authored-By: Ben K <ben@zed.dev>
Co-Authored-By: Anthony <anthony@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>

Release Notes:

- settings: Major internal changes to settings. The primary user-facing
effect is that some settings which did not make sense in project
settings files are no-longer read from there. (For example the inline
blame settings)

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Anthony <anthony@zed.dev>

Conrad Irwin , Ben Kunkle , Mikayla Maki , and Anthony created

5e9a6bd Merge remote-tracking branch 'origin/settings2' into mic-denoising

David Kleingeld created

a9696fa Merge remote-tracking branch 'origin/settings2' into mic-denoising

David Kleingeld created

7ed243c Fix missing merge

Conrad Irwin created

319c092 Merge remote-tracking branch 'origin/settings2' into mic-denoising

David Kleingeld created

0a9023b ui: Use hoverable tooltips for Badge component to fix tooltip behavior (#38387)

Click to expand commit body
## Summary

Fixes #38362 - Privacy tooltip behavior issues in AI Setup onboarding

## Problem
The Privacy tooltip in AI Setup onboarding had incorrect behavior:
1. Tooltip remained visible after mouse left the Privacy button
2. Clicking the button didn't toggle tooltip properly
3. Clicking in intersection area between tooltip and button didn't work

## Root Cause
Badge component used `tooltip()` instead of `hoverable_tooltip()`,
causing:
- Immediate tooltip hiding when mouse left triggering element
- No support for tooltip content interaction
- Poor intersection area click handling

## Solution
**Single line change** in `crates/ui/src/components/badge.rs:61`:
```rust
// Before:
this.tooltip(move |window, cx| tooltip(window, cx))

// After:
this.hoverable_tooltip(move |window, cx| tooltip(window, cx))
```

## Technical Details
- Leverages existing GPUI `hoverable_tooltip()` infrastructure
- Enables 500ms grace period before tooltip hiding
- Allows hovering over tooltip content without disappearing
- Uses proper tooltip bounds detection for click handling
- Affects all Badge tooltips system-wide (positive improvement)
- Full backward compatibility - no API changes

## Test Plan
- [x] Hover over Privacy badge → tooltip appears
- [x] Move mouse away → tooltip stays visible for 500ms
- [x] Move mouse to tooltip content → tooltip remains visible
- [x] Click on tooltip content → properly handled
- [x] Move mouse completely away → tooltip hides after delay
- [x] Verify no regression in other Badge tooltip usage

Release Notes:

- N/A

Devdatta Talele created

fb60f71 Make scrollbars auto-hide by default (#38340)

Click to expand commit body
With this, scrollbars across the app will now auto-hide unless it is
specified that they should follow a specific setting.

Optimally, we would just track the user preference by default. However,
this is currently not possible. because the setting we would need to
read lives in `editor` and we cannot read that from within the `ui`
crate.

Release Notes:

- N/A

Finn Evers created

a40a947 Clipppppppppppppppppppppppppppppppppy

Conrad Irwin created

58efd50 Merge branch 'main' into settings2

Conrad Irwin created

654053e Windoz

Conrad Irwin created

589e2c0 agent: Make settings view more consistent across different sections (#38419)

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

This PR makes sections in the AI settings UI more consistent with each
other and also just overall simpler. One of the main changes here is
adding the tools from a given MCP server in a modal (as opposed to in a
disclosure within the settings view). That's mostly an artifact of
wanting to make all of the items within sections look more of the same.
Then, in the process of doing so, also changed the logic that we were
using to display MCP servers; previously, in the case of extension-based
servers, we were only showing those that were _configured_, which felt
wrong because you should be able to see everything you have _installed_,
despite of its status (configured or not).

However, there's still a bit of a bug (to be solved in a follow-up PR),
which already existed but it was just not visible given we'd only
display configured servers: an MCP server installed through an extension
stays as a "custom server" until it is configured. If you don't
configure it, you can't also uninstall it from the settings view (though
it is possible to do so via the extensions UI).

Release Notes:

- agent: Improve settings view UI and solve issue where MCP servers
would get unsorted upon turning them on and off (they're all
alphabetically sorted now).

Danilo Leal created

c1bcdf7 Finish the rest of the todos

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Anthony , Ben Kunkle , and Conrad Irwin created

21d8b19 dap: Add more debug logs for child's stderr (#38418)

Click to expand commit body
Without this, I would never have converged on @cole-miller's patch
https://github.com/zed-industries/zed/pull/38380 when debugging codelldb
not spawning in WSL!

Release Notes:

- N/A

Jakub Konka created

839b5cb remove comments, warn for bad audio on debug

David Kleingeld created

90b8fc8 Actually remove dap todo!

Anthony created

c13ad0c adds n-channel to mono conversion which handles disconnected channels

David Kleingeld created

2b18032 Create a DapSettingsContent type and remove optionals from DapSettings

Click to expand commit body
I did to fix the todo! for the DapSettings and make it more consistent
with how the rest of settings are now defined

Anthony created

82686bf Start working on refreshing Python docs (#37880)

Click to expand commit body
- Reflect that basedpyright is the new primary language server
- Discuss Ruff
- Deemphasize manual venv configuration for language servers

Release Notes:

- N/A

---------

Co-authored-by: Katie Geer <katie@zed.dev>
Co-authored-by: Piotr <piotr@zed.dev>

Cole Miller , Katie Geer , and Piotr created

f562e7e edit predictions: Initial Tree-sitter context gathering (#38372)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Oleksiy <oleksiy@zed.dev>
Co-authored-by: Finn <finn@zed.dev>

Michael Sloan , Agus , Oleksiy , and Finn created

a58d11c Fix merge conflicts, clippppppy, and some tests

Anthony created

202dcb1 remote: Remove excess quoting in WSL `build_command` (#38380)

Click to expand commit body
The built-up command for the WSL remote connection looks like

```
wsl.exe --distribution Ubuntu --user cole --cd /home/cole -- bash -c SCRIPT
```

Where `SCRIPT` is a command itself. We don't need extra quotes around
`SCRIPT` because we already pass it whole as a separate argument to
`wsl.exe`.

This isn't yet enough to get ACP servers working in WSL projects
(#38332), but it removes one roadblock.

Release Notes:

- windows: Fixed an issue that could prevent running binaries in WSL
remote projects.

Cole Miller created

b1aa272 editor: Reverse range of pending selection if required (#38410)

Click to expand commit body
cc https://github.com/zed-industries/zed/issues/38129

Release Notes:

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

Lukas Wirth created

59a609c Partially revert "project: Fix terminal activation scripts failing on Windows for new shells (#37986) (#38406)

Click to expand commit body
This partially reverts commit 4002602a8926b7fe799acf50fcee6bcffb36d376.
Specifically the parts that closes
https://github.com/zed-industries/zed/issues/38343

Release Notes:

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

Lukas Wirth created

ca05ff8 agent2: More efficent read file tool (#38407)

Click to expand commit body
Before we were always reading the entire file into memory as a string.
Now we only read the range that is actually requested.

Release Notes:

- N/A

Ben Brandt created

9f9e806 workspace: Pop a toast if manually spawning a task fails (#38405)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

32c868f acp: Fix behavior of read_text_file for ACP agents (#38401)

Click to expand commit body
We were incorrectly handling the line number as well as stripping out
line breaks when returning portions of files.

It also makes sure following is updated even when we load a snapshot
from cache, which wasn't the case before.

We also are able to load the text via a range in the snapshot, rather
than allocating a string for the entire file and then another after
iterating over lines in the file.

Release Notes:

- acp: Fix incorrect behavior when ACP agents requested to read portions
of files.

Ben Brandt created

ed46e2c helix: Apply modification (e.g. switch case) on a single character only in helix mode (#38119)

Click to expand commit body
Closes #34192

Without selection, only current character would be affected.

Also if #38117 is merged too, then transformations in SelectMode behave
correctly too and selection is not collapsed.

Release Notes:

- helix: Implemented `~`, `` ` ``, `` Alt-` `` correctly in normal and
select modes

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Romans Malinovskis and Jakub Konka created

d85a6db git_ui: Use margin instead of padding for blame entries (#38397)

Click to expand commit body
This makes the hover background change keep a visible border element
between the gutter and blame entries

Release Notes:

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

Lukas Wirth created

4b1e78c terminal: Fix COLORTERM regression for true color support (#38379)

Click to expand commit body
Closes #38304 

Release Notes:

- Fixed true color detection regression by setting `COLORTERM=truecolor`

---

Reason:

The regression is possibly introduced in [pr#36576: Inject venv
environment via the
toolchain](https://github.com/zed-industries/zed/pull/36576/files#diff-6f30387876b79f1de44f8193401d6c8fb49a2156479c4f2e32bc922ec5d54d76),
where `alacritty_terminal::tty::setup_env();` is removed.

The `alacritty_terminal::tty::setup_env();` does 2 things, which sets
`TERM` & `COLORTERM` envvar.
```rs
/// Setup environment variables.
pub fn setup_env() {
    // Default to 'alacritty' terminfo if it is available, otherwise
    // default to 'xterm-256color'. May be overridden by user's config
    // below.
    let terminfo = if terminfo_exists("alacritty") { "alacritty" } else { "xterm-256color" };
    unsafe { env::set_var("TERM", terminfo) };

    // Advertise 24-bit color support.
    unsafe { env::set_var("COLORTERM", "truecolor") };
}
```

Miao created

018ee29 Compiling again

Conrad Irwin created

69a353a The original intent of the private files API was for it to be a merge, not an overwrite.

Mikayla Maki created

d77cefd This second API seems like it's trying to avoid adding unescessary 'get_or_insert_default()' calls

Mikayla Maki created

9f3b251 no

Mikayla Maki created

674b945 Remove todo. We can answer this question in a follow up PR

Mikayla Maki created

3d2e5f4 Comment

Mikayla Maki created

b0d16cd Resolve todo that has been completed

Mikayla Maki created

d48f8f1 Resolve todo: get_or_insert_default is fine because this is the content type, and all of those defaults are None

Mikayla Maki created