3333c79
context_menu: Fix certain menu items not reacting to click events (#49557)
Click to expand commit body
Use `Workspace::for_window` instead of `window.root().flatten()`.
https://github.com/user-attachments/assets/3ea6dae3-166d-49e4-9fff-8256e13cc2bf
https://github.com/user-attachments/assets/eb8d9394-5f71-4df6-b0db-c1c8078f1b9a
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 certain context menu items not reacting to click events
Closes #49641
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 panic when authentication failed to bind to lookback port
Conrad Irwin
created
e14f6e7
Respect `ZDOTDIR` environment variable iff set (#49913)
Click to expand commit body
When `ZDOTDIR` is set, `zsh` reads its configuration from that directory
instead of the user’s `$HOME` directory.
| Setup | `ZDOTDIR` set? | Script writes to | Zsh reads from | Match? |
|---|---|---|---|---|
| XDG + `ZDOTDIR` | ✅ | `$ZDOTDIR/.zshrc` | `$ZDOTDIR/.zshrc` | ✅ |
| XDG without `ZDOTDIR` | ❌ | `$HOME/.zshrc` | `$HOME/.zshrc` | ✅ |
| No XDG at all | ❌ | `$HOME/.zshrc` | `$HOME/.zshrc` | ✅ |
Ref: https://zsh.sourceforge.io/Intro/intro_3.html
Release Notes:
- N/A
Kunall Banerjee
created
5e14d46
agent: Allow expanding subagent from full header (#49911)
Click to expand commit body
Makes it a bigger click target for the expanded preview.
Release Notes:
- N/A
Ben Brandt
created
d9b7d77
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
67e63ec
git_graph: Add button to open up the commit view (#49910)
Click to expand commit body
This PR adds a button at the bottom of the commit details panel to
quickly open the commit view:
<img width="500" height="806" alt="Screenshot 2026-02-23 at 2 22@2x"
src="https://github.com/user-attachments/assets/770234b2-a46d-4595-9f9e-7af7eeac73be"
/>
---
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
Danilo Leal
created
a3c62de
git_graph: Add some design adjustments (#49899)
Click to expand commit body
- Made hover/active styles, as well as clicks, work for the entire row,
capture the graph element, too (needed to make some manual hover and
other states management to pull that off)
- Used the existing `Chip` component for the branch chip instead of a
local recreation
- Adjusted spacing and sizing of commit detail panel, including button
labels truncation and tooltip content
- Added diff stat numbers for the changed files, to match the commit
view
- Standardized the commit avatar component across the git graph, the
commit view, and the file history view
- Added scrollbar to the changed files uniform list
- Removed author name display redundancy (kept only email)
- Made the commit detail UI have a min-width
<img width="750" height="1964" alt="Screenshot 2026-02-23 at 11 31@2x"
src="https://github.com/user-attachments/assets/d1433bd8-5edb-4829-882b-52b1bffbd6db"
/>
---
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
---------
Co-authored-by: Anthony Eid <anthony@zed.dev>
Danilo Leal
and
Anthony Eid
created
b775e5d
Add a cargo wrapper to report build times (#49632)
Click to expand commit body
This adds `./script/cargo` which is a transparent wrapper around `cargo`
intended for use by internal staff members at Zed.
It:
- adds `--timings` to `cargo build`/`cargo test`/`cargo run`
- saves the output to ZED_DATA_DIR/build-timings
When Zed starts (and you're logged in as a staff member) the
build-timings
directory is uploaded to our existing telemetry stack.
Co-authored-by: Marshall <git@maxdeviant.com>
Release Notes:
- N/A
Conrad Irwin
created
77e68b4
agent: Remove warning for spawn_agent (#49903)
Click to expand commit body
It seems this was working too well and the model wasn't choosing to use
subagents at all.
Release Notes:
- N/A
Ben Brandt
created
911a8d9
docs: Remove broken Linear MCP extension from docs (#48484)
Click to expand commit body
The extension currently does not work, from my own testing. Since Zed
has native support for remote MCPs over HTTP now, Linear can be
configured like this:
```json
{
"linear-remote": {
"url": "https://mcp.linear.app/mcp",
"headers": {
"Authorization": "Bearer <YOUR LINEAR TOKEN>"
}
}
}
```
---
Release Notes:
- N/A
Allow the parent agent to handle cases where the subagent is running on
of context window. Also communicates if it has completely out of
context.
Release Notes:
- N/A
Remove both `git::LoadMoreHistory` and `git::ViewCommitFromHistory`
actions as although both actions were registered in the workspace, they
don't actually have effect when run.
This appears to have been leftover from
https://github.com/zed-industries/zed/pull/42441 , possibly the initial
implementation on how to open a commit and load more commits when the
file history view was open, which is now handled with `Button.on_click`
callbacks instead of relying on actions.
Closes #49288
Release Notes:
- Removed unused git actions – `git: load more history` and `git: view
commit from history`
Use title case everywhere.
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:
- Use title case for UI labels
---------
Signed-off-by: Sakthi Santhosh Anumand <mail@sakthisanthosh.in>
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
Sakthi Santhosh Anumand
and
Kunall Banerjee
created
304951a
agent: Remove timeout for subagent (#49898)
Click to expand commit body
For the last few days, the model has never picked a good timeout value.
It seems they are better at choosing timeouts for bash commands but not
agents. Given there are some rate limits involved, I think it is hard to
estimate and we already have an upper bound of execution which is the
context window to keep it from going indefinitely.
Release Notes:
- N/A
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
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner
and
Ben Brandt
created
a19bd28
extension_ci: Allow some more time for tests job (#49900)
Click to expand commit body
Gives the compilation in a repository with a few more grammars some more
time to run. Also adds the Rust cache which might be utilized here
during Rust compilation.
Release Notes:
- N/A
Finn Evers
created
4cdf291
Avoid some false positives for "closed bugs w/comments" board (#49896)
Click to expand commit body
More precisely, the name of the GitHub project board in question is
“Closed bugs with new comments”, and since GitHub seems to do the
closing and the commenting separately (and, crucially for this
automation, in that order) when the closer uses the “Close with comment”
functionality, we want to skip the comments added within 30 seconds
after the closing.
Release Notes:
- N/A
While testing the OpenAI compatible endpoint, it didn't work, so after a
bit of digging I found out it actually expects the completions endpoint
instead. So I changed the description accordingly.
Maybe this is a bug in the implementation instead and the description
should be correct.
Marek Vrbka
created
7d87145
livekit_client: Spawn audio input with high priority (#49887)
Click to expand commit body
Use `BackgroundExecutor::spawn_with_priority(Priority::RealtimeAudio,
fut)` to spawn the audio input thread with correct thread priority much
like we do for audio output. Under-the-hood, `spawn_with_priority +
Priority::RealtimeAudio` boils down to calling `std::thread::spawn` and
setting appropriate thread priority.
Release Notes:
- N/A
Jakub Konka
created
ea0c55b
text: Swap `anchor_range_between` and `anchor_range_around` (#49888)
Click to expand commit body
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 ...
Add a script that classifies open and closed issues that the duplicate
bot commented (or not commented) on and puts them into the appropriate
columns of the dedicated github project board. Add a workflow that calls
that script for every closed issue and also on a schedule (that's for
the open ones).
If you're reading this some time way later and there's no bot running
around the repository leaving comments like “This issue appears to be a
duplicate of...”, you can delete these files.
Release Notes:
- N/A
- Use git panel icons to show a changed file's state
- Centered avatar at top and move close button to top right
- Made changed file list scrollable
- clicking on a file open's it's historic commit view
- Note: The commit view doesn't fully populate the multibuffer, will fix
this in a different PR because it involves updating the commit view
interface to add more functionality
## Before
<img width="602" height="1704" alt="image"
src="https://github.com/user-attachments/assets/75a12fff-8a6a-4d0f-90dd-544adb0c2814"
/>
## After
<img width="227" height="856" alt="Screenshot 2026-02-23 at 1 23 45 PM"
src="https://github.com/user-attachments/assets/244cc9f3-e94d-4cc6-ac46-80fe70a619ff"
/>
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
Anthony Eid
created
1240fd1
git_graph: Allow cancelling active selection via keyboard (#49836)
Click to expand commit body
This PR allows you to cancel an active selectio inside the git graph via
a keyboard shortcut.
https://github.com/user-attachments/assets/f84218c3-5a92-4d9d-b089-4946559d50d0
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
852d6a7
Fix regression for windows-gnu build in audio (#49844)
Maksim Bondarenkov
created
aa93405
gpui: Read thermal state from window handle (#49847)
Click to expand commit body
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
Marco Mihai Condrache
created
84b1de6
editor: Store folds by file path for persistence across tab close (#47698)
Click to expand commit body
## Summary
Extends #46011 to make folds survive tab close and workspace cleanup.
- Adds `file_folds` table keyed by `(workspace_id, path)` instead of
`editor_id`
- Follows the `breakpoints` table pattern in
`workspace/src/persistence.rs`
- Includes backwards-compatible migration from `editor_folds` on first
read
cc @Veykril - you reviewed the original fold persistence PR, this
extends it to handle the tab-close case.
## Problem
Folds stored by `editor_id` get deleted when:
1. User closes a tab
2. Tab is removed from workspace serialization
3. On next Zed start, `cleanup()` deletes editor rows not in
`loaded_items`
4. `ON DELETE CASCADE` wipes associated folds
5. User manually reopens file → folds gone
This is especially painful for PKM/notes workflows where folds represent
permanent document structure (collapsed sections, reference blocks,
etc).
## Solution
Store folds by file path, not editor ID. The `breakpoints` table already
proves this pattern works in Zed - breakpoints persist across tab close
because they're keyed by path.
## Migration
The PR includes backwards-compatible migration: reads from `file_folds`
first, falls back to `get_editor_folds()`, and migrates old data on
first read. Happy to remove this if you'd prefer a clean break - I'd
delete `get_editor_folds()`, remove the fallback logic in
`read_metadata_from_db()`, and add a `DROP TABLE IF EXISTS editor_folds`
migration. Users would lose any folds saved before the update.
## Test Plan
- [x] Unit test for `file_folds` queries in `persistence.rs`
- [x] Manual test: Open file → fold → close tab → quit Zed → reopen →
manually open file → folds restored
Release Notes:
- N/A
Co-authored-by: Hector <hector@cyberneticwilderness.com>
Brandt Weary
and
Hector
created
4325520
recent_projects: Fix remote reconnect when server is not running (#49834)
Click to expand commit body
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.
Filipe Azevedo
created
450c66c
ep: Add a parameter to sample at most N near-duplicates (#49870)
Click to expand commit body
Duplicates are defined as cursor positions that have an approximate
Jaccard similarity greater than 0.5 (over token 5-grams).
From the resulting clusters of near-duplicates, we select up to N
examples that are maximally different from each other.
Release Notes:
- N/A
Oleksiy Syvokon
created
67d9e7d
ep: Fix teacher parser and other fixes (#49863)
Click to expand commit body
Release Notes:
- N/A
Oleksiy Syvokon
created
d54a262
languages: Add syntax highlighting for HTML character references (#48629)
Click to expand commit body
HTML character references like `·`, `'`, and `{` are
correctly parsed by tree-sitter as named nodes
(`html_character_reference` in TSX/JavaScript, `entity` in HTML), but no
highlight query captures them. This means they render as plain,
unhighlighted text in the editor.
This PR adds one-line highlight captures for each:
- **TSX** (`crates/languages/src/tsx/highlights.scm`):
`(html_character_reference) @string.special`
- **JavaScript** (`crates/languages/src/javascript/highlights.scm`):
`(html_character_reference) @string.special`
- **HTML** (`extensions/html/languages/html/highlights.scm`): `(entity)
@string.special`
`@string.special` is already styled by all built-in themes (One Dark,
Ayu, Gruvbox, etc.), so no theme changes are needed.
Release Notes:
- Added syntax highlighting for HTML character references (`·`,
`'`, `{`, etc.) in TSX, JavaScript, and HTML files.
This draft PR auto-applies queued documentation suggestions collected
from recently merged PRs.
34 documentation suggestions from merged PRs were processed. See the
commit message for the full list.
Release Notes:
- N/A
---------
Co-authored-by: Katie Geer <katie@zed.dev>
Reverts zed-industries/zed#49778
This seems to have made things much worse in some cases, so I'll have to
think of a different way to fix the original issue.
Release Notes:
- N/A
This PR Fixes a loading performance regresssion inside the git graph.
The main issue is that we always acted on the received repository
events, this is good in 9 out of 10 cases except for the initial loading
phase of the git graph. This is because we invalidate the graph data
every time we receive a `GitStoreEvent::ActiveRepositoryChanged`,
`RepositoryEvent::BranchChanged` or `RepositoryEvent::MergeHeadsChanged`
event this still sounds good, but the caveat is that we receive these 3
events on initial repository loading. This happens when you start up Zed
and is getting the active repository, branch ect. from your project.
When it detects a repository/branch etc. it checks if it has been
changed and emits an event for it. This is always the case for initial
repository loading, because the active repository/branch always start as
**None**. So receive an event for these non actual changes makes the git
graph cancel its initial loading and start fetching again on every
invalidated graph data call.
We fixed this by checking the **scan_id** of the repo to check if the
repo has been initialized, if its bigger then 1 we know we need to
invalidate the data because it was a actual user change instead of a
initial loading event.
**Before** (note you see the loading state twice):
https://github.com/user-attachments/assets/c25bfae1-0e2f-4c8b-a0d0-926acb33adff
**After** (almost instant):
https://github.com/user-attachments/assets/7e4ac116-65a2-4eb6-aa4c-37291d6acd0f
-----
**Before** (switching repositories shows empty commits pane)
https://github.com/user-attachments/assets/71b04285-49e7-47bb-9660-ad53bbf15c46
**After** (switching repositories shows correct graph from the cache)
https://github.com/user-attachments/assets/38c33d93-f592-4440-b63b-567fda0fbeb8
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
---------
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Remco Smits
,
Anthony
, and
Anthony Eid
created
da93e7d
git_ui: Ignore extraneous links in git output (#49817)
Click to expand commit body
Closes #49746
Previously, the `LinkFinder` looked at all of the lines, which sometimes
includes links unrelated to the pull request, like a post quantum
cryptography warning that links to
[this](https://www.openssh.org/pq.html) article.
Release Notes:
- When searching for pull request links in git output, only lines that
start with `remote:` are searched.
Fix applied on nbformat where single line cells are strings.
Closes discussion from
https://github.com/zed-industries/zed/discussions/25936#discussioncomment-15782292.
Relevant PR from nbformat: https://github.com/runtimed/runtimed/pull/259
Release Notes:
- N/A
MostlyK
created
5901d58
editor: Remove redundant clone in `highlight_text` (#49810)
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
- [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
ᴀᴍᴛᴏᴀᴇʀ
created
c8656ac
gpui: Take advantage of unified memory on macOS (#49236)
Click to expand commit body
Third attempt to land this improvement: (#45577, #44273)
The previous PR didn’t work on Intel MacBooks because I made a wrong
assumption about the unified memory check. `has_unified_memory` only
tells us that the CPU and GPU share memory. It does not mean we’re
running on an Apple GPU family.
Memoryless textures are only supported on Apple GPUs. Some Intel Macs
report unified memory, but they don’t support memoryless textures, which
is why the previous change failed there.
So instead of relying on unified memory, we now explicitly check that
we’re running on an Apple GPU family before enabling memoryless
textures.
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:
- Reduced memory usage on macOS
---------
Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
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
Lukas Wirth
created
76c878d
agent: More subagent wordsmithing (#49804)
Click to expand commit body
Now that this is also used for resuming, I think this is clearer what
the input is.
Release Notes:
- N/A
Ben Brandt
created
c22eaa7
editor: Fix bracket highlight flickering when editing (#49797)
Click to expand commit body
Closes #49653
Before you mark this PR as ready for review, make sure that you have:
- [x] screen record added
- [x] Done a self-review taking into account security and performance
aspects
- [x] No UI change
The original `refresh_matching_bracket_highlights` method always
performed a clear --> highlight procedure, even when the bracket
positions hadn't changed, causing the highlights to flicker. Normally,
for single quotes or brackets, the flickering area is small and hard to
notice (though visible if you pay close attention), but for Python
docstrings, the three quotes create a larger highlighted area, making
this issue much more apparent.
After fix:
https://github.com/user-attachments/assets/bcd9b464-0def-438d-86b3-7e6b3779b5c6
Release Notes:
- Fixed bracket highlights flickering when editing inside brackets
After commit ee3f40f, the settings-related visual tests started
panicking. The settings UI code depends on MultiWorkspaces, so changing
these tests appropriately fixes the panics.
Closes #49659
Release Notes:
- N/A
This PR updates the Mistral AI provider icon to better align with
Mistral's branding. The current icon (from 2023) is not fully aligned
with Mistral's visual identity, and this change ensures consistency and
clarity for users.
### Changes Made
- Replaced the Mistral AI provider icon with an updated design to better
reflect Mistral's branding.
### Testing
- **Manual Testing:** Screenshots have been taken to verify the visual
changes. No visual regression testing was performed since this is a
minor icon update.
<img width="306" height="249" alt="Capture d’écran 2026-02-21 à 09 26
44"
src="https://github.com/user-attachments/assets/b6fa568b-66e5-4460-9bf8-88c0c6139c88"
/>
<img width="331" height="249" alt="Capture d’écran 2026-02-21 à 09 12
50"
src="https://github.com/user-attachments/assets/31ed4ffd-0b9a-47f3-92b8-e8eff6f0acb6"
/>
<img width="306" height="249" alt="Capture d’écran 2026-02-21 à 09 12
56"
src="https://github.com/user-attachments/assets/6339bb9e-5824-41e1-bdef-d809e5ac1cf3"
/>
- **Test Coverage:** No additional test coverage is required for this
change, as it is purely visual.
### Checklist
- [x] Added screenshots for manual testing.
- [x] Done a self-review taking into account security and performance
aspects (no impact).
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist).
### Release Notes
- Updated Mistral AI provider icon to align with Mistral's branding.
---
### Additional Notes
- The previous icon (from 2024) was not fully aligned with Mistral's
visual identity. This update ensures consistency.
- Screenshots of the new icon are attached for review.
- Don't enable heap tracing by default since it has a large performance
impact. A separate action that records with heap tracing is available.
- Use in-memory recording rather than file recording, since the latter
seems to cause a lot of dropped stack walks.
- Don't record stack walk data for GPU events to help reduce the trace
size.
Release Notes:
- N/A
John Tur
created
d1cd9fb
Fix certain title bar elements not being interactive on Windows (#49781)
Click to expand commit body
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
John Tur
created
9e0c5f4
diagnostics: Fix typo in toolbar controls (#49779)
Click to expand commit body
Release Notes:
- Fixed typo in stop diagnostics update tooltip.
Previously, `didChangeWatchedFiles` registrations triggered a rebuild of
a single `GlobSet` containing all file watch patterns for the language
server. This means that, each time `didChangeWatchedFiles` is
registered, the work it takes to construct the `GlobSet` increases. This
quadratic blowup caused massive lag with language servers which register
thousands of watched files (like Roslyn).
Instead, create one `GlobSet` per registration and try matching them
one-by-one each time a file watcher event is raised.
---
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:
- Optimized performance for language servers which register many
file-watching notifications.
John Tur
created
57725ca
title_bar: Show organization plans (#49769)
Click to expand commit body
This PR updates the organization selector to also show the plan that is
available through each organization.
Also makes the `plan` method on the `UserStore` return the plan for the
current organization, if it exists.
We aren't yet populating the `plans_by_organization` collection.
Release Notes:
- N/A