85985fe
git: Fix panic in git panel when `sort_by_path` is `true` (#39678)
Click to expand commit body
Fixes ZED-1NX
This panic could occur when an `bulk_staging` was set to `Some(...)` and
`sort_by_path` was set to `true`.
When setting `sort_by_path: true`, we call `update_visible_entries(...)`
which then checks if `bulk_staging ` is `Some(...)` and calls
`entry_by_path`. That function accesses `entries`, which still consists
of both headers and entries. But the code
(`entry.status_entry().unwrap()`) assumes that there are no headers in
the entry list if `sort_by_path: true`.
```rust
if GitPanelSettings::get_global(cx).sort_by_path {
return self
.entries
.binary_search_by(|entry| entry.status_entry().unwrap().repo_path.cmp(path)) //This unwrap() would panic
.ok();
}
```
This has now been fixed by clearing all the entries when `sort_by_path`
changes, as this is the only case where our assumptions are invalid. I
also added a test which 1) actually tests the sort_by_path logic 2)
ensures that we do not re-introduce this panic in the future.
Release Notes:
- Fixed a panic that could occur when using `sort_by_path: true` in the
git panel
Bennet Bo Fenner
created
3bec885
relpaths: Fix repeated usages of RelPath::unix on static paths (#39675)
Click to expand commit body
- **paths: Cache away results of static construction of RelPath**
- **agent: Cache away results of converting rules file names into
relpaths**
This PR fixed a regression from relpath PR where we've started doing
more work when working with static (Rel-)Paths.
Release Notes:
- N/A
Piotr Osiewicz
created
9a5034e
Improve command logging and `log_err` module paths (#39674)
Click to expand commit body
Prior we only logged the crate in `log_err`, which is not too helpful.
We now assemble the module path from the file system path.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Closes #39117
Some window managers (example: hyprland
https://github.com/hyprwm/Hyprland/issues/11229) still won't open a
floating file chooser because they don't support the XDG foreign
protocol yet: https://wayland.app/protocols/xdg-foreign-unstable-v2
Release Notes:
- Fixed file chooser not floating
---------
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Alvaro Parker
and
David Kleingeld
created
ffff56f
Revert "search: Introduce more yield points in project search `pending_search` task" (#39672)
Click to expand commit body
Reverts zed-industries/zed#39624
This seems to have had the opposite effect
This fixes an issue where the horizontal padding on the extensions page
was uneven and where the padding on the right side would be much larger.
| Before | After |
| --- | --- |
| <img width="2550" height="1694" alt="Bildschirmfoto 2025-10-06 um 19
26 56"
src="https://github.com/user-attachments/assets/cf05b77b-4a9e-4ad9-8fa7-381f9b6b45af"
/> | <img width="2546" height="1694" alt="Bildschirmfoto 2025-10-06 um
19 25 49"
src="https://github.com/user-attachments/assets/493ba188-534a-4e7a-b2c1-2b1380be7150"
/> |
Release Notes:
- Improved the horizontal padding on the extensions tab.
Finn Evers
created
41ac6a8
windows: Use nc-esque ssh askpass auth for remoting (#39646)
Click to expand commit body
This lets us avoid storing user PW in ZED_ASKPASS_PASSWORD env var.
Release Notes:
- N/A
Piotr Osiewicz
created
963204c
settings ui: Add new batch of settings (#39650)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
f6f11eb
Avoid spawning external agent process when AI is disabled at startup (#39649)
Click to expand commit body
Closes #39645
Release Notes:
- Fixed external agent servers sometimes being spawned when Zed started
even when AI was disabled.
Cole Miller
created
c1e9171
settings_ui: Language settings UI (#39640)
Before this change the active theme and icon theme were retrofitted onto
the ThemeSettings.
Now they're in their own new global (GlobalTheme::theme(cx) and
GlobalTheme::icon_theme(cx))
This lets us remove cx from the settings traits, and tidy up a few other
things along the way.
Release Notes:
- N/A
Conrad Irwin
created
4de13e0
askpass: Fix cli path when executed in a remote server (#39475)
Click to expand commit body
Closes #39469
Closes #39438
Closes #39458
I'm not able to test it, i would appreciate if somebody could do it. I
think this bug was present also for SSH remote projects
Release Notes:
- Fixed an issue where zed bin was not found in remote servers for
askpass
---------
Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Marco Mihai Condrache
created
e680dfb
git_ui: Update project diff more aggressively (#39642)
Click to expand commit body
This fixes a regression in #39557--for the project diff, we rely on
getting an event when a path inside a git repository changes, even if
the git state of the repository didn't change as a result (e.g. a new
modification to a file that already had the "modified" status).
I've also changed this code to send the `UpdateRepository` proto message
even when the git state didn't change, since otherwise we have the same
problem in SSH and collab projects.
Release Notes:
- N/A
Cole Miller
created
31544d2
ci: Show output of failed tests at the end too (#39643)
Click to expand commit body
This makes it a bit easier to read GHA logs of failed CI runs.
Release Notes:
- N/A
The panic happened when a user had a settings file with a buffer line
height custom variant, because the drop-down renderer only took into
account the two named variants.
The fix for this will be creating a custom element that allows a user to
manually input a line height greater than one or select either
Comfortable or Standard.
Release Notes:
- N/A
Anthony Eid
created
b2f0b1b
Fix Ctrl+C not working when Zed is launched from CLI (#39482)
075104a
settings ui: Move settings data out of settings window (#39638)
Click to expand commit body
Moved `user_settings_data` and `project_settings_data` into their own
module because those functions just represent static data.
Release Notes:
- N/A
Anthony Eid
created
c80d213
Fix infinite loop when worktree is deleted (#39637)
Click to expand commit body
Closes #39442
Release Notes:
- Fixed infinite loop when worktree is deleted
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Andrew Farkas
and
Conrad Irwin
created
fe9895d
node_runtime: Bump minimum version for system node to match copilot's requirement (#39632)
Click to expand commit body
Copilot now requires 22.x. See the last min node version bump:
https://github.com/zed-industries/zed/pull/27912
Closes #39461
<img width="1040" height="97" alt="image"
src="https://github.com/user-attachments/assets/8f0490e3-b9b5-45fd-b7f1-321691b862f0"
/>
Release Notes:
- Zed will no longer use `node` from your `$PATH` if it's older than
22.x (previously, the minimum version was 20.x). Instead, it will fall
back to its bundled `node`. This fixes being unable to use Copilot if an
older `node` was installed system-wide.
a65a8be
Revert YankEndOfLine default (part of PR #39143) (#39626)
Click to expand commit body
Release Notes:
- N/A
David Kleingeld
created
ea60a7b
settings ui: Use font picker element from onboarding instead of editor for font components (#39593)
Click to expand commit body
The font picker from onboarding is a lot friendlier to interact with and
makes it impossible for a user to select an invalid font from the
settings ui.
I also moved the font picker from the onboarding crate to the ui_input
crate
## New Look
<img width="1136" height="812" alt="image"
src="https://github.com/user-attachments/assets/7436682c-6a41-4860-a18b-13e15b8f3f31"
/>
Release Notes:
- N/A
Anthony Eid
created
a67a55d
docs: Fix Tree-sitter casing in `vim.md` (#39527)
Click to expand commit body
The AI here in GitHub helped me find the creative ways that Tree-sitter
was incorrectly typed in the document vim.md
<img width="704" height="196" alt="Tree-sitter-bg"
src="https://github.com/user-attachments/assets/90924405-0961-4436-b6b8-2066de527ddc"
/>
Release Notes:
- N/A
warrenjokinen
created
1a9f9cc
Add note about `inode/directory` to Zed desktop entry (#39076)
Click to expand commit body
Release Notes:
- N/A
Hexorg
created
6da5945
Optimize fs_watcher to use less RAM by doing less work (#39602)
Click to expand commit body
mac_watcher already does this so it would make more sense to also do
this on Windows and it saves ~500-600mb of ram on the chromium project.
This does not improve memory usage on linux because inotify cannot do
recursive directory monitoring
Release Notes:
- N/A
localcc
created
354cc65
search: Introduce more yield points in project search `pending_search` task (#39624)
Click to expand commit body
This should help with project search lagging I believe
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
2c6a863
remote: Fix wsl failing to start on some setups (#39612)
84ec865
agent: Fix gradient overlay in file list within the activity bar (#39619)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
80727a0
editor: Limit snippet query range instead of collecting from buffer start (#39617)
Click to expand commit body
Fixes hang when computing query for snippet completions when working
with really large buffers.
Release Notes:
- N/A
Smit Barmase
created
e7339fb
project_panel: Focus project panel when clicking empty space (#39489)
Click to expand commit body
Closes #39486
Release Notes:
- Fixed: Project Panel now properly focuses when clicking empty space,
allowing keyboard shortcuts to work as expected
ozer
created
db5b1a3
settings ui: Add some UX adjustments (#39615)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
bc39ed2
editor: Preserve font features for vim block cursor (#39474)
Click to expand commit body
## Summary
Fixes an issue where font features (like ligatures) were not applied to
text under the vim block cursor. The cursor would inherit the font
family from the character at the cursor
position, but would use default font features instead of the editor's
configured font features.
## Changes
- Make the font mutable when rendering the vim block cursor
- Apply the editor's text style font features to the cursor font
This ensures that text under the block cursor renders with the same
visual appearance as the rest of the editor content.
Closes #39471
Release Notes:
- Fixed vim block cursor not respecting font features (like ligatures)
Ratazzi
created
1764337
agent: Fix plan summary text overflow in Claude Code threads (#39603)
Click to expand commit body
| Before | After |
|--------|--------|
| <img width="700" height="764" alt="Screenshot 2025-10-06 at 9 43@2x"
src="https://github.com/user-attachments/assets/faf7e93f-f0d8-4bea-9f8d-272c83b41b18"
/> | <img width="700" height="394" alt="Screenshot 2025-10-06 at 9 43
2@2x"
src="https://github.com/user-attachments/assets/3f404e69-de3a-44c2-8111-0212d5d91199"
/> |
Release Notes:
- agent: Fixed a bug in Claude Code threads where the plan summary text
would overflow beyond its container.
Danilo Leal
created
3707102
title_bar: Show git status indicator icon in the title bar (#38029)
Click to expand commit body
See related discussion #37046.
<details>
<summary>Screenshots</summary>
**No Changes**
<img
src="https://github.com/user-attachments/assets/e814da6e-bc9b-4edd-b37a-6bb4680d5bb3"
/>
**Added**
<img
src="https://github.com/user-attachments/assets/07ffdf90-08cb-43f4-b2bd-9966a21e08de"
/>
**Changed**
<img
src="https://github.com/user-attachments/assets/7e13b999-83b3-41ea-b2ab-baaa1541b169"
/>
**Deleted**
<img
src="https://github.com/user-attachments/assets/a77fc7e3-a026-419a-87bd-7146c3ca46a9"
/>
**Conflicts**
<img
src="https://github.com/user-attachments/assets/17e7e35c-d81b-4660-808d-08e12107ea2d"
/>
</details>
Release Notes:
- Show git status indicator icon in the title bar
Lev Zakharov
created
5263f51
terminal: Fix terminal cloning on WSL (#39552)
Click to expand commit body
Should close #39428
The working directory of the `wsl.exe` program is set to a Linux path,
which is invalid on the Windows side, causing the terminal to crash. The
first spawn works because there is no active terminal view, allowing a
new shell (which checks for the remote) to be created. I cannot explain
why it works on SSH remote clients, but I may be missing something in
the remote connection implementation.
I don't have a Windows machine to test this, so I would appreciate
someone testing it. 🙏🏼
Release Notes:
- Fixed an issue where WSL terminals could not be splitted
---------
Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
Marco Mihai Condrache
created
93cd10a
terminal: Re-enable activation scripts on windows (#39604)
4bd7ef8
acp_thread: If available, use git bash over powershell in terminal tool (#39466)
Click to expand commit body
Release Notes:
- When git bash is installed, agents will now use that over powershell
when invoking terminal commands
Lukas Wirth
created
d1e2a1f
gpui: Assert validity of text runs for `StyleText` (#39581)
Click to expand commit body
Should help with figuring out the char boundary panic in text shaping on
windows
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
79a8986
settings ui: Add scrollbar and other design details (#39504)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
d2b91eb
settings ui: Add numeric steppers to settings UI (#39491)
Click to expand commit body
This PR adds the numeric stepper component to the settings ui and
implements some settings that rely on this component as well.
I also switched {buffer/ui}_font_weight to the `gpui::FontWeight` type
and added a manual implementation of the Schemars trait. This allows Zed
to send min, max, and default information to the JSON LSP when a user is
manually editing the settings file.
The numeric stepper elements added to the settings ui are below:
- ui font size
- ui font weight
- Buffer font size
- Buffer font weight
- Scroll sensitivity
- Fast scroll sensitivity
- Vertical scroll margin
- Horizontal scroll margin
- Inline blame padding
- Inline blame delay
- Inline blame min column
- Unnecessary code fade
- Tab Size
- Hover popover delay
Release Notes:
- N/A
Anthony Eid
created
c26937a
zed: Show GPUI Inspector item in Dev build menus (#39287)
Click to expand commit body
# Why
I have find out that this tool exists by browsing Keymap Editor. I think
it would be nice for its discoverability to show it in the app menus in
Dev builds.
# How
Add "GPUI Inspector" app menu item conditionally for Dev builds only.
Release Notes:
- N/A
# Preview
<img width="1014" height="948" alt="Screenshot 2025-10-01 at 14 36 48"
src="https://github.com/user-attachments/assets/c0409e67-1f4d-44f3-90b3-293ad4fe5c73"
/>
Bartosz Kaszubowski
created
da82eec
editor: Fix utf8 boundary panic in `process_completion_for_edit` (#39561)
Click to expand commit body
Fixes ZED-1WH
Release Notes:
- Fixed panic when requesting completions after a multibyte character
Lukas Wirth
created
2bfcd60
editor: Shrink `DisplayMapSnapshot` from `824` to `256` bytes (#39568)
Click to expand commit body
We have unnecessary clones for the fields here as most of the snapshots
contain the others hierarchically.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
9c7369f
terminal: Fix rendering of zero-width combining characters (#39526)
Click to expand commit body
Add support for rendering Unicode combining characters (diacritics) in
the terminal's batched text runs.
- Add append_zero_width_chars() to handle combining marks
- Integrate zero-width chars into all batching code paths
- Update cell extras tracking logic
- Add test for combining character rendering
Fixes display of é, ñ, ô and other diacritics.
Closes #39525
Release Notes:
- Fixed: NFD/NFKD normalized text (e.g., é as e + ◌́) not rendering in
integrated terminal
Before:
<img width="874" height="688" alt="SCR-20251004-udnj"
src="https://github.com/user-attachments/assets/8d9f9c9f-dac4-4382-92c2-8b6c1d817abd"
/>
After:
<img width="873" height="686" alt="SCR-20251004-ulsw"
src="https://github.com/user-attachments/assets/fbd5cdc7-fdd6-44dc-8b05-cc425644f1a0"
/>
The editor settings control module was the first prototype of what a
settings UI could look like in Zed, but the code is outdated now and is
no longer used. So this PR removes it for cleanup.
Release Notes:
- N/A
Anthony Eid
created
ee557fb
Add window close keybindings for Settings UI (#39578)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Mikayla Maki
created
f9919f9
Swap the start building and login buttons (#39576)
Click to expand commit body
New onboarding screen:
<img width="1027" height="700" alt="Screenshot 2025-10-05 at 10 38
57 PM"
src="https://github.com/user-attachments/assets/5dc49e53-68e7-4559-8ce0-1bada629781d"
/>
This PR also adds a new telemetry event: `Welcome Start Building
Clicked`
Release Notes:
- N/A