Commit log

6650be8 debugger: Improve logging of debug sessions (#32718)

Click to expand commit body
This PR fixes a common issue where a debug session won't start up and
user's weren't able to get any logs from the debug session. We now do
these three things

1. We know store a history of debug sessions
2. We added a new option to only look at the initialization sequence 
3. We default to selecting a session in dap log view in stead of none

Release Notes:

- debugger: Add history to debug session logging

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid , Cole Miller , and Remco Smits created

4425d58 Revert "Hide the notifications panel by default (#32705)" (#32707)

Click to expand commit body
This reverts commit aabce921e321efa9c9b14d68367d69a0c43c175b.

Release Notes:

- N/A

Kirill Bulatov created

29fa6d1 Regroup result_ids (#32710)

Click to expand commit body
Do not cleanup the result_id data on buffer drop, as this data is meant
to be stored between buffer reopens.
Use `LanguageServerId` as keys as this way it's simpler to access the
data.

Follow-up of https://github.com/zed-industries/zed/pull/32403

Release Notes:

- N/A

Kirill Bulatov created

aabce92 Hide the notifications panel by default (#32705)

Click to expand commit body
Release Notes:

- The notifications panel is hidden by default now

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Kirill Bulatov and Conrad Irwin created

2948e18 Fix shell environment loading for Zed installations with spaces in path (#32702)

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

When Zed is installed in a path containing spaces (e.g.,
`/Applications/Zed Nightly.app/Contents/MacOS/zed`), environment
variable loading fails and leaves this in the Zed log:

```
login shell exited with exit status: 127. stdout: "", stderr: "Nightly.app/Contents/MacOS/zed --printenv >&0: /Applications/Zed: No such file or directory"
```

This was not part a release (only broke in nightly), but fixes it the
issue in any case when the path to the Zed.app bundle has a space (e.g.
"Zed Nightly.app")

Release Notes:

- N/A

Kyle Kelley created

1c135f9 Update documentation about account email addresses (#32703)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

4370628 debugger: Focus child sessions if parent has never stopped (#32693)

Click to expand commit body
Closes #ISSUE

Release Notes:

- When debugging JavaScript, Zed will now preselect child sessions by
default.

Piotr Osiewicz created

e59fb2e copilot: Remove an unwrap in URI parsing code (#32698)

Click to expand commit body
Closes #32630

Release Notes:

- Fixed a potential crash when opening active modules in a debugger
session (with Copilot enabled).

Piotr Osiewicz created

cf129aa Silence failed auto update checks (#32696)

Click to expand commit body
Don't immediately show "auto-update failed" errors in the status bar
when launching zed offline or when a periodic auto-update check is
triggered when you are offline. Manual checks (via menu or action) or
errors after the initial version check succeeds (download/extraction
failure) are unchanged.

Supersedes: https://github.com/zed-industries/zed/pull/32643

Release Notes:

- N/A

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

Peter Tripp and Joseph T. Lyons created

628f91d Disallow running CLI with root privileges (#32583)

Click to expand commit body
In #31331, I made a change that prevents Zed from running with root
privileges, but I forgot about the CLI.
So if you run the CLI without the `--foreground` flag, it just freezes
without any messages. This PR fixes that.

Release Notes:

- N/A

Yaroslav Pietukhov created

3fb28f6 ci: Require check_docs (#32470)

Click to expand commit body
Previously, broken `check_docs` would not prevent merge/automerge.
Introduced in:
- https://github.com/zed-industries/zed/pull/31073

Release Notes:

- N/A

Peter Tripp created

2aa79a0 editor: Fix diff hunk controls not shown until buffer interaction (#32692)

Click to expand commit body
Similar to https://github.com/zed-industries/zed/pull/32683, checking
mouse hovered in `mouse_move` instead of `prepaint` for diff hunk
controls.

Release Notes:

- Fixed issue where diff hunk controls were not visible on mouse hover
when `cursor_blink` is `false`.

Smit Barmase created

71dbe88 Replace environment variable parser with `zed --printenv` outputting JSON (#32637)

Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/32445
Follow-up to: https://github.com/zed-industries/zed/pull/31799

Release Notes:

- Improved handling of environment variables

---------

Co-authored-by: Conrad Irwin <conrad@zed.dev>

Peter Tripp and Conrad Irwin created

d280c95 agent: Suggest turning burn mode on when close to the context window limit (#32691)

Click to expand commit body
Previously, upon getting close to reaching the context window, we'd just
suggest creating a new thread using the summary of the current one. Now,
we also suggest turning burn mode on as an alternative action to solve
the context window problem.

Release Notes:

- agent: Added a suggestion to turn burn mode on when getting close to
the context window limit.

Danilo Leal created

fcf5042 anthropic: Reorder `Model` variants in descending order (#32689)

Click to expand commit body
This PR reorders the `Model` variants in the `anthropic` crate in
descending order.

Newer/more powerful models at the top -> older/less powerful models at
the bottom.

Release Notes:

- N/A

Marshall Bowers created

cb9beb8 anthropic: Refactor a bit (#32685)

Click to expand commit body
This PR applies some refactorings made in our other repos to this
version of the `anthropic` crate.

Release Notes:

- N/A

Marshall Bowers created

29f3e62 ui: Refactor the Callout component (#32684)

Click to expand commit body
What motivated me to refactor this component was the fact that I wanted
a new variant to allow having _two CTAs_ instead of just one. This
variant should work with either a single or multiline description. But,
given we were using a `Callout::single_line` and `Callout::multi_line`
API, I'd then need to have both `Callout::single_line_one_button` and
`Callout::single_line_two_buttons` type of variants, which just points
to a combinatorial problem.

With this refactor, the Callout now follows the same structure of the
Banner component, where it's all `Callout::new` and every method is
passed as if they were props in a React component, allowing for a more
flexible design where you can customize button styles. Also made it
slightly more robust for wrapping and removed the top border as that
should be defined by the place it is being used in.

Release Notes:

- N/A

Danilo Leal created

aa1cb9c editor: Fix inline blame show/hide not working until buffer interaction (#32683)

Click to expand commit body
We recently fixed the issue of `cx.notify` on every mouse move event
https://github.com/zed-industries/zed/pull/32408. As this perf bug was
there for a long time, we made some not-optimal choices for checking
things like if the mouse is hovering over an element in the prepaint
phase rather than the `mouse_move` listener.

After the mentioned fix, it regressed these code paths as prepaint is
not being called for every other frame, and hence the mouse hovering
logic never triggers. This bug is directly noticeable when the
"cursor_blink" setting is turned off, which notifies the editor on every
second.

This PR fixes that for git inline blame popover by moving logic to
show/hide in `mouse_move` instead of prepaint phase. `cx.notify` is only
get called only when popover is shown or hidden.

Release Notes:

- Fixed git inline blame not correctly showing in Editor on hover when
`cursor_blink` is `false`.

Smit Barmase created

d5b8c21 debugger: Mark DapLocator::create_scenario as an async function (#32680)

Click to expand commit body
Paves way for locators in extensions.

Release Notes:

- N/A

Piotr Osiewicz created

2c491d3 debugger: Fix regression in rendering of stack frame list (#32682)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

9427833 Distinguish between missing models and registries in error messages (#32678)

Click to expand commit body
Consolidates configuration error handling by moving the error type and
logic from assistant_context_editor to language_model::registry.

The registry now provides a single method to check for configuration
errors, making the error handling more consistent across the agent panel
and context editor.

This also now checks if the issue is that we don't have any providers,
or if we just can't find the model.

Previously, an incorrect model name showed up as having no providers,
which is very confusing.

Release Notes:

- N/A

Ben Brandt created

fc7c106 chore: Use workspace `tiny_http` (#32672)

Click to expand commit body
Release Notes:

- N/A

张小白 created

83cd1d2 Improve logging of prettier errors (#32665)

Click to expand commit body
In particular, seems like the error message and the message sent to
prettier were mixed up before

Release Notes:

- N/A

Michael Sloan created

bc68455 client: Fix an issue where non-IP proxy URLs didn’t resolve correctly (#32664)

Click to expand commit body
If the proxy URL is in the form of `example.com` instead of a raw IP
address, and `example.com` isn't a well-known domain, then the default
URL resolution can fail.

The test setup:

A Linux machine runs a CoreDNS server with a custom entry: `10.254.7.38
example.com`. On a Windows machine, if the proxy URL is set to
`example.com`, the resolved address does **not** end up being
`10.254.7.38`.

Using `hickory_resolver` for more advanced DNS resolution fixes this
issue.


Release Notes:

- Fixed proxy URL resolution when using custom DNS entries.

张小白 created

20793fc Autoformat `prettier_server.js` (#32661)

Click to expand commit body
Formatted via format-on-save in Zed with prettier version 3.5.3

Release Notes:

- N/A

Michael Sloan created

cb57317 project_panel: Allow collapse all from workspace context (#32660)

Click to expand commit body
Closes #4385

Allow action `project_panel::CollapseAllEntries` to trigger from
workspace context without focusing the project panel.

Release Notes:

- Added a way to collapse all entries in the Project Panel without
having to focus it. This can be done by using the
`project_panel::CollapseAllEntries` action.

Smit Barmase created

9cc8221 Remove `separator!` macro and make `path!` handle relative paths (#32527)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

babf846 Fix newlines in language server logs when switching log types + misc (#32659)

Click to expand commit body
Mistake in #31863 where the stored log entries no longer had a format
that could simply have `\n` added after each entry.

Also fixes a potential crash in the long line folding logic if unicode
was in the logs - introduced in #22996.

Also updates the log line truncation logic to never exceed the
pre-allocated capacity

Release Notes:

- N/A

Michael Sloan created

9a6e8a1 vim: Add horizontal scrolling support in vim mode (#32558)

Click to expand commit body
Release Notes:

- Added initial support for both `z l` and `z h` in vim mode

These changes relate to #17219 but don't yet close the issue, as this
Pull Request is simply adding support for horizontal scrolling in vim
mode and actually moving the cursor to the correct column in the current
row will be handled in a different Pull Request.

Some notes on these changes:

- 2 new default keybindings added to vim's keymap
    - `z l` which triggers the new `vim::ColumnRight` action
    - `z h` which triggers the new `vim::ColumnLeft` action
- Introduced a new `ScrollAmount` variant, `ScrollAmount::Column(f32)`
to represent horizontal scrolling
- Replaced usage of `em_width` with `em_advance` to actually scroll by
the width of the cursor, instead of the width of the character

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Dino and Conrad Irwin created

f63ae43 debugger: Show errors loading stack (#32658)

Click to expand commit body
- **TEMP**
- **Show errors loading stack frames**
- **Stop cloning every DAP response unnecessarily**

Closes #ISSUE

Release Notes:

- debugger: Show errors loading stack frames.

<img width="1840" alt="Screenshot 2025-06-12 at 23 53 42"
src="https://github.com/user-attachments/assets/310d3046-f34c-4964-acef-f9742441c9db"
/>

Conrad Irwin created

bcd7933 debugger: Fix running JS tests when worktree root and package root do not coincide (#32644)

Click to expand commit body
- construct the correct path to the test library based on the location
of package.json
- run scripts from the package root where they were defined
- run tests in the directory of the defining file

Release Notes:

- Debugger Beta: fixed running JS tests when the worktree root is above
the location of package.json.

---------

Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Cole Miller , Anthony , and Conrad Irwin created

9166e66 Disable nav history in vim scrolls (#32656)

Click to expand commit body
Reland of #30345 to fix merge conflicts with the new skip-completions
option

Fixes #29431
Fixes #17592

Release Notes:

- vim: Scrolls are no longer added to the jumplist

Conrad Irwin created

0fe35f4 vim: Exit temporary normal after scroll (#32653)

Click to expand commit body
Closes #ISSUE

Release Notes:

- vim: Exit temporary normal after scrolling

Conrad Irwin created

f227c2f debugger: Add an action to copy debuggee info and initialization args (#32647)

Click to expand commit body
Release Notes:

- Debugger Beta: added the `dev: copy debug adapter arguments` action to
help troubleshoot debug configurations.

Cole Miller created

1078f92 Update names of collab auth functions to clarify behavior (#32648)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

cef0c41 Don't autosave unmodified buffers (#32626)

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

Proper redo of https://github.com/zed-industries/zed/pull/32603

Release Notes:

- Fixed formatting effects not triggered when saving unmodified
singleton buffers

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Cole Miller <m@cole-miller.net>

Kirill Bulatov , Max Brunsfeld , and Cole Miller created

cd018da docs: Fix headings in debugger docs (#32641)

Click to expand commit body
Reported by calebmeyer on Discord.
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

d725371 debugger: Pass --nocapture to cargo tests when building debug tasks with locator (#32633)

Click to expand commit body
Release Notes:

- Add --nocapture as a default argument when debugging rust tests

Co-authored-by: Cole Miller <m@cole-miller.net>

Anthony Eid and Cole Miller created

7d708c1 Use `git config --global user.email` for email address in automatic `Co-authored-by` (#32624)

Click to expand commit body
Release Notes:

- Automatic population of `Co-authored-by` now uses `git config --global
user.email`

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>

Michael Sloan , Conrad Irwin , and Conrad created

e56a027 Store `result_id`s per language server (#32631)

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


Release Notes:

- N/A

Kirill Bulatov created

1e244f4 debugger: Do not swallow `port` property when converting launch.json (#32621)

Click to expand commit body
with JavaScript scenarios.

Closes #32187

Release Notes:

- Fixed `port` property not being respected in debug scenarios converted
from VSC's launch.json

Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>

Piotr Osiewicz and Ben Kunkle created

c13be16 Add `git: open modified files` action (#32347)

Click to expand commit body
Ported over a vscode/cursor command that I like using : )

Release Notes:

- Added "open modified files" command

Gabe Shahbazian created

0ee6a90 Update invisibles' default.json docs (#32601)

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

Release Notes:

- N/A

Kirill Bulatov created

4236c9e gpui: Fix data_table example overflow subtracting crash error (#32617)

Click to expand commit body
Release Notes:

- N/A

Just make a simple change to avoid crash.

```
thread 'main' panicked at library\std\src\time.rs:436:33:
overflow when subtracting duration from instant
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\std\src\panicking.rs:697
   1: core::panicking::panic_fmt
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\core\src\panicking.rs:75
   2: core::panicking::panic_display
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\core\src\panicking.rs:261
   3: core::option::expect_failed
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\core\src\option.rs:2024
   4: core::option::Option::expect
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\core\src\option.rs:933
   5: std::time::impl$3::sub
             at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library\std\src\time.rs:436
   6: data_table::Quote::random
             at .\crates\gpui\examples\data_table.rs:54
```

Jason Lee created

5923ba4 debugger: Allow use of externally-managed Delve for Go debugging (#32613)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Go debug scenarios can now use an externally-managed Delve instance.
Use `tcp_connection` in your debug scenario definition to provide
adapter's address.

Piotr Osiewicz created

bb5a763 title_bar: Use theme colors for window controls on Windows (#32400)

Click to expand commit body
Release Notes:

- N/A

----

Fix Windows title bar window button color by use theme colors.

The `ghost_element_hover` and `ghost_element_active` is same color as
the Buttons in title bar.

## Before


https://github.com/user-attachments/assets/e38a4f9c-7e5c-4d50-b578-608baebaf03c

## After


https://github.com/user-attachments/assets/a32e4d88-1e64-407e-a601-716ca7584111

Jason Lee created

f541294 editor: Improve completions sort order for Tailwind classes (#32612)

Click to expand commit body
Closes #32532

Before:
<img width="479" alt="Image"
src="https://github.com/user-attachments/assets/5eeee2b8-7f0f-43c1-bbde-65db8ae0dce1"
/>

After:
<img width="580" alt="image"
src="https://github.com/user-attachments/assets/6c6f30ea-e92e-41f7-ba5e-b1616652d367"
/>


Release Notes:

- Improved auto-complete suggestions for Tailwind classes.

Smit Barmase created

dc8eb55 agent: Scroll to first diff hunk when clicking on edit tool card header (#32611)

Click to expand commit body
Release Notes:

- agent: Clicking on header of an edit file card now takes you to the
first modified hunk

Bennet Bo Fenner created

f14a923 agent: Allow to see the review button while generating (#32610)

Click to expand commit body
I think we mistakenly added an early return for the review multibuffer
button if `has_pending_edit_tool_uses` is true. It is totally fine _to
access_ the review multibuffer while that's happening. It's another
thing to _accept and reject_ changes while they're still ongoing!

Release Notes:

- agent: Fixed access to the review multibuffer from the agent panel.

Danilo Leal created

47af72b project_panel: Don't add extra margin-left to file name labels (#32602)

Click to expand commit body
In this PR I want to improve the UI of the project panel's files tree.
Currently, the project panel renders an extra gap between file icons and
the file name, making it visually unpleasant. The changes in the PR
remove the gap, bringing the labels closer to their icon:

_Before/After_

<img width="647" alt="zed-before-after"
src="https://github.com/user-attachments/assets/d815c075-f1f8-4a77-a3b3-d1275988a5dc"
/>

Also, this extra gap between the icon and the label seems inconsistent
with how other similar components, which are based on the `ListItem`,
are used.

Release Notes:

- Fixed an extra gap between the file icon and the file name label in
the project panel.

Vladimir Varankin created