2beefc8
Fix gemini model token limits (#29584)
Click to expand commit body
Release Notes: - N/A
Michael Sloan created
2beefc8
Fix gemini model token limits (#29584)
Release Notes: - N/A
Michael Sloan created
5092f0f
collab: Sync model request overages to Stripe (#29583)
This PR adds syncing of model request overages to Stripe. Release Notes: - N/A
Marshall Bowers created
3a212e7
Fix data loss when project settings opened with ".zed" in `file_scan_exclusions` (#29578)
Closes #28640 Before creating an entry for a file opened with `open_local_file`, make sure it doesn't exist, in addition to checking that it isn't already tracked in the workspace Release Notes: - Fixed an issue where the project settings file would be truncated when opened with `zed: open project settings` if the ".zed" directory was excluded from the files scanned in a workspace (in "file_scan_exclusions")
Ben Kunkle created
4dc8ce8
ollama: Add Qwen3 and Gemma3 (default to 16K context) (#29580)
If you have the VRAM you can increase the context by adding this to your
settings.json:
```json
"language_models": {
"ollama": {
"available_models": [
{ "max_tokens": 65536, "name": "qwen3", "display_name": "Qwen3-64k" }
]
}
},
```
Release Notes:
- ollama: Add support for Qwen3. Defaults to 16K token context. See:
[Assistant Configuration
Docs](https://zed.dev/docs/assistant/configuration#ollama-context) to
increase.
Peter Tripp created
2cc5a0d
zed_extension_api: Fork new version of extension API (#29579)
This PR forks a new version of the `zed_extension_api` in preparation for new changes. Release Notes: - N/A
Marshall Bowers created
bc665b2
Ensure thread's model is initialized once settings are loaded
Also, avoid showing token threshold warning when thread has no model. Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld and Michael Sloan created
17903a0
Associate each thread with a model (#29573)
This PR makes it possible to use different LLM models in the agent panels of two different projects, simultaneously. It also properly restores a thread's original model when restoring it from the history, rather than having it use the default model. As before, newly-created threads will use the current default model. Release Notes: - Enabled different project windows to use different models in the agent panel - Enhanced the agent panel so that when revisiting old threads, their original model will be used. --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Max Brunsfeld and Richard Feldman created
5102c4c
gpui: Fix markdown wrapped background not correctly rendering (#29571)
Closes #29532 Fixes case where the markdown background was not rendering correctly. This regression was introduced in https://github.com/zed-industries/zed/pull/26454. <img src="https://github.com/user-attachments/assets/1e64930f-c98e-4042-a20e-46eed03293d6" alt="image" width="400" /> Release Notes: - Fixed an issue where markdown code blocks did not wrap correctly.
Smit Barmase created
2139219
editor: Fix selection and bracket pair highlight not appearing on collab updates (#29558)
This PR fixes bug where selection and bracket pair highlights would not update when new text was added via collab. Release Notes: - Fixed an issue where selection and bracket pair highlights would not update when new text was added via collab. --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Smit Barmase and Ben Kunkle created
9abeedf
collab: Rename symbols for existing Stripe synchronization (#29570)
This PR renames the symbols for the existing Stripe synchronization. This will make things clearer once the new synchronization job for the new billing is added. Release Notes: - N/A
Marshall Bowers created
1d7c86b
Simplify the SerializableItem::cleanup implementation (#29567)
Release Notes: - N/A --------- Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Mikayla Maki and Julia Ryan created
1770331
collab: Avoid creating duplicate Stripe customers (#29566)
This PR makes it so we check for an existing Stripe customer by email address before attempting to create a new one. This should avoid the case where we end up creating multiple Stripe customers for the same user. Release Notes: - N/A
Marshall Bowers created
bbe8d6a
agent: Cancel pending in-edit user message upon new message submit (#29565)
Previously, if you clicked on a user message to edit it, and then, while the user message has the editor pending, sent a new message via the textarea, the whole thread would be grayed out because we hadn't dismissed the to-be-edited pending user message. That's now fixed. Release Notes: - agent: Fixed a bug that would make the whole thread be grayed out upon sending a new message while a user message had a pending edit.
Danilo Leal created
bbc6674
Make thread context wait on detailed summary + remove "Summarizing context..." (#29564)
This moves summarization task management out of `context_store`. The code there was draining a Vec of tasks to block on, but this is no longer a good fit for message_editor's context loading. It needs to be able to repeatedly await on the thread summarization tasks involved in the context. Discussed with Danilo, and he thinks it'd be good to remove the current "Summarizing context" anyway since it causes layout shift. If message send is blocked on summarizing, the pulsing context pill is sufficient for now. This UI change made this overall change more straightforward. Release Notes: - N/A
Michael Sloan created
99df119
agent: Include grep-related instructions in the prompt only if the tool is available (#29536)
This change updates the system prompt to conditionally include
`grep`-related instructions based on whether the `grep` tool is enabled.
Implementation details:
1. Add a `has_tool` handlebars helper.
2. Pass the `model` to all locations where the prompt is built.
3. Use `{{#if has_tool "grep"}}` in the system prompt to gate
`grep`-specific instructions.
Testing:
- Unit tests for the `hasTool` helper.
- Unit tests to verify that `grep`-related instructions are included /
omitted from the prompt as appropriate.
- Manual agent evaluation:
- Setup: Asked the Agent "List all impls of MyTrait in the project"
using a custom "No tools" profile (all tools disabled).
- Before the change: The Agent attempted to call `grep`, encountered an
error, then realized the tool was unavailable.
- After the change: The Agent immediately asked to enable a search tool.
Note: in principle, `grep`/`read_file` tool descriptions alone might be
enough, but to confirm this we need more evaluation. If it turns out to
be true, we'll be able to remove grep-specific instructions from the
system prompt and undo this change.
Release Notes:
- N/A
Oleksiy Syvokon created
0e477e7
Less log spam (non git worktrees; saving with no LSP) (#29557)
- See: https://github.com/zed-industries/zed/discussions/29541 - `failed to get git blame data:` occurred whenever opening a file that does not have git blame data and with `git.inline_blame.enabled` = true (the default). Notably this would be triggered whenever you opened your settings or keymap (unless ~/.config/zed was git managed). - `No language server found to format buffer` triggered whenever you saved a buffer with `format_on_save` (the default for most languages) but had no LSP configured for this file type (e.g. Plain Text). Release Notes: - N/A
Peter Tripp created
0afb980
Move Show Code Actions lower in editor context menu (#29556)
The 'Go to Definition' action is more commonly used. Release Notes: - N/A
Max Brunsfeld created
d360f77
debugger: Fix bug where args from debug config weren't sent to adapters (#29445)
I added some tests to ensure that this regression doesn't happen again. This also fixes the cargo test locators, debugging all tests in a module instead of just the singular test a user selects. Release Notes: - N/A
Anthony Eid created
92b9bc5
format: Minor logging improvements (#29554)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
ed367e1
vim: Add neovim 0.11 default mappings (#28602)
Update the keymap to include: https://neovim.io/doc/user/news-0.11.html#_defaults This does conflict with `gr` replace with register though, is `gR` a good alternative? Release Notes: - vim: Update the keymap to include: https://neovim.io/doc/user/news-0.11.html#_defaults - vim: Replace with register has been remapped from `gr` to `gR`.
5brian created
b41ffae
Method renaming intended to be included in #29551 (#29553)
`text_hover_view` --> `ContextPillHover::new_text` Release Notes: - N/A
Michael Sloan created
ef33666
linux(x11): Add support for pasting images from clipboard (#29387)
Closes: https://github.com/zed-industries/zed/pull/29177#issuecomment-2823359242 Removes dependency on [quininer/x11-clipboard](https://github.com/quininer/x11-clipboard) as it is in [maintenance mode](https://github.com/quininer/x11-clipboard/issues/19). X11 clipboard functionality is now built-in to GPUI which was accomplished by stripping the non-x11-related code/abstractions from [1Password/arboard](https://github.com/1Password/arboard) and extending it to support all image formats already supported by GPUI on wayland and macos. A benefit of switching over to the `arboard` implementation, is that we now make an attempt to have an X11 "clipboard manager" (if available - something the user has to setup themselves) save the contents of clipboard (if the last copy operation was within Zed) so that the copied contents can still be pasted once Zed has completely stopped. Release Notes: - Linux(X11): Add support for pasting images from clipboard
Ben Kunkle created
cd86905
language_models: Pass up `mode` from the `LanguageModelRequest` (#29552)
This PR makes it so we pass up the `mode` from the `LanguageModelRequest` when interacting with the Zed provider instead of passing a hard-coded value. Release Notes: - N/A
Marshall Bowers created
abb48b7
agent: Improve attached context display and show hovers for symbol / selection / rules / thread (#29551)
* Brings back hover popover of selection context. * Adds hover popover for symbol, rules, and thread context. * Makes context attached to messages display the names / content at attachment time. * Adds the file name as the displayed parent of symbol context. * Brings back `impl Component for AddedContext` Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Michael Sloan and Bennet Bo Fenner created
8afac38
vim: Fix `'t'` motion to start of soft wrapped line (#29303)
Closes #28853 Release Notes: - Fixes `'t'` motion going on top of character that is at the beginning of soft wrapped line instead of before
AidanV created
53b36b3
Update docs around vim's substitute command (#29404)
With the introduction of https://github.com/zed-industries/zed/pull/28138, the current vim docs became stale. This PR makes a small update to the docs to reflect this.
alexfertel created
ce93961
agent: Add "max mode" toggle (#29549)
This PR adds a "max mode" toggle to the Agent panel, for models that support it. Only visible to folks in the `new-billing` feature flag. Icon is just a placeholder. Release Notes: - N/A
Marshall Bowers created
e3c987e
zed: Don't feature-gate `zed: open account settings` action (#29542)
This PR removes the feature-gating of the `zed: open account settings` action, as everyone has access to the account page now. Release Notes: - N/A
Marshall Bowers created
4dc0551
debugger_ui: Show zoom buttons only when the pane is hovered (#29543)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
bf9e5b4
Fix Python builtin type highlighting (#29475)
| Zed 0.183.11 | With this PR |
| --- | --- |
|

|

|
```python
class A:
@classmethod
def list(cls, list: list) -> list:
return list
A.list(list())
A.list(list=list())
A.list(list=list(A.list(list())))
list: list = list()
A.list(list)
A.list(list=list)
A.list(list=A.list(list))
```
Release Notes:
- Improved Python builtin type highlighting
chbk created
cfb8cae
docs: Fix linux crash logs location (#29444)
Release Notes: - N/A
Tuur Vanhoutte created
68e0105
Agent: Include partial output if terminal tool fails (#29115)
This PR addresses the behavior of the agent's terminal tool when the executed command is interrupted or fails after producing some output. Currently, if the command doesn't finish successfully, any partial output captured before the interruption/failure is discarded, and only an error message (or a generic cancellation message) is returned to the LLM. This change modifies the `run_command_limited` function in the terminal tool to catch errors when awaiting the command's status (which includes interruptions). In the case of such an error, it now includes any partial stdout/stderr captured up to that point within the error message returned to the `ToolUseState`. This ensures the LLM receives the partial context even when the command doesn't complete cleanly, framed appropriately as part of an error/interruption message. Closes #29101 Release Notes: - N/A
Mani Rash Ahmadi created
e98e6c7
title_bar: Put plan behind `new-billing` feature flag (#29540)
This PR puts the displaying of the plan in the user menu behind the `new-billing` feature flag instead of the old `zed-pro` feature flag. Release Notes: - N/A
Marshall Bowers created
3a1bd38
reqwest_client: Only register proxies with valid proxy URIs (#27773)
Closes #27641 This PR fixes invalid proxy URIs being registered despite the URI not being a valid proxy URI. Whilst investigating #27641 , I noticed that currently any proxy URI passed to `RequestClient::proxy_and_user_agent` will be assigned to the created client, even if the URI is not a valid proxy URI. Given a test as an example: We create an URI here and pass it as a proxy to `ReqwestClient::proxy_and_user_agent`: https://github.com/zed-industries/zed/blob/main/crates/reqwest_client/src/reqwest_client.rs#L272-L273 In `ReqwestClient::proxy_and_user_agent`we take the proxy parameter here https://github.com/zed-industries/zed/blob/9b40770e9f92a4431fe8f04cbb03b106569606c8/crates/reqwest_client/src/reqwest_client.rs#L46 and set it unconditionally here: https://github.com/zed-industries/zed/blob/9b40770e9f92a4431fe8f04cbb03b106569606c8/crates/reqwest_client/src/reqwest_client.rs#L62 , not considering at all whether the proxy was successfully created above. Concluding, we currently do not actually check whether a proxy was successfully created, but rather whether an URI is equal to itself, which trivially holds. The existing test for a malformed proxy URI https://github.com/zed-industries/zed/blob/9b40770e9f92a4431fe8f04cbb03b106569606c8/crates/reqwest_client/src/reqwest_client.rs#L293-L297 does not check whether invalid proxies cause an error, but rather checks whether `http::Uri::from_static` panics on an invalid URI, [which it does as documented](https://docs.rs/http/latest/http/uri/struct.Uri.html#panics). Thus, the tests currently do not really check anything proxy-related and invalid proxies are assigned as valid proxies. --- This PR fixes the behaviour by considering whether the proxy was actually properly parsed and only assigning it if that is the case. Furthermore, it improves logging in case of errors so issues like the linked one are easier to debug (for the linked issue, the log will now include that the proxy schema is not supported in the logs). Lastly, it also updates the test for a malformed proxy URI. The test now actually checks that malformed proxy URIs are not registered for the client rather than testing the `http` crate. The update also initially caused the [test for a `socks4a` proxy](https://github.com/zed-industries/zed/blob/9b40770e9f92a4431fe8f04cbb03b106569606c8/crates/reqwest_client/src/reqwest_client.rs#L280C1-L282C50) to fail. This happened because the reqwest-library introduced supports for `socks4a` proxies in [version 0.12.13](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md#v01213). Thus, this PR includes a bump of the reqwest library to add proper support for socks4a proxies. Release Notes: - Added support for socks4a proxies. --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Finn Evers and Peter Tripp created
8a69d25
Fix a bug in `blob-store.sh` (#29537)
This will overwrite the `acl` parameter that we pass in Release Notes: - N/A
张小白 created
bf30bea
Honor default_mode in NormalBefore (#29518)
Addresses [this](https://github.com/zed-industries/zed/pull/28103#issuecomment-2832038415) comment. Release Notes: - Improved default helix keybindings
jneem created
2a0be48
agent: Simplify elements of the thread design (#29533)
Namely, this PR removes the layout shift when you click on a user message to edit it and displays the feedback disclaimer only upon hovering the thumbs up/down button container. Release Notes: - N/A
Danilo Leal created
1c4ba07
theme_selector: Don't select last theme when fuzzy searching (#28278)
The theme selector should select the last match to when opening to keep the current theme active but it should select the first when searching to pick the best match. fixes #28081 https://github.com/user-attachments/assets/b46b9742-4715-4c7a-8f17-2c19a8668333 Release Notes: - Fixed selecting the correct theme when searching --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Hendrik Sollich and Peter Tripp created
8a717ab
ollama: Fix build with default features (#29502)
The `ollama` crate has a `use schemars::JsonSchema` statement even when building with default features, which doesn't include the `schemars` crate. Release Notes: - N/A
tidely created
f735c90
agent: Bring title editing back to text threads (#29425)
This also fixes a little UI bug where the text thread title would push the buttons away from the UI when there was still space. Release Notes: - agent: Made text thread titles editable again. --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Danilo Leal and Michael Sloan created
ddfeb20
editor: Show tooltips on breakpoints (#29523)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
9bd0828
agent tools: Make `read_file.end_line` inclusive (#29524)
One motivation is that the outlines returned by `read_file` for large files list line numbers assuming an inclusive `end_line`. As a result, when the agent uses these outlines for `read_line` calls, it would otherwise miss the last line. Release Notes: - N/A
Oleksiy Syvokon created
4dff47a
Add searchable global tab switcher (#28047)
resolves #24655 resolves #23945 I haven't yet added a default binding for the new command. #27797 added `:ls` and `:buffers` which in my opinion should use the global searchable version given that that matches the vim semantics of those commands better than just showing the tabs in the local pane. There's also a question of what to do when you select a tab from another pane, should the focus jump to that pane or should that tab move to the currently focused pane? For now I've implemented the former. Release Notes: - Added `tab_switcher::ToggleAll` to search open tabs from all panes and focus the selected one. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Julia Ryan and Conrad Irwin created
52eef3c
editor: Fix inconsistent relative indent when using tab with multi cursors (#29519)
Do not insert hard/soft tabs for cursors at the suggested indent level if any other cursor lies before the suggested indent level. This PR brings us one step closer to fixing https://github.com/zed-industries/zed/issues/26157. Before: https://github.com/user-attachments/assets/8fd5cde4-99f4-4363-9292-5da8dadab658 After: https://github.com/user-attachments/assets/17c9f8ca-5842-452b-8665-7c7138d50162 Release Notes: - Fixed an issue where using tab with multiple cursors would result in inconsistent relative indentation across lines.
Smit Barmase created
f060918
zed: Remove unnecessary clones (#29513)
`App::http_client` and `Client::http_client` both return an owned `Arc` which it clones internally. This means we can remove unnecessary clones when calling these methods. Release Notes: - N/A
tidely created
609c528
Refactor markdown formatting utilities to avoid building intermediate strings (#29511)
These were nearly always used when using `format!` / `write!` etc, so it makes sense to not have an intermediate `String`. Release Notes: - N/A
Michael Sloan created
6db974d
docs: TOML LSP (Taplo) requires a manual restart to apply changes (#29504)
Add note about manual restart Remove taplo LSP settings example (broken) Release Notes: - N/A
Peter Tripp created
60ec55b
Use `u64` instead of `usize` in `ElementId` (#29493)
Truncation to a 32 bit `usize` could cause two distinct IDs to be considered the same element. Release Notes: - N/A
Michael Sloan created
bb7a5b1
[WIP] markdown: Add a test to reproduce the parser's panic (#29479)
Backtrace of the panic in the Agent pane:
```
Thread "<unnamed>" panicked with "called `Option::unwrap()` on a `None` value" at crates/markdown/src/parser.rs:264:55
https://github.com/zed-industries/zed/blob/3fdbc3090d2cc5c2e24014009cccbe5e7c55d217/src/crates/markdown/src/parser.rs#L264 (may not be uploaded, line may be incorrect if files modified)
0: zed::reliability::init_panic_hook::{{closure}}
at /home/silver/develop/zed/crates/zed/src/reliability.rs:56:29
1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/alloc/src/boxed.rs:1990:9
std::panicking::rust_panic_with_hook
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:839:13
2: std::panicking::begin_panic_handler::{{closure}}
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:697:13
3: std::sys::backtrace::__rust_end_short_backtrace
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/backtrace.rs:168:18
4: rust_begin_unwind
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:695:5
5: core::panicking::panic_fmt
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:75:14
6: core::panicking::panic
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:145:5
7: core::option::unwrap_failed
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:2015:5
8: core::option::Option<T>::unwrap
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:978:21
markdown::parser::parse_markdown
at /home/silver/develop/zed/crates/markdown/src/parser.rs:264:37
9: markdown::Markdown::parse::{{closure}}
at /home/silver/develop/zed/crates/markdown/src/markdown.rs:282:51
10: <core::pin::Pin<P> as core::future::future::Future>::poll
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/future.rs:124:9
11: async_task::raw::RawTask<F,T,S,M>::run
at /home/silver/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:557:17
12: async_task::runnable::Runnable<M>::run
at /home/silver/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/runnable.rs:781:18
13: gpui::platform::linux::dispatcher::LinuxDispatcher::new::{{closure}}::{{closure}}
at /home/silver/develop/zed/crates/gpui/src/platform/linux/dispatcher.rs:44:25
14: std::sys::backtrace::__rust_begin_short_backtrace
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18
15: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:559:17
16: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272:9
17: std::panicking::try::do_call
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:587:40
18: __rust_try
19: std::panicking::try
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:550:19
std::panic::catch_unwind
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:358:14
std::thread::Builder::spawn_unchecked_::{{closure}}
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30
20: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /home/silver/.rustup/toolchains/1.86-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
21: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/alloc/src/boxed.rs:1976:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/alloc/src/boxed.rs:1976:9
std::sys::pal::unix::thread::Thread::new::thread_start
at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/sys/pal/unix/thread.rs:106:17
22: start_thread
at ./nptl/pthread_create.c:447:8
23: clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0
Segmentation fault
```
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Oleksiy Syvokon and Conrad Irwin created
1e47dfc
debugger: Improve focus states (#29469)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Piotr Osiewicz created