0bcb4bd
Calculate scroll position based on middle item
Anthony created
0bcb4bd
Calculate scroll position based on middle item
Anthony created
98f26b2
Some code clean up
Anthony created
9b3bb0b
Calculate selected navbar entry on each frame based on scrollbar pos
This fixes a problem where moving the scrollbar manually wouldn't select the correct sub entry in the navbar or update the navbar at all
Anthony created
5b85cdc
Add a scroll to top of item function to scroll handle
This enables settings UI to scroll to the top of a selected header instead of just when the header is visible
Anthony created
5571990
Improve nav bar navigation
Anthony created
642643d
language: Fix `HighlightedText::first_line_preview` creating incorrect highlight ranges (#39705)
Fixes ZED-1XW Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
391e304
settings_ui: Keyboard navigation (#39652)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Ben Kunkle and Mikayla created
3106472
terminal: Escape strings with backticks rather than backslashes in PowerShell (#39657)
Closes #39007 Strings should be escaped with backticks in PowerShell, so the following ``` \"pwsh.exe -C pytest -m \\\"some_test\\\"\" ``` becomes ``` \"pwsh.exe -C pytest -m `\"some_test`\"\" ``` Otherwise PowerShell will misinterpret the invocation resulting in weirdness all-around such as the issue linked above. Release Notes: - N/A
Jakub Konka created
d04ac86
Don't construct an agent panel when `disable_ai` is set (#39689)
Follow-up to #39649, possible fix for #39669 This implements an alternate strategy for showing/hiding the agent panel in response to `disable_ai`. We don't load the panel at all if AI is disabled at startup, and when the value of `disable_ai` changes, we load the panel or destroy it as needed. Release Notes: - N/A
Cole Miller created
f9a2724
Remove empty line when collapsing diagnostics (#39459)
Closes #39028 Fixed empty lines appearing when collapsing files with diagnostic messages in the diagnostics panel. Added a flag to track when processing a `FoldedBuffer` and skip `Near/Below` blocks (diagnostic messages) that immediately follow it. This prevents diagnostics from rendering as empty lines when their file is collapsed. Before: <img width="1489" height="429" alt="before" src="https://github.com/user-attachments/assets/5e233290-1f6e-403c-a6b3-a65107586d01" /> After: <img width="981" height="270" alt="after" src="https://github.com/user-attachments/assets/a877b651-6b7f-4441-805c-38ea41e73a18" /> Release Notes: - Fixed empty lines when collapsing files with diagnostics in the diagnostics panel
Vinicius da Motta created
ded73c9
Fix an issue where scrollbars would capture too many events (#39690)
This PR fixes an issue where scrollbars would overagressively capture some events, which could lead to clicks being lost in the process. Also improves how hovering of the parent is detected to lead to less false positives. Release Notes: - Fixed a rare issue where scrollbars would react to and capture events they should not react to.
Finn Evers created
41cf114
Revert "Remove cx from ThemeSettings (#38836)" (#39691)
This reverts commit a2a7bd139a3f94202d2a050a2bc7e50dc139000b. This caused themes to not load correctly on startup, you needed to edit your settings. Release Notes: - N/A
Conrad Irwin created
e765818
agent: Remove some unused code from the `Thread` (#39688)
This PR removes some unused code from the Agent1 `Thread`. Release Notes: - N/A Co-authored-by: David Kleingeld <davidsk@zed.dev>
Marshall Bowers and David Kleingeld created
84f4888
settings ui: Review available items ordering & writing (#39682)
Release Notes: - N/A
Danilo Leal created
85985fe
git: Fix panic in git panel when `sort_by_path` is `true` (#39678)
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)
- **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)
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 ...
Lukas Wirth created
64eec67
Fix floating file chooser (#39154)
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)
Reverts zed-industries/zed#39624 This seems to have had the opposite effect
Lukas Wirth created
b02b130
extensions_ui: Fix uneven horizontal padding (#39627)
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)
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)
Release Notes: - N/A
Danilo Leal created
f6f11eb
Avoid spawning external agent process when AI is disabled at startup (#39649)
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)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
a2a7bd1
Remove cx from ThemeSettings (#38836)
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)
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)
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)
This makes it a bit easier to read GHA logs of failed CI runs. Release Notes: - N/A
Cole Miller created
4e93229
settings ui: Fix panic from reading `BufferLineHeight` custom variant (#39631)
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)
Closes https://github.com/zed-industries/zed/issues/38383 Closes https://github.com/zed-industries/zed/issues/39330 Release Notes: - N/A
John Tur created
94f1faf
settings_ui: Make unimplemented helper (#39639)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
075104a
settings ui: Move settings data out of settings window (#39638)
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)
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)
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.
Cole Miller created
24bc52a
Remove chat from docs (#39623)
Updates #37789 Release Notes: - N/A
Conrad Irwin created
a65a8be
Revert YankEndOfLine default (part of PR #39143) (#39626)
Release Notes: - N/A
David Kleingeld created
ea60a7b
settings ui: Use font picker element from onboarding instead of editor for font components (#39593)
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)
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)
Release Notes: - N/A
Hexorg created
6da5945
Optimize fs_watcher to use less RAM by doing less work (#39602)
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)
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)
Closes https://github.com/zed-industries/zed/issues/39433 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
84ec865
agent: Fix gradient overlay in file list within the activity bar (#39619)
Release Notes: - N/A
Danilo Leal created
80727a0
editor: Limit snippet query range instead of collecting from buffer start (#39617)
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)
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)
Release Notes: - N/A
Danilo Leal created
bc39ed2
editor: Preserve font features for vim block cursor (#39474)
## 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)
| 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)
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)
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