de14e3f
agent: Separate flag for rename tool (#56228)
Click to expand commit body
Pulls the rename tool into a separate flag and staff ships it
Release Notes:
- N/A or Added/Fixed/Improved ...
Cameron Mcloughlin
created
942f90a
agent: Refresh agent system prompt (#56164)
Click to expand commit body
Streamline the instructions around communication, tool use, planning,
and project roots.
Remove the `now` tool and also clean up several tool descriptions.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Ben Brandt
and
Bennet Bo Fenner
created
5409d47
vim: Change surrounds with Mini{Quotes,Brackets} and AnyQuotes (#51067)
Click to expand commit body
Part of #48241 (`dsq` still needs to be implemented, I can try to do in
another PR if+when this is merged)
AnyBrackets was already supported, and these various surrounds were
supported with other vim motions, this just brings parity for "change
surrounds".
Also adds MiniBrackets support since it works the same way as MiniQuotes
does.
Most of this change is just test cases for vim edits with `csq` + `csb`,
using the keybinds described in the docs:
https://zed.dev/docs/vim#any-bracket-functionality
Also did a slight refactor to reuse some constants for supported pairs,
for consistency.
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed vim `change surrounds` for MiniQuotes, MiniBrackets, and
AnyQuotes
Ian Chamberlain
created
715df4a
Add a `Copy Tag` action to the git graph context menu (#56110)
Click to expand commit body
https://github.com/user-attachments/assets/7aa683e3-c52c-49e7-9934-ed4df6a1f8e2
Self-Review Checklist:
- [X] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable
Release Notes:
- Added a `Copy Tag` action to the git graph context menu.
Joseph T. Lyons
created
cc20ae3
workspace: Always add projects to windows (#56187)
Click to expand commit body
Right now the recent project picker has different confirm behavior
depending on if a user had open their sidebar in their current Zed
session. If the sidebar had been open the recent project picker adds the
selected project to the multi workspace and makes it the active
workspace, without removing anything. If the sidebar hadn't been open
the recent project picker would replace the active workspace within the
multi workspace.
This caused confusion because the same UX flow had two different
outcomes depending on Zed's state that wasn't obvious to users. This PR
mitigates this by always adding the project to the window while AI
features are enabled. Future follow ups will include the ability to
disable the sidebar, but that's blocked on the agent panel not having a
way to view active threads currently.
This also caused issues in the parallel agents workflow because
replacing a workspace would drop the workspace, thus causing any
terminal processes or threads to be dropped as well.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #ISSUE
Release Notes:
- N/A or Added/Fixed/Improved ...
Bumps `wasm-bindgen` from `0.2.113` to `0.2.120` for compatibility with
`cloudflare_platform` in the cloud repo.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Accidentally added in 7205fb9c71cc28e5488c0db171e15088146c310e
Release Notes:
- N/A
Conrad Irwin
created
7205fb9
Expand ClientApiError with structured variants for connection, server, and response errors (#56214)
Click to expand commit body
Self-Review Checklist:
- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Conrad Irwin
created
e621d0d
git_ui: Escape markdown in discard confirmation dialog (#56197)
Click to expand commit body
## Summary
Filenames containing markdown syntax (e.g. `__somefile__`, `*somefile*`)
were being rendered as formatted text in the git discard confirmation
dialog.
Follow-up to #55697 for the git discard confirmation path mentioned in
#53060.
## Changes
Wrapped the git discard confirmation filename with `MarkdownInlineCode`
in `git_panel.rs`, so special markdown characters like `_`, `*`, and `[`
render literally.
## Testing
Added `test_discard_prompt_escapes_markdown_in_file_name` in
`git_panel.rs` to verify filenames with markdown special characters
render literally in the discard confirmation dialog.
Run:
```bash
cargo test -p git_ui test_discard_prompt_escapes_markdown_in_file_name
```
Release Notes:
- Fixed file names containing markdown special characters (e.g.
`__somefile__`) being rendered as formatted text in the git discard
confirmation dialog.
alkinun
created
cbcf12f
sidebar: Make placeholder text clearer (#56081)
Click to expand commit body
Changes the sidebar filter editor placeholder from "Search…" to "Search
threads…" to make it clear what is being searched.
Release Notes:
- Improved sidebar search placeholder text to read "Search threads…"
instead of "Search…"
María Craig
created
5e62281
fs: Defer initializing poll watcher until after initial worktree scan (#56207)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #56021
Closes #56100
Release Notes:
- N/A or Added/Fixed/Improved ...
Ben Kunkle
created
1e01843
opencode: Remove Ling 2.6 Flash Free model (#55984)
Click to expand commit body
Remove the "Ling 2.6 Flash Free" model from the OpenCode provider's
built-in
model list, as it is no longer available via the API. Attempting to use
it
returns the following error:
```
invalid request format to OpenCode's API: {"error":{"message":"Error from provider: Ling-2.6-flash is no longer available as a free model. It has transitioned to a paid model. Continue using it here: https://openrouter.ai/inclusionai/ling-2.6-flash","code":404},"user_id":"user_2..."}
```
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- Removed Ling 2.6 Flash Free model from the OpenCode provider
Matías Zapata Contreras
created
40d87a8
Do not send "finished" agent notification when about to send a queued message (#56157)
Click to expand commit body
I wait for an agent it takes time/thinks, but I notice some odd error in
its work that I want to correct: I write a message, knowing that e.g.
Claude can read that later at some point and continue normally, and
focus away from Zed.
At some point, I get the notification I need to react to, only to
understand that the generation is ongoing still due to that delayed
message sent.
Release Notes:
- Fixed agent "finished" notification appearing right before the queued
message is sent
Kirill Bulatov
created
be83c95
agent: Allow specifying which model is used for subagents (#56203)
Click to expand commit body
Closes #52042
Release Notes:
- agent: Added setting `subagent_model` to specify which model is used
when subagent is spawned
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner
and
Ben Brandt
created
75deffd
editor: Extract more git related stuff out of `editor.rs` (#56198)
Click to expand commit body
cc @SomeoneToIgnore
## Summary
Follow-up to #56155. I extracted the remaining git related things (again
not all of them, leftovers are more tricky as there are git + fold +
some others things combined) into `git.rs`
We nod reached a good milestone, the `editor.rs` would be below 20k
lines now
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Mikhail Pertsev
created
6b7d20e
collab: Route `UserService::get_user_by_github_login` through Cloud (#56190)
Click to expand commit body
This PR makes it so we route the `UserService::get_user_by_github_login`
call through Cloud instead of hitting the database.
Closes CLO-743.
Release Notes:
- N/A
Marshall Bowers
created
dc06395
markdown: Bump mermaid-rs-renderer to fix flowchart parser panic (#56199)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Bumps `mermaid-rs-renderer` to
`782b89a7da3f0e91e51f98d00a93acba679be6fb`, which picks up
[1jehuang/mermaid-rs-renderer#95](https://github.com/1jehuang/mermaid-rs-renderer/pull/95),
fixing a panic with partially typed mermaid.
Release Notes:
- Fixed a crash in markdown preview when a mermaid flowchart contained a
partially-typed parallelogram node like `A[/]` or `A[\]`.
Agus Zubiaga
created
31661a8
client: Rename `UserId` to `LegacyUserId` (#56185)
Click to expand commit body
This PR renames the `UserId` type in the `client` crate to
`LegacyUserId`.
The `id` field on the `User` has also been renamed to `legacy_id`.
This is strictly a rename, no change in behavior.
Release Notes:
- N/A
Marshall Bowers
created
b3c65f9
bedrock: Always use 1M context window for anthropic models (#56195)
Click to expand commit body
Closes #49617
Release Notes:
- bedrock: Always use 1M context windows for Anthropic models
Bennet Bo Fenner
created
392961e
Fix flaky terminal kill task test (#56194)
Click to expand commit body
Failed CI run:
https://github.com/zed-industries/zed/actions/runs/25559568951/job/75027378760?pr=56181
test_kill_active_task_on_completed_task_is_noop was flaking on Linux.
It's sibling was just waiting 200ms for PTY events to be handled by
alacritty. This PR polls the PTY instead of waiting an arbitrary amount
of time
Release Notes:
- N/A
Ben Kunkle
created
6151889
markdown: Fix table header alignment and apply alignment to cell content (#56179)
Click to expand commit body
Follow up: https://github.com/zed-industries/zed/pull/53465
For Markdown tables, headers are now always centered (ignoring column
alignment), matching standard Markdown rendering behavior. For HTML
tables, headers default to center but respect explicit `align`
attributes.
This also propagates alignment to paragraphs and headings inside table
cells, not just the cell container itself.
Release Notes:
- N/A
Smit Barmase
created
b8c3167
diagnostics: Always expand at least `multibuffer_context_lines` per diagnostic (#56172)
Click to expand commit body
Otherwise we can sometimes end up with single line excerpts which looks
very off
Release Notes:
- Improved the minimum size of diagnostics pane excerpts
Lukas Wirth
created
954ac0f
Add conditional check for `auto_discover` in Ollama provider (#55999)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #55998
Release Notes:
- ollama: Fixed issue where specifying `auto_discover: false` would
still auto discover models
Teslim Olunlade
created
4b23564
collab: Route `get_users_by_ids` through Cloud (#56105)
Click to expand commit body
This PR makes it so we route the `UserService::get_users_by_ids` call
through Cloud instead of hitting the database.
We've introduced a new `CloudUserService` that will fetch the users from
Cloud using the internal API. Note that we've only implemented the
`get_users_by_ids` method on this service, as the endpoints for the
other methods don't yet exist.
We have also introduced a `TransitionalUserService` for the purposes of
gradually transitioning these calls over to Cloud. Right now it uses the
`CloudUserService` for the `get_users_by_ids` implementation, but then
uses the `DatabaseUserService` for the other methods.
Closes CLO-740.
Release Notes:
- N/A
Marshall Bowers
created
6bc4b4b
Fix zeta2 prompt format selection (#55338)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes https://github.com/zed-industries/zed/issues/52585
Release Notes:
- Fixed local zeta2 edit predictions using the wrong prompt format.
Ben Kunkle
created
f87f0c0
fs: Don't treat watcher errors as reason to do rescans (#56165)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes https://github.com/zed-industries/zed/issues/56064
This behavior regressed in
https://github.com/zed-industries/zed/pull/54481
Release Notes:
- Fixed an issue where broken symlinks, permission errors, or other fs
errors in watched directories could cause excessive CPU usage
Makes the sidebar search case insensitive, and also require contiguous
matches. Also removes the duplicate logic for the sidebar and thread
history view
Release Notes:
- N/A or Added/Fixed/Improved ...
Cameron Mcloughlin
created
367db07
collab: Remove unused `api_token` field from `Config` (#56098)
Click to expand commit body
This PR removes the `api_token` field from Collab's `Config`, as it is
no longer used.
Release Notes:
- N/A
Marshall Bowers
created
6aca636
editor: Extract `git` and `input` out of `editor.rs` (#56155)
Click to expand commit body
cc @SomeoneToIgnore
## Summary
Follow-up to https://github.com/zed-industries/zed/discussions/55352,
where the conclusion was to split `editor.rs` incrementally by topic
instead of all at once.
This mechanically extracts two editor topics into focused sibling
modules:
- `crates/editor/src/input.rs`
- `crates/editor/src/git.rs`
The git extraction is intentionally partial for now. I left a lot of
related parts because otherwise the diff was super huge (over 9K lines)
in the Github, so we can move those parts later in the follow-up PRs
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Mikhail Pertsev
created
e78ddca
agent: Improve UX when agent tries to edit unsaved buffer (#55655)
Click to expand commit body
Before:
1. Agent tries to edit unsaved file
2. Tool call fails with error telling the agent to ask the user to save
or discard edits
3. User types save/restore
4. Agent uses save/restore tool
https://github.com/user-attachments/assets/c94dd361-e8e0-48ee-be31-da8afe594419
After:
1. Agent tries to edit unsaved file
2. User is prompted to save/restore file
3. User accepts/rejects or saves/discards file manually
https://github.com/user-attachments/assets/1d98a0c4-4420-4426-94f2-42355de230be
Release Notes:
- agent: Improved UX when agent tries to edit unsaved buffer
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner
and
Ben Brandt
created
c049193
Make all status bar tools able to hide its button via UI (#54971)
Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/53471
Adds a requirement on status bar items to provide a way to hide
themselves.
<img width="329" height="153" alt="image"
src="https://github.com/user-attachments/assets/b98ee5ba-a439-44d7-9ab5-f4511b66a574"
/>
<img width="464" height="40" alt="image"
src="https://github.com/user-attachments/assets/b41d9189-3475-4e61-b3a4-bc731dd52c53"
/>
Release Notes:
- Added a way to hide sidebar buttons
Based on
https://github.com/zed-industries/zed/pull/54100#issuecomment-4394534078
* Adjusts the code lens display closer to what VSCode does: have blank
placeholders for the code lens need resolving.
Zed will remove them if resolve returns nothing, so some small amount of
jitter is still there.
* Also reworks LspStore layer to provide a simple resolve method,
without any ranges involved, grouping that logic in the editor itself.
This allows to process each resolve request separately, updating editor
blocks as soon as possible.
Before:
https://github.com/user-attachments/assets/d6759a90-0087-4658-abf8-8e2767bc63a2
After:
https://github.com/user-attachments/assets/cb8f976c-b3fc-4f66-bb9f-812108255c90
Release Notes:
- Fixed resolved lens causing flickers
The function is unsound due to the classic fact that one can leak tasks,
sidestepping the blocking drop behavior resulting in a use after free.
Release Notes:
- N/A or Added/Fixed/Improved ...
Lukas Wirth
created
e727080
Update Mistral provider docs following #55443 (#56133)
Click to expand commit body
Update Mistral provider docs following #55443
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests **and docs** cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable
Release Notes:
- N/A or Added/Fixed/Improved ...
Signed-off-by: Gabriel Linder <linder.gabriel@gmail.com>
Gabriel Linder
created
e1a46f9
gpui: Use `SharedString::new_static` within `From` impls for `ElementId` where possible (#56139)
Click to expand commit body
Horror of a PR title but could not think of anything better here.
Release Notes:
- N/A
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
This PR fixes a few bugs, updates some UI, and improves testing of auto
watch. It'll likely be easier to review commit by commit:
- Swapped the Copy Channel Link and Auto Watch buttons so Auto Watch
appears in a better position. The UI is still not great, but I think
this tweak will improve it until someone on design can help.
Before:
<img width="324" height="61"
alt="589131021-c967dfe1-9026-4a1d-a399-b735303f2de0"
src="https://github.com/user-attachments/assets/7cd414cd-5a13-4e16-ab6e-5de6d2cd64ed"
/>
After:
<img width="373" height="77"
alt="589131282-607e15a5-e50c-4a8e-b22c-327f2e7b8ab5"
src="https://github.com/user-attachments/assets/7c19e0c8-8c50-4f8c-b966-f2a824eea4a0"
/>
- Disable Auto Watch when following another collaborator, with test
coverage for that behavior. We currently disable following when engaging
auto watch, and now we disable auto watch when following. They are
mutually exclusive and I think the feels correct.
- Refactored Auto Watch integration tests to use channels API instead of
room API.
- Improved test robustness by using assertions to identify
`SharedScreen` items by type and `peer_id` instead of tab title text.
- Fixed Auto Watch for returning channel participants by emitting
`RemoteVideoTracksChanged` when removing a participant with active video
tracks, with regression coverage for leave/rejoin/share.
Self-Review Checklist:
- [X] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable
Closes
Release Notes:
- N/A
Joseph T. Lyons
created
dccea21
auto_update: Add NixOS rsync install hint (#56097)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
NixOS users who are missing rsync get a generic "Please install rsync
using your package manager" message.
Release Notes:
- Improved auto update error message for NixOS users missing rsync
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Ben Brandt
created
8bdcce8
settings_ui: Stop reading the clipboard on every frame (#56075)
Click to expand commit body
`render_settings_item_link` was calling `cx.read_from_clipboard()`
during render so it could show a check icon next to the copy-link button
when the matching link was on the clipboard. This had two problems:
- A clipboard read per visible setting per frame is too expensive.
- On Windows, reading the clipboard pumps the system message queue. If a
queued message handler updates `App` while we're still rendering, GPUI
panics with `RefCell already borrowed` (many occurrences observed).
Track the `json_path` of the most recently copied setting locally
instead. The check icon now reflects what was copied in this session via
this UI rather than whatever is on the system clipboard.
While this removes the most common offender, the underlying
`gpui_windows` reentrancy bug still exists: `on_close` /
`on_request_frame` callbacks can be invoked while `App` is already
borrowed on Windows, and can be triggered by any other
clipboard-touching code path. We should consider a follow-up PR that
handles this at the platform layer -- either by deferring callbacks that
re-borrow `App`, or by guarding individual handlers in
`gpui_windows::events` against reentrant `borrow_mut` calls.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- Fixed a crash on Windows that could occur when closing the settings
window
- Improved the overall performance of the settings window
Agus Zubiaga
created
1b88528
agent_ui: Handle Cut for selection mentions (#54694)
Click to expand commit body
Following on from https://github.com/zed-industries/zed/pull/54031,
implement the same but for `Cut`.
Release Notes:
- N/A
Neel
created
8624bf6
git: Fix diff hunks not being removed on restore in remote projects (#54823)
Click to expand commit body
Closes #48032
When restoring a diff hunk, we first unstage it unconditionally. That
unstaging operation is a no-op in terms of the index text if the hunk
was already not staged, but previously we would still always do
`spawn_set_index_text_job` and bump the
`hunk_staging_operation_count_as_of_write`. Bumping that count in turn
causes us to skip a diff recalculation in response to the change in the
buffer's text. That works out fine in the local case, because when the
worktree picks up the write to `.git/index` we kick off another diff
recalculation which is not skipped. But in the remote case, we don't get
an `UpdateDiffBases` proto message if the index text didn't actually
change, so there is no subsequent diff calculation to do the cleanup,
and we end up with a stale no-op hunk.
This PR fixes the issue by skipping the write to the index and the
`hunk_staging_operation_count_as_of_write` bump if the new and old index
texts are the same.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #ISSUE
Release Notes:
- Fixed a bug where restoring diff hunks in remote projects would leave
stale no-op hunks in the UI.
Cole Miller
created
10afe2f
git: Make `git::Commit` do an amend when amending is pending (#54472)
Click to expand commit body
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- The `git::Commit` action (cmd-enter or ctrl-enter) will now commit a
pending amend.
Cole Miller
created
1475248
editor: Extract `fold` and `selection` out of `editor.rs` (#56070)
Click to expand commit body
cc @SomeoneToIgnore
## Summary
Follow-up to #56030
This mechanically extracts two editor topics into focused sibling
modules:
- `crates/editor/src/fold.rs`
- `crates/editor/src/selection.rs`
One odd boundary remains: several selection state types still live in
`editor.rs`. I didn't move them because those caused that "huge 11k
diff" in the previous PR, so I propose to move them later.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Mikhail Pertsev
created
68256f2
git: Add `dev: show git job queue` (#55904)
Click to expand commit body
Adds a command to help debugging stuck git job queues
Release Notes:
- N/A or Added/Fixed/Improved ...
---------
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Cameron Mcloughlin
and
Anthony Eid
created
a6f41d1
Fix sign in disclaimer to accurately show trial benefits (#55964)
Click to expand commit body
Self-Review Checklist:
- [ x] I've reviewed my own diff for quality, security, and reliability
- [x ] Unsafe blocks (if any) have justifying comments
- [x ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x ] Tests cover the new/changed behavior
- [x ] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Experiment with allowing users to manage terminal sessions along with
threads in the sidebar.
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Ben Brandt
and
Bennet Bo Fenner
created
675ed70
Fix multibuffer initialization based on RHS state (#56058)
Click to expand commit body
This update modifies the initialization of the left-hand side
multibuffer in the SplittableEditor. It now checks if the right-hand
side multibuffer is a singleton and uses a
`MultiBuffer::without_headers` instead.
Before Screenshot:
<img width="1624" height="1030" alt="Screenshot 2026-05-07 at 7 30
16 PM"
src="https://github.com/user-attachments/assets/3d963703-309c-42e4-b2be-fe64bd9c0a06"
/>
After Screenshot:
<img width="1624" height="1030" alt="Screenshot 2026-05-07 at 7 32
48 PM"
src="https://github.com/user-attachments/assets/51668319-6a34-47df-b8b1-8bf58b86407e"
/>
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Optimized multibuffer creation by conditionally using headers based on
RHS state.
Sathwik Chirivelli
created
bfe5dfb
gpui_wgpu: Remove redundant match arms for backend priority (#56032)
Click to expand commit body
Release Notes:
- N/A
Xiaobo Liu
created
07c1943
Add telemetry events for agent profile usage and configuration (#56054)
We were incorrectly calling this with a thread handle, additionally
changing the process priority here doesn't make sense, so just drop
this.
Release Notes:
- N/A or Added/Fixed/Improved ...
---------
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>