8421009
v0.228.x stable
Joseph T. Lyons created
8421009
v0.228.x stable
Joseph T. Lyons created
ac06c0d
open_ai: Fix tool output for /responses endpoint (#51789) (cherry-pick to preview) (#51791)
Cherry-pick of #51789 to preview ---- We were sending the raw tool debug output as JSON to the model rather than whatever the tool intended as content for the model. Which meant we were sending unneeded information to the model, which matters in the edit tool case. Release Notes: - N/A Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
zed-zippy[bot] and Ben Brandt created
c0de3d4
livekit: Bump livekit version (#51771) (#51781)
Release Notes: - Fixed segfault at runtime on aarch64-linux when running static constructors.
Jakub Konka created
4e95669
agent_ui: Remove special casing for previous built in agents (#51713) (#51718)
Now that the migration has happened, we can stop making these ever present Release Notes: - N/A
Ben Brandt created
5353435
gpui: Fix hash collision panics in ProfilingCollector (#51683) (cherry-pick to preview) (#51690)
Cherry-pick of #51683 to preview ---- Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
7d1ce34
editor: Fix panic in `refresh_inline_values` when spanning cross excerpts (#51685) (cherry-pick to preview) (#51686)
Cherry-pick of #51685 to preview ---- Fixes ZED-5VQ Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
000f5a4
agent_ui: Disable editing and regeneration for subagent messages (#51654) (cherry-pick to preview) (#51658)
Cherry-pick of #51654 to preview ---- We had inconsistent handling of this read-only behavior. Now subagents should behave the same as agents that don't support editing Release Notes: - agent_ui: Fix inconsistent behavior for subagent views when focusing on previous messages. Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
zed-zippy[bot] and Ben Brandt created
20ed6dc
vim: Fix helix select next match panic when search wraps around (#51642) (cherry-pick to preview) (#51649)
Cherry-pick of #51642 to preview ---- Fixes ZED-4YP Sort and deduplicate anchor ranges in do_helix_select before passing them to select_anchor_ranges. When the search wraps past the end of the document back to the beginning, the new selection is at a lower offset than the accumulated prior selections, producing unsorted anchors that crash the rope cursor with 'cannot summarize backward'. Release Notes: - Fixed a panic in helix mode with search selecting wrapping around the document end Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
e114a3a
buffer_diff: Fix panic when staging hunks with stale buffer snapshot (#51641) (cherry-pick to preview) (#51643)
Cherry-pick of #51641 to preview ---- When the buffer is edited after the diff is computed but before staging, anchor positions shift while diff_base_byte_range values don't. If the primary (HEAD) hunk extends past the unstaged (index) hunk, an edit in the extension region causes the overshoot calculation to produce an index_end that exceeds index_text.len(), panicking in rope::Cursor::suffix. Fix by clamping index_end to index_text.len(). This is safe because the computed index text is an optimistic approximation — the real staging happens at the filesystem level via git add/git reset. Closes ZED-5R2 Release Notes: - Fixed a source of panics when staging diff hunks Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
3e70ab7
markdown_preview: Prevent stackoverflows in markdown parsing (#51637) (cherry-pick to preview) (#51639)
Cherry-pick of #51637 to preview ---- Fixes ZED-5TR Release Notes: - Fixed a stack overflow when parsing deeply nested html in markdown files Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
652ceb6
http_client: Fix GitHub downloads failing if the destination path exists (#51548) (cherry-pick to preview) (#51556)
Cherry-pick of #51548 to preview ---- cc https://github.com/zed-industries/zed/pull/45428#issuecomment-4060334728 Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
6a9f9cb
git: Fix commit message generation in untrusted projects and block external diff (#51323) (cherry-pick to preview) (#51492)
Cherry-pick of #51323 to preview ---- When on a untrusted project, if one was to try and use the commit generation functionality, the command would fail because of the `-c diff.external` configuration provided in `GitBinary::build_command`, as git would interpret this as `""` and try to run that command. This `-c diff.external` is a good safeguard to have on untrusted repositories because it prevents random commands, configured in `.git/config` from being run. For example, if one uses `git config diff.external "touch bananas.txt"` and then run `git diff`, a new `bananas.txt` file would be created. However, it was still possible to bypass this safeguard using the following strategy: 1. Specify a custom diff for a specific file format. For example, for markdown files, with `printf '*.md diff=pwned\n' > .gitattributes` 2. Update the command run by the `pwned` diff, for example, `git config diff.pwned.command "touch bananas.txt"` 3. Open Zed and attempt to generate a commit message in an untrusted repository and check that a new `bananas.txt` file was created This is only prevented by using the `--no-ext-diff` flag on the `diff` command, so a new `GitBinary::build_diff_command` has been introduced which simply wraps `GitBinary::build_command` and adds the `--no-ext-diff` flag, if necessary. As a side-effect, this also makes it so that generating a commit message in an untrusted repository works again, which was accidentally broken on https://github.com/zed-industries/zed/pull/50649 . 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 commit message generation in untrusted repositories Co-authored-by: Dino <dinojoaocosta@gmail.com>
zed-zippy[bot] and Dino created
4e9666e
agent: Fix session close capability check (#51479) (cherry-pick to preview) (#51486)
Cherry-pick of #51479 to preview ---- Release Notes: - agent: Fixed an issue where external agents would return an error because unsupported ACP method was called --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev> Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
zed-zippy[bot] , Bennet Bo Fenner , and Bennet Bo Fenner created
bf29e8b
ep: Avoid including collaborator edits in edit history sent to model (#51343) (cherry-pick to preview) (#51428)
Cherry-pick of #51343 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) Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Ben Kunkle <ben@zed.dev>
zed-zippy[bot] and Ben Kunkle created
ee2cf07
project: Fix semantic tokens coloring deleted diff hunks (#51386) (cherry-pick to preview) (#51387)
Cherry-pick of #51386 to preview ---- Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Lukas Wirth <lukas@zed.dev>
zed-zippy[bot] and Lukas Wirth created
7d41a53
git_ui: Fix "resolve with agent" merge conflict notification (#51290)
Follow up to https://github.com/zed-industries/zed/pull/49807 This PR fixes the merge conflict notification by making it appear only once per a given set of conflicted paths, as opposed to showing every time the `ConflictsUpdated` or `StatusesChanged` even would fire. Release Notes: - N/A
Danilo Leal created
5eec7a8
v0.228.x preview
Joseph T. Lyons created
db9d975
agent: Support providers streaming edits out of order (#51286)
Release Notes: - N/A
Bennet Bo Fenner created
8d49131
acp: Update to `0.10.2` (#51280)
Updates to `0.10.2`, most notable change is implementing `session/close`. Release Notes: - N/A
Bennet Bo Fenner created
cbb7982
docs: Allow navigating search results with arrow keys (#50901)
Closes #50604 https://github.com/user-attachments/assets/8a85b39e-e463-4fee-bc1f-2a03fe193ce3 https://github.com/user-attachments/assets/8290bb06-1eaf-4852-9568-97654e30211e ### Results: Now, you can scroll the search results with the arrow keys. ### Suggestion: While this is working, I like to propose some better UX. When you scroll with the arrow keys, the whole search results are scrolling along with the search bar. But, I think it would be better if we keep the search bar fixed on top and only the results scroll. Here is an example: https://github.com/user-attachments/assets/af9dce73-27c6-407b-8180-2f771a85303b If you think this will be better, please let me know, and I will update this PR. Thank you. Release Notes: - Fixed docs search results scrolling with arrow keys --------- Co-authored-by: Gaauwe Rombouts <mail@grombouts.nl>
Abinash and Gaauwe Rombouts created
a540b7c
livekit_client: Always use output device's reported channels num (#51276)
Fixes a panic in livekit's process_reverse_stream for non-matching channel counts, e.g., upmixing 2->4, or downmixing 2->1. Release Notes: - Fixed a panic in livekit when joining a channel using legacy audio using a device with less or more than 2 channels.
Jakub Konka created
0c49aaa
extension_rollout: Fix workflow file path (#51273)
Release Notes: - N/A
Finn Evers created
e5fb57c
extension_rollout: Add incremental rollout (#51264)
This will allow us to test changes against just a subset of extensions. Another advantage is that extension workflows will be pinned, which allows for easier debugging and better predictability. Release Notes: - N/A
Finn Evers created
2c59990
Do not load runnables and diagnostics in git panel (#51270)
Release Notes: - N/A --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Kirill Bulatov and Jakub Konka created
deccb78
agent_ui: Fix thread summarization not working (#51259)
Release Notes: - N/A
Bennet Bo Fenner created
c08fd43
languages: Validate pylsp binary before returning from check_if_user_installed (#51034)
Run `pylsp --version` via `delegate.try_exec()` in both branches of `PyLspAdapter::check_if_user_installed` before returning the binary. If execution fails (broken shebang, missing interpreter, etc.), log a warning and return None so the system falls through gracefully instead of surfacing an error dialog. This matches the existing validation pattern used by TyLspAdapter and RuffLspAdapter in their `fetch_server_binary` implementations. No idea if this closes an issue but it sure was annoying on a system where I deleted the pylsp environment I had. It surprised me too since I had pylsp disabled in settings. Release Notes: - Fixed detection of when `pylsp` is not installed properly on a user's system so that it doesn't get launched as an LSP when it doesn't exist.
Kyle Kelley created
b566631
Move threads sidebar into agent panel (#51241)
* [x] Put back persistence of sidebar open state * [x] when agent panel is docked right, put sidebar on the right side * [x] remove stale entries from `SidebarsByWindow` Release Notes: - N/A --------- Co-authored-by: Eric Holk <eric@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Max Brunsfeld , Eric Holk , Mikayla Maki , and Anthony Eid created
f0e301c
Redact string panics (#51248)
String panics are a non-trivial percentage of the crashes we see at Zed, and doubly unfortunately they may incidentally include the contents of a user's buffer. Although this hasn't happened yet (to my knowledge), I don't want to be in the position of having received sensitive information this way. See also https://github.com/rust-lang/rust/pull/153677 Release Notes: - N/A
Conrad Irwin created
86a7572
ui: Add close and confirm button to breakpoint edit prompt block (#51239)
This fixes a problem with our breakpoint prompt edit component where there was no way through the mouse to close/confirm the edit a user was making. ### Before <img width="2382" height="108" alt="image" src="https://github.com/user-attachments/assets/6ee7e26e-9f90-4c54-8bde-52b5f3084755" /> ### After <img width="1071" height="58" alt="Screenshot 2026-03-11 at 12 16 38 AM" src="https://github.com/user-attachments/assets/8da5b499-90f6-4044-835a-302431ea934f" /> 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: - N/A
Anthony Eid created
e7a6599
ui: Fix end_hover gradient overlay in `ListItem` (#51237)
This PR adds a bool method to the `ListItem` that allows to turn on the gradient overlay in the `end_hover_slot`. Places that are not the sidebar, at least at the moment, don't need it. And with the previous code, they were getting it, which felt wrong. Release Notes: - N/A
Danilo Leal created
b13a8e8
agent_ui: Enable mentioning branch diff with main (#51235)
As a follow up to the possibility of sending the branch diff to an agent review, this PR enables directly @-mentioning the content of your diff with main to the agent. Here's a quick video of it: https://github.com/user-attachments/assets/f27b7287-c9b9-4ccf-875e-4ac6ce4cd8ad Release Notes: - Agent: Enabled mentioning the branch diff with main.
Danilo Leal created
7bf7309
danger: Add a check for changing Collab database schemas (#51234)
This PR adds a Danger check to remind contributors that any database changes for Collab need to be done via a migration in the Cloud repo: <img width="888" height="323" alt="Screenshot 2026-03-10 at 6 39 21 PM" src="https://github.com/user-attachments/assets/5b3bbc3d-1e9d-409a-837b-565e1ca36935" /> Release Notes: - N/A
Marshall Bowers created
51ba321
collab: Update test database schema (#51233)
This PR updates the database schema for Collab tests, along with a warning to not modify the file by hand. Release Notes: - N/A
Marshall Bowers created
38fa78c
ci: Update workflows/scripts for deploying collab to use clang (#51224)
Release Notes: - N/A
Jakub Konka created
9ddaee0
sqlez: Open named in-memory databases as SQLite URIs (#50967)
Closes #51011 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: - N/A *or* Added/Fixed/Improved ...
Danny Milosavljevic created
7132b67
Normalize `line_comments` strings to have a trailing space (#51033)
I did a search for `/^line_comments = .*[^\s\[]"/` to identify these 3 languages: - Git Commit - Go Mod - Go Work that don't add/remove a trailing space for inline comments. I couldn't find any indication that the absence of the trailing space is due to any peculiarity of these languages. --- For Git Commit, I should note that (strictly speaking) the comment character is a single `#` without a trailing space, as Git removes any line starting with the default comment character (`#`) (see https://git-scm.com/docs/git-config#Documentation/git-config.txt-corecommentChar). But I believe this change only affects whether `editor::ToggleComments` adds/removes the space, and not how the file is syntax highlighted. So for aesthetics and consistency, it should be better to add/remove the trailing space. --- 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: - Add/remove a space when toggling inline comments in Git Commit and Go Mod/Work languages
Justin Su created
95aa4f2
git_graph: Add select first & last actions (#50956)
This PR adds support for select first & last actions, as I was missing them badly :). **Example**: https://github.com/user-attachments/assets/709037e6-544c-4891-8f48-7808d556a5a2 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: - N/A
Remco Smits created
e9e7143
Add size to DiskState to detect file changes (#49436)
## Summary This fix addresses the cross-platform root cause identified in issue #38109 where open buffers go stale or empty when external tools write files. ## The Problem The buffer's `file_updated()` method was only comparing `mtime` to determine if a buffer needed to be reloaded. This caused a race condition when external tools write files using `std::fs::write()`, which uses `O_TRUNC` and creates a brief window where the file is 0 bytes: 1. Scanner re-stats → sees 0 bytes, mtime T 2. `file_updated()` sees mtime changed → emits `ReloadNeeded` 3. Buffer reloads to empty, stamps `saved_mtime = T` 4. Tool finishes writing → file has content, but mtime is still T (or same-second granularity) 5. Scanner re-stats → mtime T matches `saved_mtime` → **no reload triggered** 6. Buffer permanently stuck empty ## The Fix Release Notes: - Add the file `size` to `DiskState::Present`, so that even when mtime stays the same, size changes (0 → N bytes) will trigger a reload. This is the same fix that was identified in the issue by @lex00. ## Changes - `crates/language/src/buffer.rs`: Add `size: u64` to `DiskState::Present`, add `size()` method - `crates/worktree/src/worktree.rs`: Pass size when constructing File and DiskState::Present - `crates/project/src/buffer_store.rs`: Pass size when constructing File - `crates/project/src/image_store.rs`: Pass size when constructing File - `crates/copilot/src/copilot.rs`: Update test mock ## Test plan - [ ] Open a file in Zed - [ ] Write to that file from an external tool (e.g., `echo "content" > file`) - [ ] Verify the buffer updates correctly without needing to reload Fixes #38109 --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com> Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Imamuzzaki Abu Salam , Claude Sonnet 4.5 , Ben Kunkle , and Jakub Konka created
074ca4c
Enable diff stats in the git panel by default (#51215)
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 - [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: - Enabled `diff_stats` in the git panel by default.
Joseph T. Lyons created
e4b3c0f
agent: Re-use ACP connections per project (#51209)
Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner and Ben Brandt created
50aef1f
buffer: Reload after undo when file changed while dirty (#51037)
Closes #48697 Supersedes #48698 Related to #38109 ## Problem If you edit a file and an external tool writes to it while you have unsaved changes, Zed tracks the new file but skips the reload to preserve your edits. If you then undo everything, the buffer goes back to clean but still shows the old content. The disk has moved on, but nothing triggers a reload. ## Fix In `did_edit()`, when the buffer transitions from dirty to clean, check if the file's mtime changed while it was dirty. If so, emit `ReloadNeeded`. Only fires for files that still exist on disk (`DiskState::Present`). 7 lines in `crates/language/src/buffer.rs`. ### No double reload `file_updated()` suppresses `ReloadNeeded` when the buffer is dirty (that's the whole bug). So by the time `did_edit()` fires on dirty-to-clean, no prior reload was emitted for this file change. The two paths are mutually exclusive. ## Test plan - New: `test_dirty_buffer_reloads_after_undo` - No regression in `test_buffer_is_dirty` or other buffer tests - All project integration tests pass - clippy clean Release Notes: - Fixed an issue where buffer content could become stale after undoing edits when an external tool wrote to the file while the buffer was dirty. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
lex00 , Claude Opus 4.6 , and Ben Kunkle created
f4b04af
agent: Allow `NativeAgent` to work with multiple projects (#51202)
This removes the assumption that one project <-> one native agent. The native agent now maintains a project per session. We don't make use of this right now, but it will come in handy once we start sharing ACP connections globally. Release Notes: - N/A
Bennet Bo Fenner created
3d36d1f
recent_projects: Fix open project buttons hidden when there are no recent projects (#51207)
Release Notes: - N/A
Smit Barmase created
5712c87
sidebar: Fix project header active state (#51203)
Release Notes: - N/A
Danilo Leal created
b21f4a3
Prevent remote edits from triggering edit predictions when collaborating (#51196)
BufferEvent::Edited had no way to distinguish local edits from remote (collaboration) edits. This caused edit prediction behavior to fire on the guest's editor when the host made document changes. Release Notes: - Fixed edit predictions triggering on collaboration guests when the host edits the document. --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Lukas Wirth and Ben Kunkle created
eae21de
sidebar: Sort threads by created time (#51193)
Release Notes: - N/A
Danilo Leal created
d18e4a7
git: Add SSH support for removing and renaming git worktrees (#50759)
This should be the last step in implementing full git worktree support in the `GitStore`. We still need to add UI for that allows a user to rename a git worktree and, by extension git branches if we use the git picker to do so. Also, I added a helper function called `disallow_guest_request::<T>` to the `Collab::rpc` that is used to specify a proto request isn't allowed to be sent by a guest. This enabled me to add a regression test that checks that a guest isn't allowed to delete a git worktree, without the test hanging forever because it's waiting for the proto server to respond. Since SSH connections send the proto message directly from client to remote host, this won't affect those requests. Before you mark this PR as ready for review, make sure that you have: - [x] Added 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: - git: Add SSH support for removing git worktrees
Anthony Eid created
f18567c
git: Add the ability to resolve merge conflicts with the agent (#49807)
This PR adds a "Resolve with Agent" button in each merge conflict block, as well as "Resolve Conflicts with Agents" button on a notification for resolving conflicts across all the files that have any. When clicking on either of these buttons, the agent panel opens up with a template prompt auto-submitted. For the first case, the specific content of the merge block is already attached as context for the agent to act quickly, given it's a local and small context. For the second case (all conflicts across the codebase), the prompt just indicates to the agent which files have conflicts and then it's up for the agent to see them. This felt like a simpler way to go as opposed to extracting the content for all merge conflicts across all damaged files. Here's how the UI looks like: <img width="550" height="1964" alt="Screenshot 2026-02-21 at 11 04@2x" src="https://github.com/user-attachments/assets/96815545-ba03-40e5-9cb0-db0ce9588915" /> --- 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: - Git: Added the ability to quickly resolve merge conflicts with the agent. --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Danilo Leal , Bennet Bo Fenner , and Zed Zippy created
01e8df4
agent_ui: Fix button to copy the command from terminal calls not appearing (#51191)
Fixes #51048 The "Copy Command" button uses `.visible_on_hover(group)` from GPUI to only appear when the user hovers over its parent container. In `render_collapsible_command` (used to render the code blocks for terminal tool calls like "Run Command"), the parent `v_flex()` container was missing the `.group()` assignment. This caused the copy button to never become visible, which became apparent when an agent session was restored from history. This commit adds `.group(group.clone())` to the root `v_flex()` container in `render_collapsible_command` to restore the hover visibility for the "Copy Command" button. Video : [Screencast from 2026-03-10 18-06-57.webm](https://github.com/user-attachments/assets/ae931ac3-c7f1-4044-a3d8-a91a93d9c3bb) [Screencast from 2026-03-10 18-06-01.webm](https://github.com/user-attachments/assets/5ddb8085-bafe-4e9a-bb02-74e3d860ae1a) Release Notes: - Agent: Fixed an issue where the "Copy Command" button would not appear on hover for terminal tool calls.
Om Chillure created
376d410
ep: Add multi-region format (#51185)
This format generates fewer token while maintaining the quality: ``` Model Generated tokens ↓ DeltaChrF ↑ 0306-seed-multi-regions 46,239 80.62 0304-seed-no-edits 110,871 80.61 0303-seed 271,457 79.62 ``` In addition to the student format, this change adds a new teacher prompt. It seems to be worse than the original, but I haven't optimized it at all. Keeping it for now as a base for potential improvements. Release Notes: - N/A
Oleksiy Syvokon created