66ec871
Merge remote-tracking branch 'origin/main' into feat/chatgpt-subscription-provider
Agus Zubiaga created
66ec871
Merge remote-tracking branch 'origin/main' into feat/chatgpt-subscription-provider
Agus Zubiaga created
70d6c2b
git_graph: Show propagated errors from git binary command (#53320)
Based on commit fba49809b39b0f9e58d68e3956f5c24fd47121d7 that I worked with Dino on in PR: #50288 Co-authored-by Dino \<Dino@zed.dev\> 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 ...
Anthony Eid created
4f3e4d2
Stop highlighting selection matches in the search inputs (#53307)
Follow-up of https://github.com/zed-industries/zed/pull/52553 Restores previous search inputs' behavior where no extra highlights were applied. Before: https://github.com/user-attachments/assets/38b6e70c-d5d5-4e06-abec-97d20af44f39 After: https://github.com/user-attachments/assets/6e4b3931-adf0-4c2a-afc3-f3c839fc9add Release Notes: - N/A
Kirill Bulatov created
0de9b55
Save Settings text inputs on blur (#53036)
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Chris Biscardi and Anthony Eid created
c5845ec
Remove notification panel (#50204)
After chat functionality was removed, this panel became redundant. It only displayed three notification types: incoming contact requests, accepted contact requests, and channel invitations. This PR moves those notifications into the collab experience by adding toast popups and a badge count to the collab panel. It also removes the notification-panel-specific settings, documentation, and Vim command. 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: - Removed the notification panel from Zed
Anthony Eid created
4386766
Add query and search options to pane::DeploySearch action (#47331)
Extend the DeploySearch action to accept additional parameters for
configuring the project search from keymaps:
- query: prefilled search query string
- regex: enable regex search mode
- case_sensitive: match case exactly
- whole_word: match whole words only
- include_ignored: search in gitignored files
With this change, the following keymap becomes possible:
```json
["pane::DeploySearch", { "query": "TODO|FIXME|NOTE|BUG|HACK|XXX|WARN", "regex": true }],
```
Release Notes:
- Added options to `pane::DeploySearch` for keymap-driven search
initiation
Jozsef Lazar created
833a015
recent_projects: Make the currently active project visible in the picker (#53302)
This PR improves the recent projects picker in the context of multi-workspace: - The currently active project now appears in the "This Window" section with a checkmark indicator. Clicking it simply dismisses the picker, since there's nothing to switch to. This feels like a better UX because it gives you visual confirmation of where you are. - The remove button is hidden for the current project entry, both in the row and the footer, to prevent accidentally removing the workspace you're actively using. - The "Add to Workspace" button now uses a more descriptive icon (`FolderOpenAdd`) and shows a meta tooltip clarifying that it adds the project as a multi-root folder project. The primary click/enter behavior remains unchanged—it opens the selected project in the current window's multi-workspace. The "Open in New Window" action continues to be available via the icon button or shift+enter. Release Notes: - Improved the recent projects picker to show the currently active project in the "This Window" section with a checkmark indicator.
Danilo Leal created
d3a9d5f
sidebar: Drop test cases (#53315)
Cameron Mcloughlin created
98c17ca
language_models: Refactor deps and extract cloud (#53270)
- `language_model` no longer depends on provider-specific crates such as `anthropic` and `open_ai` (inverted dependency) - `language_model_core` was extracted from `language_model` which contains the types for the provider-specific crates to convert to/from. - `gpui::SharedString` has been extracted into its own crate (still exposed by `gpui`), so `language_model_core` and provider API crates don't have to depend on `gpui`. - Removes some unnecessary `&'static str` | `SharedString` -> `String` -> `SharedString` conversions across the codebase. - Extracts the core logic of the cloud `LanguageModelProvider` into its own crate with simpler dependencies. Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Agus Zubiaga and John Tur created
a856093
sidebar: Fix focus movement while toggling it on and off (#53283)
I was testing out the changes in https://github.com/zed-industries/zed/pull/52730 and realized that the agent panel, when full screen, would be auto-dismissed if I toggled the sidebar off. Turns out this happens because we were "hard-coding" the focus back to the center pane, which was automatically dismissing zoomed items. So, in this PR, I essentially am copying the ModalLayer approach of storing whatever was focused before so we can return focus back to it if possible. Release Notes: - N/A
Danilo Leal created
3ed1c32
editor: Fix diagnostic rendering when semantic tokens set to full (#53008)
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 #50212 There are two unreasonable coupling account for this issue, the coupling of `use_tree_sitter` with `languge_aware` in https://github.com/zed-industries/zed/blob/7892b932795911516f26f3c1c1c72249ed181ba8/crates/editor/src/element.rs#L3820-L3822 and the coupling of `language_aware` with `diagnostics` in https://github.com/zed-industries/zed/blob/7892b932795911516f26f3c1c1c72249ed181ba8/crates/language/src/buffer.rs#L3736-L3746 Because of these couplings, when the editor stops using Tree-sitter highlighting when `"semantic_tokens"` set to `"full"`, it also accidentally stops fetching diagnostic information. This is why error and warning underlines disappear. I’ve fixed this by adding a separate `use_tree_sitter` parameter to `highlighted_chunks`. This way, we can keep `language_aware` true to get the diagnostic data we need, but still decide whether or not to apply Tree-sitter highlights. I chose to fix this at the `highlighted_chunks` level because I’m worried that changing the logic in the deeper layers of the DisplayMap or Buffer might have too many side effects that are hard to predict. This approach feels like a safer way to solve the problem. Release Notes: - Fixed a bug where diagnostic underlines disappeared when "semantic_tokens" set to "full" --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Xin Zhao and Kirill Bulatov created
8292ab4
collab_panel: Make channel items have a fixed height (#53304)
Follow-up to https://github.com/zed-industries/zed/pull/53290 This PR fixes a mistake I pushed before of making the `ListItem`'s height method take pixels instead of a scalable unit like rems. Now, it takes `DefiniteLength` which can house both values, meaning we should be clear to set an explicit height for all of these items while still preserving font-size scaling. Release Notes: - N/A
Danilo Leal created
0bde509
agent_ui: Set max-width for thread view content (#52730)
This PR adds a configurable max-width to the agent panel. This will be particularly useful when opting into an agentic-first layout where the thread will be at the center of the UI (with the panel most likely full-screen'ed, which is why I'm also adding here the button to make it full screen in the toolbar). The default max-width is 850, which is a bit bigger than the one generally considered as a standard (~66 characters wide, which usually sums up to 750 pixels). Release Notes: - Agent: Added a max-width to the thread view for better readability, particularly when the panel is zoomed in.
Danilo Leal created
eaf14d0
gpui: Fix SVG renderer not rendering text when system fonts are unavailable (#51623)
Closes #51466 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: - Fixed mermaid diagrams not showing text in markdown preview by bundling fallback fonts and fixing generic font family resolution in the SVG renderer.
João Soares created
1dc3bb9
Fix pane::RevealInProjectPanel to focus/open project panel for non-project buffers (#51246)
Update how `workspace::pane::Pane` handles the `RevealInProjectPanel` action so as to display a notification when the user attempts to reveal an unsaved buffer or a file that does not belong to any of the open projects. Closes #23967 Release Notes: - Update `pane: reveal in project panel` to display a notification when the user attempts to use it with an unsaved buffer or a file that is not part of the open projects --------- Signed-off-by: Pratik Karki <pratik@prertik.com> Co-authored-by: dino <dinojoaocosta@gmail.com>
Pratik Karki and dino created
9343882
Add fuzzy_nucleo crate for order independent file finder search (#51164)
Closes #14428 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 https://github.com/user-attachments/assets/7e0d67ff-cc4e-4609-880d-5c1794c64dcf - [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: - Adds a new `fuzzy_nucleo` crate that implements order independent path matching using the `nucleo` library. currently integrated for file finder. --------- Signed-off-by: Bhuminjay <bhuminjaysoni@gmail.com> Signed-off-by: 11happy <soni5happy@gmail.com>
Bhuminjay Soni created
9c73164
bedrock: Add new Bedrock models (NVIDIA, Z.AI, Mistral, MiniMax) (#53043)
Add 9 new models across 3 new providers (NVIDIA, Z.AI) and expanded coverage for existing providers (Mistral, MiniMax): - NVIDIA Nemotron Super 3 120B, Nemotron Nano 3 30B - Mistral Devstral 2 123B, Ministral 14B - MiniMax M2.1, M2.5 - Z.AI GLM 5, GLM 4.7, GLM 4.7 Flash 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: - bedrock: Added 9 new models across 3 new providers (NVIDIA, Z.AI) and expanded coverage for existing providers (Mistral, MiniMax)
Shardul Vaidya created
ccb9e60
agent_panel: Add new thread git worktree/branch pickers (#52979)
This PR allows users to create a new thread based off a git worktree that already exists or has a custom name. User's can also choose what branch they want the newly generated worktree to be based off of. The UI still needs some polish, but I'm merging this early to get the team using this before our preview launch. I'll be active today and tomorrow before launch to fix any nits we have with the UI. Functionality of this feature works! And I have a basic test to prevent regressions 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 ... --------- Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Anthony Eid and cameron created
614f67e
markdown_preview: Fix HTML alignment styles not being applied (#53196)
## What This PR Does This PR adds support for HTML alignment styles to be applied to Paragraph and Heading elements and their children. Here is what this looks like before vs after this PR (both images use the same markdown below): ```markdown <p style="text-align: center;"> <a target="_blank" href="https://github.com/"><img width="150" height="150" src="https://upload.wikimedia.org/wikipedia/commons/c/c2/GitHub_Invertocat_Logo.svg"></a> </p> ``` **BEFORE:** <img width="742" height="242" alt="image" src="https://github.com/user-attachments/assets/4ca8b8d9-0606-45f5-8a0e-cafaaac47d97" /> **AFTER:** <img width="1274" height="267" alt="image" src="https://github.com/user-attachments/assets/2c347ce7-75b9-4ef6-9598-b1eda7272ef5" /> ## Notes I used `style="text-align: center|left|right;"` instead of `align="center|right|left"` since `align` has been [deprecated in HTML5](https://www.w3.org/TR/2011/WD-html5-author-20110809/obsolete.html) for block-level elements. The issue this PR solves mentioned that github supports the `align="center|right|left"` attribute, so I'm unsure if the Zed team would want to have parity there. Feel free to let me know if that would be something that should be added, however for now I've decided to follow the HTML5 standard. 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/51062 Release Notes: - Fixed HTML alignment styles not being applied in markdown previews --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Angel P. and Smit Barmase created
ee6495d
collab: Fix UI font size scaling (#53290)
Cameron Mcloughlin created
818991d
tasks_ui: Fix previously used task tooltip (#53104)
Closes #52941 ## Summary - update the task picker delete button tooltip to describe the recently used task entry it removes - keep the change scoped to the inaccurate user-facing copy in the tasks modal ## Testing - cargo test -p tasks_ui Release Notes: - N/A
Saketh created
6f7fab1
http_client: Fix GitHub download unpack failures on some filesystems (#53286)
Disable mtime preservation when unpacking tar archives, as some filesystems error when asked to set it. Follows how [cargo](https://github.com/rust-lang/cargo/blob/1ad92f77a819953bcef75a24019b66681ff28b1c/src/cargo/ops/cargo_package/verify.rs#L59 ) and [uv](https://github.com/astral-sh/uv/blob/0da0cd8b4310d3ac4be96223bd1e24ada109af9e/crates/uv-extract/src/stream.rs#L658) handle it. > Caused by: 0: extracting https://github.com/microsoft/vscode-eslint/archive/refs/tags/release%2F3.0.24.tar.gz to "/Users/user-name-here/Library/Application Support/Zed/languages/eslint/.tmp-github-download-pYkrYP" 1: failed to unpack `/Users/user-name-here/Library/Application Support/Zed/languages/eslint/.tmp-github-download-pYkrYP/vscode-eslint-release-3.0.24/package-lock.json` 2: failed to set mtime for `/Users/user-name-here/Library/Application Support/Zed/languages/eslint/.tmp-github-download-pYkrYP/vscode-eslint-release-3.0.24/package-lock.json` 3: No such file or directory (os error 2) 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
Smit Barmase created
24a6008
repl: Improve iopub connection error messages (#53014)
Coming from #51834, these would be more helpful than just that it failed! 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
MostlyK created
699e34a
Merge remote-tracking branch 'origin/main' into feat/chatgpt-subscription-provider
Richard Feldman created
9aeff59
Address code review: shared OAuth callback server, auth lifecycle fixes, token counting
- Extract OAuth callback server into http_client crate for reuse - HTML-escape oauth_callback_page parameters, add error styling - Update context_server to delegate to shared OAuth callback server - Rewrite openai_subscribed OAuth flow: ephemeral port, browser opens after listener - Add auth_generation counter to prevent stale refresh writes after sign-out - Make do_sign_out awaitable, cancel in-flight work immediately - Distinguish fatal (400/401/403) vs transient (5xx) refresh errors - Clear credentials on fatal refresh, keep on transient - Make authenticate() await initial credential load - Surface auth errors in ConfigurationView UI - Implement real token counting via tiktoken - Add tests for fatal/transient refresh, sign-out during refresh, authenticate-awaits-load
Richard Feldman created
2aa1559
agent_ui: Add padding to markdown output in card layout (#53194)
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 #53191 Release Notes: - Added padding to markdown output when rendered in card layout. Before: <img width="627" height="437" alt="Screenshot 2026-04-01 at 3 32" src="https://github.com/user-attachments/assets/6fbd31f0-80b5-4c63-b9a4-d151bd28cf31" /> After: <img width="666" height="400" alt="Screenshot 2026-04-05 at 4 47 38 PM" src="https://github.com/user-attachments/assets/3128532a-bfcf-4308-aec5-3981201001ab" />
Markos Narinian created
092c705
vim: Fix % for multiline comments and preprocessor directives (#53148)
Implements: [49806](https://github.com/zed-industries/zed/discussions/49806) Closes: [24820](https://github.com/zed-industries/zed/issues/24820) Zeds impl of `%` didn't handle preprocessor directives and multiline To implement this feature for multiline comment, a tree-sitter query is used to check if we are inside a comment range and then replicate the logic used in brackets. For preprocessor directives using `TextObjects` wasn't a option, so it was implemented through a text based query that searches for the next preprocessor directives. Using text based queries might not be the best for performance, so I'm open to any suggestions. Release Notes: - Fixed vim's matching '%' to handle multiline comments `/* */` and preprocessor directives `#if #else #endif`.
Juan Pablo Briones created
46fc693
vim: Add editor setting for changing regex mode default in vim searches (#53092)
Closes #48007 Release Notes: - Added editor setting for changing regex mode default in vim searches Summary: - Based on the report in #48007 and the discussion here https://github.com/zed-industries/zed/pull/48127#issuecomment-3838678903 - There was feedback mentioning that vim-mode needs to default vim-searches to use regex-mode (even when the editor regex-search setting is disabled). However, it was suggested that a vim search setting could be configured to adjust this behaviour. - In this PR a new vim setting was added to change whether vim-searches will use regex-mode by default, so now users can can configure vim-search to not use regex-mode when typing the `/` character (or using the vim search command). Screen Captures: https://github.com/user-attachments/assets/172669fb-ab78-41a1-9485-c973825543c5
Sean Hagstrom created
9c5f3b1
terminal_view: Reset cursor blink on `SendText` and `SendKeystroke` actions (#53171)
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 #53115 Release Notes: - Fixed terminal cursor blink not resetting when navigating with action-bound keys (e.g., alt+left/right on macOS, alt+b/f on Linux) ## Demo ### Before the fix The cursor stays invisible after word-jumping because the blink cycle keeps going without resetting. https://github.com/user-attachments/assets/00dbdba6-d793-4a23-abcc-37887f4d1262 ### After the fix The cursor shows up at the new position right after each word-jump, then blinks again as expected. https://github.com/user-attachments/assets/48d5906c-4899-4f4a-adbd-5908ebea0cfb
João Soares created
3a5dc8e
Restore ACP slash commands when reopening threads (#53209)
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 - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #52239 ## Summary Note - The code in this fix is AI generated. OpenCode ACP chats lost slash-command support after Zed restarted and a thread was reopened. The UI no longer showed `/ for commands`, and slash commands like `/help` were treated as unsupported. ## Root Cause ACP available commands were treated as transient UI state instead of durable thread state. - `AcpThread` handled `AvailableCommandsUpdate` but did not retain the commands on the thread - restored thread views rebuilt `SessionCapabilities` with an empty `available_commands` list - the message-editor placeholder started in the wrong state for restored threads - live command updates could be applied to the wrong thread view ## Fix - persisted `available_commands` on `AcpThread` - restored `SessionCapabilities` from thread state - reused the same command augmentation logic for restore and live update paths - updated live command handling to target the correct thread view - initialized the message-editor placeholder from current command availability - added a regression test for the restore path ## Verification - `cargo test -p agent_ui conversation_view::tests::test_restored_threads_keep_available_commands -- --exact --nocapture` - `./script/clippy -p agent_ui --tests` Release Notes: - Fixed ACP slash commands disappearing after reopening restored threads. --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Yoni Sirote and Ben Brandt created
a018333
Introduce the temporary/retained workspace behavior based on whether the sidebar is open (#53267)
Self-Review Checklist: - [ ] 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
Mikayla Maki created
bc4d25c
lsp: Do not pass in null diagnostic identifiers (#53272)
This fixes a crash with new Preview versions of tsgo after https://github.com/microsoft/typescript-go/pull/3313 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 Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
fb2bff8
Add allow_empty commits, detached worktree creation, and new git operations (#53213)
Extend the git API with several new capabilities needed for worktree archival and restoration: - Add `allow_empty` flag to `CommitOptions` for creating WIP marker commits - Change `create_worktree` to accept `Option<String>` branch, enabling detached worktree creation when `None` is passed - Add `head_sha()` to read the current HEAD commit hash - Add `update_ref()` and `delete_ref()` for managing git references - Add `stage_all_including_untracked()` to stage everything before a WIP commit - Implement all new operations in `FakeGitRepository` with functional commit history tracking, reset support, and ref management - Update existing call sites for the new `CommitOptions` field and `create_worktree` signature Part 1 of 3 in the persist-worktree stack. These are nonbreaking API additions with no behavioral changes to existing code. Release Notes: - N/A --------- Co-authored-by: Anthony Eid <anthony@zed.dev>
Richard Feldman and Anthony Eid created
5bd78e3
sidebar: Fix space not working in archive view's search editor (#53268)
Similar to https://github.com/zed-industries/zed/pull/52444 but now in the archive view's search editor. Release Notes: - N/A
Danilo Leal created
f0df393
Consolidate prompt formatting logic into `zeta_prompt` (#53079)
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 cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - N/A or Added/Fixed/Improved ...
Ben Kunkle created
e2bba55
agent: Fix issue with streaming tools when model produces invalid JSON (#52891)
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
Bennet Bo Fenner created
d2257db
compliance: Initialize compliance checks (#53231)
Release Notes: - N/A
Finn Evers created
ec832ca
rules_library: Fix hover selecting active rule (#53264)
Closes https://github.com/zed-industries/zed/issues/53159 Recently, we changed the behavior of pickers so that hovering matches would also select them. This makes sense for most pickers that are used as "regular" pickers, but we have some in Zed that are not. A great example of one is the rules library, which sort of became way less usable with this behavior. So, this PR introduces a simple bool trait method to the picker so that we can turn this behavior off whenever necessary. The rules library kicks off as the only instance of it being turned off. Release Notes: - Fix navigation within the rules library making it so hovering the sidebar doesn't activate the visible rule.
Danilo Leal created
0d1f225
Show "Sign Out" instead of "Reset Key" for ChatGPT subscription
The default ConfiguredApiCard button label is "Reset Key" which makes sense for API key providers but not for an OAuth session.
Richard Feldman created
2b4901d
workspace: Handle double-click on pinned tab row empty space (#51592)
When `tab_bar.show_pinned_tabs_in_separate_row` is enabled, double-clicking the empty space on the unpinned tab row creates a new tab, but double-clicking the empty space on the pinned tab row does nothing. Add the same `on_click` double-click handler to the pinned tab bar drop target so both rows behave consistently. Release Notes: - Fixed double-clicking empty space in the pinned tab row not opening a new tab when `show_pinned_tabs_in_separate_row` is enabled. --------- Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
mgabor and Joseph T. Lyons created
7adbee0
sidebar: Fix behavior of "Remove Project" button (#53242)
- Fix an issue where the "remove project" button, available in the header's ellipsis menu, wouldn't do anything if the sidebar contained only one project - Fix another issue where attempting to remove a project when the sidebar has more than one project wouldn't actually remove it. This is fixed by cleaning up the project group keys after its been already removed. Release Notes: - N/A
Danilo Leal created
90dfa77
Add tests for credential refresh deduplication
Three tests covering get_fresh_credentials: - test_concurrent_refresh_deduplicates: two concurrent callers with expired credentials only trigger one HTTP refresh call - test_fresh_credentials_skip_refresh: fresh credentials return immediately with no HTTP call - test_no_credentials_returns_no_api_key: missing credentials return the correct error variant
Richard Feldman created
b57ef83
Delegate model capabilities instead of hardcoding them
The into_open_ai_response call was hardcoding supports_parallel_tool_calls=true and supports_prompt_cache_key=false instead of asking the model. This meant reasoning models like GPT-5 Codex variants would incorrectly send parallel_tool_calls=true, which could cause API errors. Add the missing methods to ChatGptModel and delegate like the standard OpenAI provider does.
Richard Feldman created
5e412a0
Remove section separator comments
Richard Feldman created
383b0a7
settings_ui: Recategorize some panel settings (#53243)
Was looking around the panels page in the settings UI and noticed there was a standalone "Auto Open Files" section. That felt a bit out of place because those settings are really project panel-specific. So this PR moves them under the project panels section of the panels page. Release Notes: - N/A
Danilo Leal created
1823be5
agent_ui: Fix "scroll to" buttons (#53232)
Follow-up to https://github.com/zed-industries/zed/pull/53101 In the process of fixing the thread view's scroll experience, we for got to turn off the follow state tail for functions that power the scroll buttons in the agent panel. Release Notes: - N/A
Danilo Leal created
dee4250
dev_container: Preserve build context for docker-compose Dockerfiles (#53140)
When a Docker Compose service specifies a build context, the generated override file was replacing it with an empty context directory. This meant Dockerfiles that reference files relative to their build context (e.g. `COPY . /app`) would fail. The fix preserves the original build context from the compose service, falling back to the empty context directory only when no context was specified. 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 Release Notes: - Fixed docker compose Dockerfile build context not being preserved in dev_container integration. --------- Co-authored-by: KyleBarton <kjb@initialcapacity.io>
Peter Siegel and KyleBarton created
64069d5
Use gpui executor timer instead of disallowed smol::Timer
smol::Timer::after is banned by a project-wide clippy lint. Pass the AsyncApp through to await_oauth_callback so it can use cx.background_executor().timer() instead.
Richard Feldman created
136e91a
Fix a bug where legacy threads would be spuriously opened in a main workspace (#53260)
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
Mikayla Maki created
d1b1f25
git_graph: Fix commit hover misalignment after fractional scrolling (#53218)
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 #53199 Mathematically, `floor(A) + floor(B) != floor(A + B)`. The original code calculated the hovered row by applying `.floor()` to the scrolled offset and local offset separately before adding them together, which incorrectly dropped fractional sub-pixels and caused an off-by-one targeting error. Release Notes: - N/A --------- Co-authored-by: Anthony Eid <anthony@zed.dev>
Xin Zhao and Anthony Eid created