cfab93e
Merge branch 'main' into run-command-on-selection-change
Michael Sloan created
cfab93e
Merge branch 'main' into run-command-on-selection-change
Michael Sloan created
fa0df6d
python: Replace pyright with basedpyright (#35362)
Follow-up to #35250. Let's experiment with having this by default on
nightly.
Release Notes:
- Added built-in support for the basedpyright language server for Python
code. basedpyright is now enabled by default, and pyright (previously
the primary Python language server) remains available but is disabled by
default. This supersedes the basedpyright extension, which can be
uninstalled. Advantages of basedpyright over pyright include support for
inlay hints, semantic highlighting, auto-import code actions, and
stricter type checking. To switch back to pyright, add the following
configuration to settings.json:
```json
{
"languages": {
"Python": {
"language_servers": ["pyright", "pylsp", "!basedpyright"]
}
}
}
```
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Cole Miller , Piotr Osiewicz , and Lukas Wirth created
99102a8
ACP over SSH (#37725)
This PR adds support for using external agents in SSH projects via ACP, including automatic installation of Gemini CLI and Claude Code, authentication with API keys (for Gemini) and CLI login, and custom agents from user configuration. Co-authored-by: maan2003 <manmeetmann2003@gmail.com> Release Notes: - agent: Gemini CLI, Claude Code, and custom external agents can now be used in SSH projects. --------- Co-authored-by: maan2003 <manmeetmann2003@gmail.com>
Cole Miller and maan2003 created
5f01f6d
agent: Make read_file and edit_file tool call titles more specific (#37639)
For read_file and edit_file, show the worktree-relative path if there's only one visible worktree, and the "full path" otherwise. Also restores the display of line numbers for read_file calls. Release Notes: - N/A
Cole Miller created
a66cd82
Fix line endings in `terminal_hyperlinks.rs` (#37654)
Fixes Windows line endings in `terminal_hyperlinks.rs`, which was accidentally originally added with them. Release Notes: - N/A
Dave Waggoner created
f07da9d
Correctly parse backslash character on replacement (#37014)
When a keybind contains a backslash character (\\), it is parsed incorrectly, which results in an invalid keybind configuration. This patch fixes the issue by ensuring that backslashes are properly escaped during the parsing process. This allows them to be used as intended in keybind definitions. Release Notes: - Fixed an issue where keybinds containing a backslash character (\\) failed to be replaced correctly ## Screenshots <img width="912" height="530" alt="SCR-20250828-borp" src="https://github.com/user-attachments/assets/561a040f-575b-4222-ac75-17ab4fa71d07" /> <img width="912" height="530" alt="SCR-20250828-bosx" src="https://github.com/user-attachments/assets/b8e0fb99-549e-4fc9-8609-9b9aa2004656" />
hong jihwan created
8d05bb0
Add injections for Isograph function calls in JavaScript and TypeScript (#36320)
Required for https://github.com/isographlabs/isograph/pull/568 to work properly. Tested with a local build and made sure everything's working great! Release Notes: - JavaScript/TypeScript/JSX: Added support for injecting Isograph language support into `iso` function calls
Iha Shin (신의하) created
2325f14
diagnostics: Current file diagnostics view (#34430)
These changes introduce a new command to the Diagnostics panel, `diagnostics: deploy current file`, which allows the user to view the diagnostics only for the currently opened file. Here's a screen recording showing these changes in action 🔽 [diagnostics: deploy current file](https://github.com/user-attachments/assets/b0e87eea-3b3a-4888-95f8-9e21aff8ea97) Closes #4739 Release Notes: - Added new `diagnostics: deploy current file` command to view diagnostics for the currently open file --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
fe2aa3f
onboarding: Fix font loading frame delay (#37668)
Closes #ISSUE Fixed an issue where the first frame of the `Editing` page in onboarding would have a slight delay before rendering the first time it was navigated to. This was caused by listing the OS fonts on the main thread, blocking rendering. This PR fixes the issue by adding a new method to the font family cache to prefill the cache on a background thread. Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev>
Ben Kunkle , Mikayla Maki , Anthony Eid , and Anthony created
10989c7
helix: Add match operator (#34060)
This is an implementation of matching like "m i (", as well as "] (" and
"[ (" in `helix_mode` with a few supported objects and a basis for more.
Release Notes:
- Added helix operators for selecting text objects
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
fantacell and Conrad Irwin created
3f80ac0
macos: Fix menu bar flickering (#37707)
Closes #37526 Release Notes: - Fixed menu bar flickering when using some IMEs on macOS.
张小白 created
4f1634f
Remove unused `semantic_index` crate (#37780)
Release Notes: - N/A
Bennet Bo Fenner created
40eec32
markdown_preview: Fix trimming of leading whitespace in Markdown lists (#35750)
Closes #35712 Release Notes: - Fixed white-space trimming leading to disconnect between list items and content in markdown previews. --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Eduardo Alba and Bennet Bo Fenner created
1749945
windows: Check required GPU/driver feature `StructuredBuffer` (#37776)
Check whether the GPU/driver supports the StructuredBuffer feature required by our shaders. If it doesn’t, log an error and skip that GPU/driver, so Windows can fall back to the software renderer. Release Notes: - N/A
张小白 created
80a4746
project: Be explicit about project-searchability for buffers (#37773)
Closes https://github.com/zed-industries/zed/issues/28830 Release Notes: - Fixed builtin buffers and log views showing up in project search
Lukas Wirth created
01f5b73
cargo: Remove unused -fuse-ld=lld flag from Win config (#37769)
It is unused and generates a warning ``` LINK : warning LNK4044: unrecognized option '/fuse-ld=lld'; ignored ``` If in the future we want to give `lld-link.exe` a try, we can set ```toml linker = "lld-link.exe" ``` instead. At the time of writing, my tests have shown that there is no real difference between `lld-link` and `link` in terms of linking speed. Release Notes: - N/A
Jakub Konka created
a0081dd
project: Consider all worktrees for activation script search (#37764)
Should fix https://github.com/zed-industries/zed/issues/37734 Release Notes: - Fixed venv not always activating correctly
Lukas Wirth created
f522823
Highlight shorthand fields in Rust (#37674)
Release Notes: - Highlight shorthand fields in Rust | Zed 0.202.7 | With this PR | | --- | --- | | <img width="370" height="50" alt="rust-0 202 7" src="https://github.com/user-attachments/assets/856a4d82-3ad0-4248-ad51-0472a0b6531a" /> | <img width="370" height="50" alt="rust-pr" src="https://github.com/user-attachments/assets/25b8e357-8519-4533-9026-3f2874b42ddb" /> |
chbk created
5a8603b
Install mold from the OS on Debian 13 (Trixie) (#37712)
I ran `scripts/linux` on Debian Trixie 13. It suggested manually installing Mold, but [mold](http://packages.debian.org/mold) is packaged on Debian and so we could install it automatically. The version packaged there seems to work well enough for `cargo t` to pass, at least. ## Tested ``` ; sudo apt remove mold libstdc++-14-dev ... uninstalls them ; ./script/linux The following NEW packages will be installed: build-essential clang clang-19 clang-tools-19 g++ g++-14 g++-14-x86-64-linux-gnu g++-x86-64-linux-gnu libstdc++-14-dev mold ; cargo t (passes) ``` Release Notes: - N/A
Martin Pool created
abac87c
tests: Fix doctests in crates/component (#37716)
Previously, `cargo test --package component` failed due to missing
imports for a doctest:
```
Doc-tests component
running 1 test
test crates/component/src/component.rs - Component::description (line 229) ... FAILED
failures:
---- crates/component/src/component.rs - Component::description (line 229) stdout ----
error: cannot find derive macro `Documented` in this scope
--> crates/component/src/component.rs:231:10
|
4 | #[derive(Documented)]
| ^^^^^^^^^^
error[E0599]: no associated item named `DOCS` found for struct `MyComponent` in the current scope
--> crates/component/src/component.rs:236:20
|
5 | struct MyComponent;
| ------------------ associated item `DOCS` not found for this struct
...
9 | Some(Self::DOCS)
| ^^^^ associated item not found in `MyComponent`
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0599`.
Couldn't compile the test.
failures:
crates/component/src/component.rs - Component::description (line 229)
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
error: doctest failed, to rerun pass `-p component --doc`
bobcat ~/src/zed (doctests) 18:33
```
This might be unnoticed if you mostly run nextest, as it does not run
doctests.
Release Notes:
- N/A
Martin Pool created
c3d065c
git: Use self.git_binary_path instead raw git string (#37757)
Release Notes: - N/A
Jakub Konka created
e1a5d29
markdown: Add support for inline HTML `img` tags inside text (#37264)
Follow-up: #36700 This PR adds basic support for showing images inline inside a text. As you can see inside the before screenshot, the image was displayed right below the `Some inline text` text. This was because we didn't consider the image to be inline with the text (paragraph). Now we do :) All the test changes are making sure it is not more than 1 element parsed, instead of only checking for the first parsed element. This could work out bad when we return more than 1 result. **Before** <img width="1717" height="1344" alt="Screenshot 2025-08-31 at 13 49 45" src="https://github.com/user-attachments/assets/13c5f9dd-0e0a-4e08-b2a6-28e9a4e0cab8" /> **After** <img width="1719" height="1343" alt="Screenshot 2025-08-31 at 13 42 14" src="https://github.com/user-attachments/assets/bf7aa82f-3743-4fb3-87aa-4a97a550c4d1" /> **Code example**: ```markdown <p>some inline text <img src="https://picsum.photos/200/300" alt="Description of image" style="height: 100px" /> asdjkflsadjfl</p> # Html Tag <img src="https://picsum.photos/200/300" alt="Description of image" /> # Html Tag with width and height <img src="https://picsum.photos/200/300" alt="Description of image" width="100" height="200" /> # Html Tag with style attribute with width and height <img src="https://picsum.photos/200/300" alt="Description of image" style="width: 100px; height: 200px" /> # Normal Tag  ``` Release Notes: - Markdown: Added support for inline HTML `img` tags inside paragraphs
Remco Smits created
d342da4
docs: Fix typos in language configurations (#37740)
Fixes several typos in the docs. I think there are more but I have only read what I actually needed :) Release Notes: - N/A
HE7086 created
7ae8f81
language_models: Clear cached credentials when OpenAI and OpenAI Compatible provider `api_url` change (#37610)
Closes #37093 Also check this: #37099. So currently in zed for both OpenAI and OpenAI Compatible provider when the url is changed from settings the api_key stored in the provider state is not cleared and it is still used. But if you restart zed the api_key is cleared. Currently zed uses the api_url to store and fetch the api key from credential provider. The behaviour is not changed overall, it's just that we have made it consistent it with the zed restart logic where it re-authenticates and fetches the api_key again. I have attached the video below to show case before and after of this. So all in all the problem was we were not re-authenticating the in case api_url change while zed is still running. Now we trigger a re-authentication and clear the state in case authentication fails. OpenAI Compatible Provider: | Before | After | |--------|--------| | <video src="https://github.com/user-attachments/assets/324d2707-ea72-4119-8981-6b596a9f40a3" /> | <video src="https://github.com/user-attachments/assets/cc7fdb73-8975-4aaf-a642-809bb03ce319" /> | OpenAI Provider: | Before | After | |--------|--------| | <video src="https://github.com/user-attachments/assets/a1c07d1b-1909-4b49-b33c-fc05123e92e7" /> | <video src="https://github.com/user-attachments/assets/d78aeccd-5cd3-4d0c-8b9f-6f98e499d7c8" /> | Release Notes: - Fixed OpenAI and OpenAI Compatible provide API keys being persisted when changing the API URL setting. Authentication is now properly revalidated when settings change. --------- Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
36364b1
agent_ui: Clear model selector query on dismiss (#37569)
Closes #36756 | Before | After | |--------|--------| | <video src ="https://github.com/user-attachments/assets/1d022ac6-0aea-4e98-a717-9988420c9683"/> | <video src="https://github.com/user-attachments/assets/78d19012-1224-4c92-a6c8-47ae4c13ca31"/> | Release Notes: - agent: Clear model selector query on dismiss in agent panel --------- Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
b35959f
agent_ui: Fix `context_server` duplication when name is updated (#35403)
Closes #35400 | Before | After | |--------|--------| | <video src="https://github.com/user-attachments/assets/6aae34ca-e022-457a-9b66-47b85c976b23"/> | <video src="https://github.com/user-attachments/assets/ae058988-8f70-4605-b537-e045175d2e75" /> | Release Notes: - agent: Fix `context_server` duplication when name is updated --------- Signed-off-by: Umesh Yadav <git@umesh.dev> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Umesh Yadav and Ben Brandt created
9450bca
ollama: Properly format tool calls fed back to the model (#34750)
Fix an issue that resulted in Ollama models not being able to not being able to access the input of the commands they executed (only being able to access the result). This properly return the function history as shown in https://github.com/ollama/ollama/blob/main/docs/api.md#chat-request-with-history-with-tools Previously, function input where not returned and result where returned as a "user" role. Release Notes: - ollama: Improved format when returning tool results to the models
marius851000 created
69bdef3
editor: Fix inconsistent search behavior for untitled/temporary tabs (#37086)
Closes #37597
Release Notes:
- N/A
---
## Problem
When using "Tab Switcher: Toggle All", temporary files (untitled buffers
without associated file paths) cannot be searched by their displayed
content. This creates an inconsistent user experience where:
- **UI Display**: Shows dynamic titles based on the first line of
content (up to 40 characters)
- **Search Text**: Only searches for the static text "untitled"
### Example
- A temporary file containing `Hello World` is displayed as "Hello
World" in the tab
- However, searching for "Hello" in Tab Switcher returns no results
- Only searching for "untitled" will find this temporary file
## Root Cause
The issue stems from inconsistent title generation logic between display
and search:
1. **Display Title** (`items.rs:724`): Uses `self.title(cx)` →
`MultiBuffer::title()` → `buffer_content_title()`
- Returns the first line of content (max 40 chars) for temporary files
2. **Search Text** (`items.rs:650-656`): Uses `tab_content_text()`
method
- Returns hardcoded "untitled" for files without paths
## Solution
Modified the `tab_content_text()` method in `crates/editor/src/items.rs`
to use the same logic as the displayed title for consistency:
```rust
fn tab_content_text(&self, detail: usize, cx: &App) -> SharedString {
if let Some(path) = path_for_buffer(&self.buffer, detail, true, cx) {
path.to_string_lossy().to_string().into()
} else {
// Use the same logic as the displayed title for consistency
self.buffer.read(cx).title(cx).to_string().into()
}
}
```
Liu Jinyi created
0e33a3a
zeta: Check whether data collection is allowed for recent edit history (#37680)
Also: * Adds tests for can_collect_data. * Temporarily removes collection of diagnostics. Release Notes: - Edit Prediction: Fixed a bug where requests were marked eligible for data collection despite the recent edit history in the request involving files that may not be open source. The requests affected by this bug will not be used in training data.
Michael Sloan created
76aaf6a
Fix docs for `tabs.close_position` in `default.json` (#37729)
Minor docs fix. Seems like 0a4ff2f47536c872ebd1ac3e672538a6251832e8 accidentally added "hidden" to the docs of both – `close_position` and `show_close_button`. Release Notes: - N/A Co-authored-by: tastenbier <>
Bruno Taschenbier and tastenbier created
0ef7ee1
windows: Remove some unused keys from the keymap (#37722)
AFAIK, we dont handle these keys on Windows. Release Notes: - N/A
张小白 created
29def01
windows: Update Windows keymap (#37721)
Pickup the changes from #37009 Release Notes: - N/A
张小白 created
5c30578
linux: Fix IME preedit text not showing in Terminal on Wayland (#37701)
Closes https://github.com/zed-industries/zed/issues/37268 Release Notes: - Fixed an issue where IME preedit text was not showing in the Terminal on Wayland.
Smit Barmase created
1552afd
docs: Use `#action` throughout `configuring-zed.md` (#37709)
Release Notes: - N/A
Cole Miller created
e04473d
Revert "gpui: Skip `test` attribute expansion for rust-analyzer (#37611)" (#37705)
This reverts commit 4124bedab796d2ac0a1e57f8b94f72500969797a. With the new annotation, r-a starts to skip the tasks that are marked with `gpui::test` and when it fully loads, it starts to return module-only tasks: https://github.com/user-attachments/assets/5af3e3e4-91b7-4f19-aab0-ed7f186e5f74 Release Notes: - N/A
Kirill Bulatov created
84f166f
Tweak word completions more (#37697)
Follow-up of https://github.com/zed-industries/zed/pull/37352 Closes https://github.com/zed-industries/zed/issues/37132 * disabled word completions in the agent panel's editor * if not disabled, allow to trigger word completions with an action even if the completions threshold is not reached Release Notes: - Fixed word completions appearing in the agent panel's editor and not appearing when triggered with the action before the completion threshold is reached
Kirill Bulatov created
0655185
Fix the tasks docs (#37699)
Closes https://github.com/zed-industries/zed/issues/37698 Release Notes: - N/A
Kirill Bulatov created
1d828b6
Fix broken link in `CONTRIBUTING.md` (#37688)
Can see currently the link is dead currently, but this changes fixes locally https://github.com/user-attachments/assets/e01d9c47-e91e-4c24-8285-01e3b45583b9 Release Notes: - N/A
Marco Groot created
777ce7c
Fixed LSP binary info not being shown in full (#37682)
Follow-up of https://github.com/zed-industries/zed/pull/37083 Closes https://github.com/zed-industries/zed/issues/37677 Release Notes: - Fixed LSP binary info not being shown in full
Kirill Bulatov created
1f37fbd
language_models: Use `/models/user` for fetching OpenRouter models (#37534)
This PR switches the OpenRouter integration from fetching all models to fetching only the models specified in the user's account preferences. This will help improve the experience **The Problem** The previous implementation used the `/models` endpoint, which returned an exhaustive list of all models supported by OpenRouter. This resulted in a long and cluttered model selection dropdown in Zed, making it difficult for users to find the models they actually use. **The Solution** We now use the `/models/user` endpoint. This API call returns a curated list based on the models and providers the user has selected in their [OpenRouter dashboard](https://openrouter.ai/models). Ref: [OpenRouter API Docs for User-Filtered Models](https://openrouter.ai/docs/api-reference/list-models-filtered-by-user-provider-preferences) Release Notes: - language_models: Support OpenRouter user preferences for available models
Umesh Yadav created
8c9442a
language_models: Skip empty delta text content in OpenAI and OpenAI compatible provider (#37626)
Closes #37302
Related: #37614
In case of open_ai_compatible providers like Zhipu AI and z.ai they
return empty content along with usage data. below is the example json
captured from z.ai. We now ignore empty content returned by providers
now to avoid this issue where we would return the same empty content
back to provider which would error out.
```
OpenAI Stream Response JSON:
{
"id": "2025090518465610d80dc21e66426d",
"created": 1757069216,
"model": "glm-4.5",
"choices": [
{
"index": 0,
"finish_reason": "tool_calls",
"delta": {
"role": "assistant",
"content": ""
}
}
],
"usage": {
"prompt_tokens": 7882,
"completion_tokens": 150,
"total_tokens": 8032,
"prompt_tokens_details": {
"cached_tokens": 7881
}
}
}
```
Release Notes:
- Skip empty delta text content in OpenAI and OpenAI compatible provider
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
47a4756
Optimize Chunks::seek when offset is in current chunk (#37659)
Release Notes: - N/A
Michael Sloan created
23dc1f5
Disable foreign keys in sqlite when running migrations (#37572)
Closes #37473 ### Background Previously, we enabled foreign keys at all times for our sqlite database that we use for client-side state. The problem with this is that In sqlite, `alter table` is somewhat limited, so for many migrations, you must *recreate* the table: create a new table called e.g. `workspace__2`, then copy all of the data from `workspaces` into `workspace__2`, then delete the old `workspaces` table and rename `workspaces__2` to `workspaces`. The way foreign keys work in sqlite, when we delete the old table, all of its associated records in other tables will be deleted due to `on delete cascade` clauses. Unfortunately, one of the types of associated records that can be deleted are `editors`, which sometimes store unsaved text. It is very bad to delete these records, as they are the *only* place that this unsaved text is stored. This has already happened multiple times as we have migrated tables as we develop Zed, but I caused it to happened again in https://github.com/zed-industries/zed/pull/36714. ### The Fix The Sqlite docs recommend a multi-step approach to migrations where you: * disable foreign keys * start a transaction * create a new table * populate the new table with data from the old table * delete the old table * rename the new table to the old name * run a foreign key check * if it passes, commit the transaction * enable foreign keys In this PR, I've adjusted our sqlite migration code path to follow this pattern more closely. Specifically, we disable foreign key checks before running migrations, run a foreign key check before committing, and then enable foreign key checks after the migrations are done. In addition, I've added a generic query that we run *before* running the foreign key check that explicitly deletes any rows that have dangling foreign keys. This way, we avoid failing the migration (and breaking the app) if a migration deletes data that *does* cause associated records to need to be deleted. But now, in the common case where we migrate old data in the new table and keep the ids, all of the associated data will be preserved. Release Notes: - Fixed a bug where workspace state would be lost when upgrading from Zed 0.201.x. or below.
Max Brunsfeld created
a6a111c
Highlight labels in Go (#37673)
Release Notes: - Highlight labels in Go | Zed 0.202.7 | With this PR | | --- | --- | | <img width="160" height="50" alt="go-0 202 7" src="https://github.com/user-attachments/assets/1a1b3b3c-52ae-41e3-a52b-c2a9bb7589d2" /> | <img width="160" height="50" alt="go-pr" src="https://github.com/user-attachments/assets/29020b9f-ed03-4298-aa5b-0201a81fd5e6" /> |
chbk created
6a7b84e
toolchains: Allow users to provide custom paths to toolchains (#37009)
- **toolchains: Add new state to toolchain selector** - **Use toolchain term for Add Toolchain button** - **Hoist out a meta function for toolchain listers** Closes #27332 Release Notes: - python: Users can now specify a custom path to their virtual environment from within the picker. --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Piotr Osiewicz and Danilo Leal created
59bdbf5
Various fixups to unsafe code (#37651)
A collection of fixups of possibly-unsound code and removing some small useless writes. Release Notes: - N/A
Nia created
64b6e8b
debugger: Fix allow showing more than 1 compact session item (#37036)
Closes #36978 This PR fixes an issue that we would only show the first `root -> child` session in compact mode, but the session that came after it, we would only show the child session label instead of also adding the parent label due to compact mode. ## Before <img width="348" height="173" alt="Screenshot 2025-08-27 at 22 18 39" src="https://github.com/user-attachments/assets/ad6afd3a-196d-497f-812a-00698676ee90" /> ## After <img width="563" height="211" alt="Screenshot 2025-08-27 at 21 57 16" src="https://github.com/user-attachments/assets/a953ef2a-a796-4160-b868-96e96f81c858" /> With 3 parent + child sessions and one parent session only. <img width="484" height="223" alt="Screenshot 2025-08-27 at 22 22 13" src="https://github.com/user-attachments/assets/a26f79a4-63a5-43d0-a714-d62cb1995e6e" /> cc @cole-miller I know we hacked on this some while ago, so figured you might be the best guy to ask for a review. Release Notes: - Debugger: Fix to allow showing more than 1 compact session item --------- Co-authored-by: Anthony <anthony@zed.dev>
Remco Smits and Anthony created
236b3e5
Update Link (#37671)
Documentation fix Release Notes: - N/A
morgankrey created
ea36346
Fix attach modal showing local processes in SSH sessions (#37608)
Closes #37520 This change makes the attach modal load processes from the remote server when connecting via SSH, rather than showing local processes from the client machine. This works by using the new GetProcessesRequest RPC message to allow downstream clients to get the correct processes to display. It also only works with downstream ssh clients because the message handler is only registered on headless projects. Release Notes: - debugger: Fix bug where SSH attach modal showed local processes instead of processes from the server
Anthony Eid created
c45177e
editor: Fix fold placeholder hover width smaller than marker (#37663)
Bug: <img width="196" height="95" alt="Screenshot 2025-09-06 at 1 21 39 AM" src="https://github.com/user-attachments/assets/66ec0fc9-961e-4289-bd75-68b24dad485e" /> The fold marker we use, `⋯`, isn’t rendered at the same size as the editor’s font. Notice how the fold marker appears larger than the same character typed directly in the editor buffer. <img width="146" height="82" alt="image" src="https://github.com/user-attachments/assets/a059d221-6b55-4cf9-bc1e-898ff5444006" /> When we shape the line, we use the editor’s font size, and it ends up determining the element’s width. To fix this, we should treat the ellipsis as a UI element rather than a buffer character, since current visual size looks good to me. <img width="196" height="95" alt="Screenshot 2025-09-06 at 1 29 28 AM" src="https://github.com/user-attachments/assets/1b766d46-00ab-40c7-b98a-95ea2d4b29bf" /> Release Notes: - Fixed an issue where the fold placeholder’s hover area was smaller than the marker.
Smit Barmase created