Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
0ca7359
Use a separate feature flag for EP jumps than for zeta2 (#50041)
Click to expand commit body
This allows us to enable zeta2 for certain end users without opting them
into the still-in-development jumps feature.
Release Notes:
- N/A
Max Brunsfeld
created
0898bc1
zeta2: Use editable range returned by cloud for prediction diffs (#50029)
Click to expand commit body
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Co-authored-by: Max <max@zed.dev>
Ben Kunkle
and
Max
created
90ffc25
zeta: Consolidate logic for picking region sizes, use larger editable region (#49921)
Click to expand commit body
This will not affect how Zeta 2 behaves in production until we update
Cloud to pull in the changes to the `zeta_prompt` crate. But from some
early testing, it seems to improve behavior, not worsen it, even though
the editable region size differs from the currently-deployed model's
training data.
Release Notes:
- N/A
---------
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Max Brunsfeld
,
Oleksiy Syvokon
,
Ben Kunkle
, and
Zed Zippy
created
35a7756
zeta2: Try not to jump to collaborators as much (#49742)
028b9aa
ep: Fix panic when switching to a non-store provider (#49698)
Click to expand commit body
The `unreachable()` assumption at `queue_prediction_refresh` could be
violated by an async race condition:
1. `request_prediction_internal` spawns an async task
2. The task awaits a prediction request
3. If the prediction returns `None`, it calls `queue_prediction_refresh`
4. Between the time the prediction was initiated (when the provider was
an EP-store provider) and when the async callback runs, the user can
change their edit prediction provider setting to a non-EP-store provider
5. `queue_prediction_refresh` re-reads the settings and hits the
`unreachable!()
Release Notes:
- N/A
Oleksiy Syvokon
created
ae59dec
ep_store: Don't handle project events for non-`EditPredictionStore` providers (#49678)
9cec68e
Allow using Zeta through an arbitrary OpenAI-compatible self-hosted API (#49554)
Click to expand commit body
Release Notes:
- Added the ability to use a self-hosted OpenAI-compatible server for
edit predictions.
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Max Brunsfeld
,
Ben Kunkle
, and
Zed Zippy
created
4dc006d
Seperate throttles for jump and edit based predictions (#49499)
Click to expand commit body
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Ben Kunkle
and
Zed Zippy
created
0721212
acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246) (cherry-pick to stable) (#50252)
Click to expand commit body
Cherry-pick of #50246 to stable
----
## Problem
Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.
For many model switches, the IDs stay the same (`mode`, `model`,
`reasoning_effort`) while the valid values for `reasoning_effort` change
by model. As a result, the picker could show stale values (for example,
missing `xhigh` on `gpt-5.3-codex`, or showing extra `xhigh` after
switching away).
This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.
## Fix
Rebuild ACP config-option selectors on every `config_option_update`, not
only when config IDs change.
This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.
## User Impact
- Reasoning-effort picker now reflects the selected model immediately on
Claude <-> GPT transitions.
- Prevents stale or invalid effort choices in ACP sessions.
## Validation
- Manual validation: switch across models with different
reasoning-effort sets and confirm picker updates immediately.
- Local `cargo check -p agent_ui` remains blocked by unrelated
pre-existing `livekit-protocol` compile errors in this checkout.
## Files Changed
- `crates/agent_ui/src/acp/config_options.rs`
Release Notes:
- acp: Fix for config selectors not always being refreshed
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Nikhil Pandey <nikhil@nikhil.com.np>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
zed-zippy[bot]
,
Nikhil Pandey
, and
Ben Brandt
created
d199e42
Handle empty match list and do safe vector selection instead of slicing (#50232) (cherry-pick to stable) (#50233)
Click to expand commit body
Cherry-pick of #50232 to stable
----
Handles a panic found in telemetry - when there are no template matches
or feature matches, the picker delegate will panic due to an indexing
exception. This solves by:
1. Returning early if there are no matches, and
2. Performing safe vector `get` operations instead of slicing, so we can
handle a not-found scenario.
https://github.com/user-attachments/assets/ac76164d-63aa-4e2b-8555-d8e4f4dd2524
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 potential crash from initializing devcontainer.json
Co-authored-by: KyleBarton <kjb@initialcapacity.io>
zed-zippy[bot]
and
KyleBarton
created
d5d45d5
git: Fix a panic when searching the split diff (#50211) (cherry-pick to stable) (#50215)
Click to expand commit body
Cherry-pick of #50211 to stable
----
This could happen when you initiated a search on the left side, then
toggled into the unified view, then tried to select the next match.
Closes ZED-55G
Release Notes:
- Fixed a panic when toggling the split diff view while searching.
Co-authored-by: Cole Miller <cole@zed.dev>
zed-zippy[bot]
and
Cole Miller
created
a5387dd
git: More rigorously test excerpt syncing for split diff, and fix a couple of bugs (#49907) (cherry-pick to stable) (#50174)
Click to expand commit body
Cherry-pick of #49907 to stable
----
This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.
The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges
Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`
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
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Co-authored-by: Cole Miller <cole@zed.dev>
zed-zippy[bot]
and
Cole Miller
created
1d8bdf6
Fix panic in diff hunk rendering (#50163) (cherry-pick to stable) (#50165)
Click to expand commit body
Cherry-pick of #50163 to stable
----
When `row_infos.is_empty()` (if you have very very tiny editors) we
could
end up trying to read the first item out of it.
Fixes ZED-5AT
Fixes ZED-54F
Fixes ZED-56N
Updates #49260
cc @Veykril
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed a panic rendering diff hunk headers in 0-height editors
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
zed-zippy[bot]
and
Conrad Irwin
created
bda6d60
Fix Zed panicking on invalid ranges in semantic token deltas (#50106) (cherry-pick to preview) (#50112)
Click to expand commit body
Cherry-pick of #50106 to preview
----
Closes ZED-59J
Release Notes:
- Fixed Zed panicking on invalid ranges in semantic token deltas
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
7d79146
thread_view: Add fallback error handling for connect failures (#50063) (cherry-pick to preview) (#50067)
Click to expand commit body
Cherry-pick of #50063 to preview
----
Following up from https://github.com/zed-industries/zed/pull/50061: when
connecting to an ACP adapter fails before any thread is active, errors
would not display in the Agent Panel. Falling back to
`handle_load_error` to show the error UI properly as it already handles
this.
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:
- Added fallback error handling for connect failures in the Agent Panel
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
zed-zippy[bot]
and
Kunall Banerjee
created
a8a046a
recent_projects: Fix remote reconnect when server is not running (#49834) (cherry-pick to preview) (#49871)
Click to expand commit body
Cherry-pick of #49834 to preview
----
Closes https://github.com/zed-industries/zed/issues/49363
When an existing remote workspace's connection is dead (e.g. the server
died and reconnect failed, leaving the client in `ServerNotRunning`
state), `remote_connection()` returns `None`. Previously this caused an
error dialog, blocking reconnection β the user had to manually switch to
another project and back to recover.
Now the code falls through to establish a fresh connection instead,
matching the previous behavior where clicking "Reconnect" would just
work.
Release Notes:
- Fixed remote reconnect failing with an error when the server is not
running, now establishes a fresh connection instead.
Co-authored-by: Filipe Azevedo <filipe@azevedo.io>
80fcdff
Fix a panic in can_resolve when the excerpt id is unknown
Click to expand commit body
Cherry-pick of #50052
Conrad Irwin
created
244d015
agent_server_store: Broaden Windows asset detection to all architectures (#50061) (cherry-pick to preview) (#50062)
Click to expand commit body
Cherry-pick of #50061 to preview
----
Previously only `x86_64` Windows used ZIP archives, but ARM64 Windows
builds also use ZIP format.
Closes #50039.
> [!NOTE]
> The P1 is two-fold: the user cannot download the ZIP file on Windows
ARM. BUT -- the Agent Panel is stalled because of that. This ONLY makes
it so that the ZIP download doesnβt fail, but if for some reason the
download fails, the panel is genuinely stuck with no recovery path.
Every restart attempts the same download, hits the same GZIP error, and
silently drops it again.
Before you mark this PR as ready for review, make sure that you have:
- [ ] 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:
- Broaden Windows asset detection to all architectures
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
zed-zippy[bot]
and
Kunall Banerjee
created
869f81a
Fix a panic when git askpass triggers during commit (#50057) (cherry-pick to preview) (#50059)
Click to expand commit body
Cherry-pick of #50057 to preview
----
Fixes ZED-597
Release Notes:
- Fixed a panic when the askpass dialogue opened while committing.
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
zed-zippy[bot]
and
Conrad Irwin
created
2b471a5
Fix panic in copilot (#50056) (cherry-pick to preview) (#50058)
Click to expand commit body
Cherry-pick of #50056 to preview
----
Fixes ZED-599
register_buffer() only sometimes registers the buffer
Release Notes:
- Fixed a panic in Copilot completions
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
zed-zippy[bot]
and
Conrad Irwin
created
d213b64
Fix panic in message editor paste (#50051) (cherry-pick to preview) (#50055)
Click to expand commit body
Cherry-pick of #50051 to preview
----
Fixes ZED-4KY
Release Notes:
- Fixed a panic when pasting into the agent UI
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
zed-zippy[bot]
and
Conrad Irwin
created
650347d
Fix panic when folding immediately after a tab (#49920) (cherry-pick to preview) (#50054)
Click to expand commit body
Cherry-pick of #49920 to preview
----
fixes ZED-57B
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed a (rare) panic when a fold was created immediately following a
tab character
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
zed-zippy[bot]
and
Conrad Irwin
created
8356db4
Fix panic in breadcrumbs (#49930) (cherry-pick to preview) (#50053)
Click to expand commit body
Cherry-pick of #49930 to preview
----
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Fixes
https://zed-dev.sentry.io/issues/7286512714/?project=4509715135987712&query=is%3Aunresolved&referrer=issue-stream
Release Notes:
- Fix (rare) panic when breadcrumbs contain newlines
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
4e34c73
Defer wgpu context creation until we have a surface (#49926)
Click to expand commit body
Fixes ZED-54X
Release Notes:
- Linux: wait to request a graphics context until we have a window so we
can (ideally) pick a better context or (less ideally) fail more
gracefully.
---------
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Conrad Irwin
and
Zed Zippy
created
a42915b
Fix panic in inlay hints (#49994) (cherry-pick to preview) (#50016)
Click to expand commit body
Cherry-pick of #49994 to preview
----
We were resolving inlay hints against an old snapshot, which
occasionally led to panics
Co-Authored-By: Cole <cole@zed.dev>
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed a (rare) panic in inlay hints
Co-authored-by: Cole <cole@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Cole <cole@zed.dev>
zed-zippy[bot]
,
Conrad Irwin
, and
Cole
created
047cad8
editor: Prevent panic when attempting to resolve a breakpoint anchor against the wrong buffer (#49893) (cherry-pick to preview) (#50005)
Click to expand commit body
Cherry-pick of #49893 to preview
----
Closes ZED-4HY
Release Notes:
- Fixed a crash when using breakpoints.
Co-authored-by: Cole Miller <cole@zed.dev>
zed-zippy[bot]
and
Cole Miller
created
84729d1
gpui: Read thermal state from window handle (#49847) (cherry-pick to preview) (#49991)
Click to expand commit body
Cherry-pick of #49847 to preview
----
Should close #49566
Inside `on_request_frame`, itβs conceptually incorrect to update the
application directly. Instead, we should read the thermal state through
the window handle, just like in the rest of the callback. That path uses
`try_borrow_mut` internally, so if the application is already being
updated elsewhere, we can safely skip checking the thermal state for
that frame and retry on the next one.
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Co-authored-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
zed-zippy[bot]
and
Marco Mihai Condrache
created
5624e09
Narrow `.occlude()` call (#49981) (cherry-pick to preview) (#49983)
Click to expand commit body
Cherry-pick of #49981 to preview
----
Release Notes:
- N/A
Co-authored-by: John Tur <john-tur@outlook.com>
zed-zippy[bot]
and
John Tur
created
49c00e8
Fix backward compatibility for v0.0.4 GitHub extension bindings (#49858) (cherry-pick to preview) (#49966)
Click to expand commit body
Cherry-pick of #49858 to preview
----
## Summary
- Route `zed:extension/github` in `since_v0_0_4` to the `since_v0_6_0`
bindings
- Call `latest_github_release` through `since_v0_6_0` for compatibility
with the v0.0.4 extension API
Release Notes:
- Fixed backward compatibility for v0.0.4 extension API GitHub bindings.
Co-authored-by: Felix Zeller <felixazeller@gmail.com>
cb3c3df
Fix bad merge after d9b7d77d7a9c914fbf29d3007db4d550d9e75800
Bennet Bo Fenner
created
4a21935
agent: Fix slow file edits when using Opus 4.6 (#49904)
Click to expand commit body
Fixes a regression introduced in #48545 (reasoning effort selector). We
saw edit file tool calls taking a long time (loading animation was
displayed, no diff) when using Opus 4.6. This was caused by Opus 4.6.
emitting thinking tokens even when the user explicitly disabled thinking
in the UI.
<img width="289" height="67" alt="image"
src="https://github.com/user-attachments/assets/090a99f8-9b07-4d25-9058-3706f9333396"
/>
In addition to the thinking tokens causing overhead, we were slowing
down file editing even more. because changing between
thinking/non-thinking between requests causes the cache to be
invalidated
([docs](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#what-invalidates-the-cache)).
This PR ensures that we inherit the setting for enabling or disabling
thinking from the thread from which the edit tool was called.
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 an issue where editing files was taking a long time when using
Opus 4.6
---------
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Bennet Bo Fenner
and
Zed Zippy
created
71511e1
text: Swap `anchor_range_between` and `anchor_range_around` (#49888) (cherry-pick to preview) (#49890)
Click to expand commit body
Cherry-pick of #49888 to preview
----
These functions had their names swapped accidentally
Follow up to https://github.com/zed-industries/zed/pull/49618
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Cherry-pick of #49803 to preview
----
The binary search insertion scheme in `highlight_text` works fine for
small numbers of elements but does not handle large amounts of ranges
well, as that will cause constant memcpying of the latter half of the
vec. Bracket colorization tends to have a huge amount of entries though,
so this can cause massive lags on the foreground thread. The better
approach here is to just collect all elements and re-sort them once.
Release Notes:
- Reduced mini-stutters occuring due to large amount of bracket
colorization in big buffers and agent diffs
Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot]
and
Lukas Wirth
created
67361ad
Fix certain title bar elements not being interactive on Windows (#49781) (cherry-pick to preview) (#49782)
Click to expand commit body
Cherry-pick of #49781 to preview
----
https://github.com/zed-industries/zed/pull/48330 caused the title bar to
start eating input events below these controls. We should find a way to
make the title bar handling less busted, but this will do for now.
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
Release Notes:
- N/A
Co-authored-by: John Tur <john-tur@outlook.com>
15107f5
git: Fix panic when unstaged diff is recalculated before its primary diff (#49753) (cherry-pick to preview) (#49767)
Click to expand commit body
Cherry-pick of #49753 to preview
----
For inverted diff APIs like `hunks_intersecting_base_text_range`, we
need a snapshot of the main buffer to use as context to compare hunk
anchors, convert anchors to points, etc. Previously, we were always
using a snapshot of the main buffer at the time when the diff was
calculated. This worked well for the hunks of the primary `BufferDiff`,
but it's not valid when the diff also has a secondary set of hunks,
because those hunks are recalculated on their own schedule--so it's
possible for the hunks of the secondary diff to contain anchors that are
newer than the original buffer snapshot that was taken at the time the
primary diff hunks were last calculated. This caused a panic when using
these anchors with the original buffer snapshot.
This PR fixes the issue by using the same approach for inverted diffs as
for non-inverted diffs at the multibuffer level: we take a snapshot of
the main buffer at the time when we snapshot the diff state (including
the diff itself), guaranteeing that that snapshot will be new enough to
resolve all the anchors included in both the primary diff and the
secondary diff.
Closes ZED-54J
Release Notes:
- Fixed a panic that could occur when using the branch diff in split
view mode.
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
zed-zippy[bot]
,
Cole Miller
, and
Antonio Scandurra
created
a81f96d
git: Prevent panic when updating excerpts in split diff (#49725) (cherry-pick to preview) (#49729)
Click to expand commit body
Cherry-pick of #49725 to preview
----
When using the split view, if the project diff inserts excerpts for the
same buffer using two different `PathKey`s, we panic inside
`LhsEditor::update_path_excerpts_from_rhs` because of an implicit
assumption that `excerpts_for_path()` and `excerpts_for_buffer()` return
the same number of values. This PR addresses that by ignoring any
excerpts for the given buffer that have a different path key from the
provided one.
Release Notes:
- Fixed a crash when using the split diff view.
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Eric <eric@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Eric <eric@zed.dev>
zed-zippy[bot]
,
Cole Miller
,
Jakub Konka
, and
Eric
created
e2097a4
Fix stale folded buffers in split diff view (#49699)
Click to expand commit body
When a buffer is folded in the split diff view and then removed from the
multibuffer (via `remove_excerpts_for_path`), the block map's
`folded_buffers` set retains a stale entry for that buffer ID. Later,
when the split view syncs folded state from the RHS display map to the
LHS, it tries to look up the companion mapping for this stale buffer and
fails because the companion no longer tracks a buffer that's been
removed from the multibuffer.
This originally caused a panic via `.expect()`. This PR:
1. Converts the panic into graceful handling by skipping unmapped
buffers.
2. Actively removes stale entries from `folded_buffers` so they don't
persist as ghost state β ensuring that if the same buffer is later
re-added, it won't incorrectly appear as folded.
3. Adds a regression test covering the full lifecycle: fold β remove β
split β re-add β assert both LHS and RHS report the buffer as not
folded.
Release Notes:
- Fixed a crash in split diff view when a folded buffer was removed and
re-added.
Antonio Scandurra
created
6b1d6f3
agent_ui: Fix panic in load/copy thread to/from clipboard (#49694) (cherry-pick to preview) (#49695)
Click to expand commit body
Cherry-pick of #49694 to preview
----
Fixes ZED-4VW
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Co-authored-by: Lukas Wirth <lukas@zed.dev>