Commit log

9f9b707 v0.227.x stable

Joseph T. Lyons created

bbcfafd Do not load runnables and diagnostics in git panel (#51270) (cherry-pick to preview) (#51274)

Click to expand commit body
Cherry-pick of #51270 to preview

----
Release Notes:

- N/A

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

zed-zippy[bot] , Kirill Bulatov , and Jakub Konka created

3a32fc2 Enable diff stats in the git panel by default (#51215) (cherry-pick to preview) (#51218)

Click to expand commit body
Cherry-pick of #51215 to preview

----
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [X] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI

checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Enabled `diff_stats` in the git panel by default.

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

zed-zippy[bot] and Joseph T. Lyons created

3ac1b1b zed: Fix file logging being disabled accidentally (#51121) (cherry-pick to preview) (#51162)

Click to expand commit body
Cherry-pick of #51121 to preview

----
Release Notes:

- N/A *or* Added/Fixed/Improved ...

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

f8b8403 agent_servers: Use correct default settings (#51136) (cherry-pick to preview) (#51137)

Click to expand commit body
Cherry-pick of #51136 to preview

----
These are edge cases, but there are a few ways you can get into a state
where you are setting favorites for registry agents and we don't have
the setting yet. This prioritizes `type: registry` for agents that we
have in the registry, especially the previous built-ins.

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

35b388e agent_ui: Handle legacy agent enum variants during deserialization (#51125) (cherry-pick to preview) (#51126)

Click to expand commit body
Cherry-pick of #51125 to preview

----
Add custom `Deserialize` implementations for `AgentType` and
`ExternalAgent` to map old built-in variant names to current custom
agent names, while still accepting current serialized formats.

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

5a59d48 Fix expand/collapse all button for splittable editor (#50859) (cherry-pick to preview) (#51124)

Click to expand commit body
Cherry-pick of #50859 to preview

----
The "Expand All Files"/"Collapse All Files" button in `BufferSearchBar`
was broken for `SplittableEditor`, which is used in the project diff
view. It was happening because `ProjectDiff::as_searchable` returns an
handle to the `SplittableEditor`, which the search bar implementation
then tries to downcast to an `Editor`, which the `SplittableEditor` did
not support, so both the expand/collapse all buttons, as well as the
collapse state were broken.

Unfortunately this was accidentally introduced in
https://github.com/zed-industries/zed/pull/48773 , so this Pull Request
updates the `Item` implementation for `SplittableEditor` in order for it
to be able to act as an `Editor`.

Release Notes:

- Fix the "Expand All Files"/"Collapse All Files" button in the project
diff view

---------

Co-authored-by: Tom Houlé <tom@tomhoule.com>

Co-authored-by: Dino <dinojoaocosta@gmail.com>
Co-authored-by: Tom Houlé <tom@tomhoule.com>

zed-zippy[bot] , Dino , and Tom Houlé created

5c9bc66 Do not derive symbol highlights if they do not fit into multi buffer (#50948) (cherry-pick to preview) (#51116)

Click to expand commit body
Cherry-pick of #50948 to preview

----
Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

zed-zippy[bot] , Kirill Bulatov , and Conrad Irwin created

823578b editor: Fix underflow panic in block map sync when blocks overlap (#51078) (cherry-pick to preview) (#51081)

Click to expand commit body
Cherry-pick of #51078 to preview

----
In `BlockMap::sync`, blocks within an edited region are sorted and
processed sequentially. Each block placement computes
`rows_before_block` by subtracting `new_transforms.summary().input_rows`
from the block's target position. The `Near`/`Below` cases have a guard
that skips the block if the target is already behind the current
progress, but `Above` and `Replace` were missing this guard.

When a `Replace` block (tie_break 0) is processed before an `Above`
block (tie_break 1) at the same or overlapping position, the `Replace`
block consumes multiple input rows, advancing `input_rows` past the
`Above` block's position. The subsequent `position - input_rows`
subtraction underflows on `u32`, producing a huge `RowDelta` that wraps
`wrap_row_end` past `wrap_row_start`, creating an inverted range that
propagates through the display map layers and panics as `begin <= end
(47 <= 0)` in a rope chunk slice.

Add underflow guards to `Above` and `Replace`, matching the existing
pattern in `Near`/`Below`.

Release Notes:

- Fixed a source of underflowing subtractions causing spurious panics

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

a794cbc editor: Prevent panic in `lsp_symbols_at_cursor` with diff hunks handling (#51077) (cherry-pick to preview) (#51079)

Click to expand commit body
Cherry-pick of #51077 to preview

----
Fixes ZED-5M9

No test as I couldn't quite reproduce this, as the cause is mostly a
guess

Release Notes:

- Fixed a panic in `lsp_symbols_at_cursor` when dealing with diff hunks

Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] and Lukas Wirth created

b05b6e1 Add more verbosity for panic inside `summaries_for_anchors_with_payloads` (#50940) (cherry-pick to preview) (#50942)

Click to expand commit body
Cherry-pick of #50940 to preview

----
We are seeing the timestamp comparison fail in an unexpected way, e.g.

https://zed-dev.sentry.io/issues/7293482758/events/c7f7eab3f8f2463f879d4889a80d623e,
where it seems like `text::Anchor::is_max` should be returning true but
it apparently isn't. Add some more information when this panic happens
to understand what's going on.

Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz
<24362066+osiewicz@users.noreply.github.com>

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

zed-zippy[bot] , Cole Miller , and Piotr Osiewicz created

c976219 zed 0.227.1

Bennet Bo Fenner created

cfddb9d Linux: Handle device lost with wgpu (#50898) (cherry-pick to preview) (#50902)

Click to expand commit body
Cherry-pick of #50898 to preview

----
Release Notes:

- Linux: Handle GPU device loss gracefully

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

zed-zippy[bot] and Conrad Irwin created

01e8444 Add GPT-5.4 and GPT-5.4-pro BYOK models (#50858) (cherry-pick to preview) (#50896)

Click to expand commit body
Cherry-pick of #50858 to preview

----
Add GPT-5.4 and GPT-5.4-pro as Bring Your Own Key model options for the
OpenAI provider.

**GPT-5.4** (`gpt-5.4`):
- 1,050,000 token context window, 128K max output
- Supports chat completions, images, parallel tool calls
- Default reasoning effort: none

**GPT-5.4-pro** (`gpt-5.4-pro`):
- 1,050,000 token context window, 128K max output
- Responses API only (no chat completions)
- Default reasoning effort: medium (supports medium/high/xhigh)

Also fixes context window sizes for GPT-5 mini and GPT-5 nano (272K →
400K) to match current OpenAI docs.

Closes AI-78

Release Notes:

- Added GPT-5.4 and GPT-5.4-pro as available models when using your own
OpenAI API key.

Co-authored-by: Richard Feldman <richard@zed.dev>

zed-zippy[bot] and Richard Feldman created

ff72764 zeta2: Don't remove redundant excerpts on the client (#50886) (#50888)

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
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

58cf75b Fix crash in `start_display_link` (#50875) (cherry-pick to preview) (#50878)

Click to expand commit body
Cherry-pick of #50875 to preview

----
Fixes ZED-5G8

If `DisplayLink::new` fails, `frame_requests` is dropped . It is not
valid to destroy a DispatchSource that is not `resume()`d. So, ensure we
call `resume()` before there's a chance for anything to fail.

Release Notes:

- Fixed a crash that could occur on macOS when changing monitor
configurations

Co-authored-by: John Tur <john-tur@outlook.com>

zed-zippy[bot] and John Tur created

4ef3fc3 agent: Gate agent registry refresh behind Disable AI setting (#50868) (cherry-pick to preview) (#50869)

Click to expand commit body
Cherry-pick of #50868 to preview

----
Make sure we don't download this file if disable_ai is enabled

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

150634b agent_ui: Always show smaller subagent preview (#50864) (cherry-pick to preview) (#50867)

Click to expand commit body
Cherry-pick of #50864 to preview

----
Remove the conditional fullscreen path for subagent tool calls so
expanded content consistently renders as a capped preview with the
overlay and fixed height. Also add a pointer cursor to the maximize
control to clarify clickability.

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

9ba5399 agent_ui: Remove feature upsell banners from agent registry (#50862) (cherry-pick to preview) (#50865)

Click to expand commit body
Cherry-pick of #50862 to preview

----
These aren't built in anymore!

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] and Ben Brandt created

1704857 Temporarily disable leak detector for v0.227.x (#50718)

Click to expand commit body
See
https://github.com/zed-industries/zed/actions/runs/22676830288/job/65735747311

Release Notes:

- N/A

Cole Miller created

b606632 v0.227.x preview

Joseph T. Lyons created

9b8ad01 ep: Option to configure custom Baseten environment (#50706)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

a1d4037 cloud_api_client: Send the organization ID in LLM token requests (#50517)

Click to expand commit body
This is already expected on the cloud side. This lets us know under
which organization the user is logged in when requesting an llm_api
token.

Closes CLO-337

Release Notes:

- N/A

Tom Houlé created

5641ccf docs: Add consent banner (#50302)

Click to expand commit body
Adds a consent banner, similar to the one on zed.dev

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

Gaauwe Rombouts created

d5137d7 git: Add trusted worktree support to git integrations (#50649)

Click to expand commit body
This PR cleans up the git command spawning by wrapping everything in
GitBinary instead to follow a builder/factory pattern. It also extends
trusted workspace support to git commands.

I also added a `clippy.toml` configuration to our git crate that warns
against using `Command` struct to spawn git commands instead of going
through `GitBinary`. This should help us maintain the factory pattern in
the future

Before you mark this PR as ready for review, make sure that you have:
- [x] Added solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects

Release Notes:

- git: Add trusted workspace support for Zed's git integration

Anthony Eid created

0b58d34 editor: Refactor excerpts removed event handling (#50695)

Click to expand commit body
Refactor the changes introduced in
https://github.com/zed-industries/zed/pull/50525, in order to remove the
`DisplayMap.clear_folded_buffer` method and update the editor's handling
of `multi_buffer::Event::ExcerptsRemoved` to actually call
`DisplayMap.unfold_buffers`, which correctly updates the `BlockMap`
using its `BlockMapWriter`, ensuring that the block map is synced.

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

Dino created

932981f editor: Prevent underlines from appearing in minimap (#48510)

Click to expand commit body
I noticed that the minimap seems to render underlines with the same
thickness as the main editor, which looks a bit off. This becomes much
more noticeable when enabling `semantic_token_rules` (due to the
increased number of underlines):

```json
"global_lsp_settings": {
  "semantic_token_rules": [
    {
      "token_modifiers": ["mutable"],
      "underline": true,
    },
  ],
}
```
Looking at the existing code, I found that diagnostic underlines already
check `editor_style.show_underlines` to ensure they are only displayed
in the main editor. To maintain consistency, I applied the same
filtering logic to `chunk_highlight` so that these underlines are no
longer rendered in the minimap.

Before:
<img alt="CleanShot 2026-02-06 at 02 28 31@2x"
src="https://github.com/user-attachments/assets/16401154-23f5-43ef-a7a8-b1035c19e076"
/>
After:
<img alt="CleanShot 2026-02-06 at 02 31 36@2x"
src="https://github.com/user-attachments/assets/979a04be-e585-44be-9c42-4dfab7b89186"
/>

Release Notes:

- N/A *or* Added/Fixed/Improved ...

ᴀᴍᴛᴏᴀᴇʀ created

90ddd58 agent: Move file_read_times logic to ActionLog instead of Thread (#50688)

Click to expand commit body
Since the read times always correspond to an action log call anyway, we
can let the action log track this internally, and we don't have to
provide a reference to the Thread in as many tools.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: MrSubidubi <dev@bahn.sh>

Ben Brandt , Bennet Bo Fenner , and MrSubidubi created

de10776 Add .cppm (C++20 module interface) to C++ file extensions (#50667)

Click to expand commit body
`.cppm` is the widely used extension for C++20 module interface units,
supported by MSVC, Clang, and GCC. Currently Zed doesn't recognize it as
C++, so users get no syntax highlighting or LSP support.

Changes:
`crates/languages/src/cpp/config.toml`: add cppm to path_suffixes
`crates/theme/src/icon_theme.rs`: add cppm to the C++ icon matcher

https://github.com/search?q=path%3A*.cppm&type=code

Release Notes:

- N/A

moleium created

007e3ec docs: Update docs for the subagent tool (#50689)

Click to expand commit body
Adds the actual tool name so people can turn it off if they want.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: MrSubidubi <dev@bahn.sh>

Ben Brandt , Bennet Bo Fenner , and MrSubidubi created

4668dbc agent: Allow for expanding the subagent thread when permissions are requested (#50684)

Click to expand commit body
Previously, there was no way to view the full thread context

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: MrSubidubi <dev@bahn.sh>

Ben Brandt , Bennet Bo Fenner , and MrSubidubi created

f0abcd8 More fixes for OpenGL initialization on Intel HD 4000 (#50680)

Click to expand commit body
Release Notes:

- N/A

John Tur created

f023109 docs: Fix incorrect IAM terminology under Bedrock section (#50546)

Click to expand commit body
IAM users cannot be assumed; only IAM roles can be.

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

john created

152d3ea project_panel: Fix Reveal in File Manager for WSL projects (#50610)

Click to expand commit body
Closes #46767

## Summary

The "Reveal in File Manager" action was shown in the context menu for
WSL projects (guarded by `is_via_wsl_with_host_interop`), but the action
handler in `Render` was only registered when `project.is_local()` —
which returns `false` for WSL. Dispatching the action without a handler
caused a crash.

Adds the same `is_via_wsl_with_host_interop(cx)` check to the handler
registration.

## Testing

- Ran `cargo test -p project_panel` — 78 passed, 0 failed
- Manual testing: connected to WSL Ubuntu, right-clicked a file in the
project panel, used "Reveal in File Manager" — Windows Explorer opened
correctly without crashing

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 a crash when using "Reveal in File Manager" on files in WSL
projects (#46767).

Sarthak Mishra created

c0fa025 repl: Fix image scaling (#48435)

Click to expand commit body
Continues #47114

Release Notes:

- Fixed REPL output width clamping to apply to the content area so
images don’t get clipped by controls

---------

Co-authored-by: MrSubidubi <finn@zed.dev>

Casper van Elteren and MrSubidubi created

e51cd49 doc: Improve documentation for language server `...` expansion (#50672)

Click to expand commit body
Hi! The `...` entry in the `language_servers` setting was only explained
in a single bullet point, which led users to misconfigure their setup,
particularly when overriding defaults that disable certain servers with
`!`.

Add a detailed explanation of how `...` works and a table of examples
using Ruby's real server configuration to illustrate the override
behavior.

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Vitaly Slobodin created

cdb34c3 python: Register LSP adapters directly to the LanguageRegistry (#50662)

Click to expand commit body
The purpose of `register_available_lsp_adapter()` is to allow language
servers to be reused across multiple languages. Since adapters like
`ty`, `pylsp`, and `pyright` are specific to Python, there is no need to
register them for other languages. Additionally, registering them
directly to the global `LanguageRegistry` results in negligible resource
consumption.

We can then use the default settings to control the default language
server for Python, as referenced here:


https://github.com/zed-industries/zed/blob/9c9337a8021f74511625517c3f4fa021106609eb/assets/settings/default.json#L2119-L2130

Additionally, the documentation for Python has been updated to clarify
that the `"..."` syntax does not mean "keep the rest at default," but
rather "include all other available servers."

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 (no sure how to add test for this)
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Xin Zhao created

9a6046c Change miniprofiler file extension to `.miniprof.json` (#50429)

Click to expand commit body
The main intention behind this change is to support uploading these
files
to GitHub. `.miniprof` is not a supported extension by GitHub, but
`.json` is.

The only “downside” to this change is that the cleanup process will have
to look
for `.miniprof` files AND `.miniprof.json` files. Maybe we can remove
that change
at a later date?

Ref:
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files

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:

- Changed miniprofiler file extension to `.miniprof.json`

Kunall Banerjee created

9c9337a Add cmd-y binding for agent::Keep in agent diff review (#50656)

Click to expand commit body
Release Notes:

- Added `cmd-y` keybinding for accepting changes in the agent diff
review, matching the git diff review shortcut.

Mikayla Maki created

6a38c5c Fix panic in remote workspaces (#50647)

Click to expand commit body
Fixes ZED-4JD

Release Notes:

- Fix a panic when opening the remote server modal

Conrad Irwin created

7f3dee8 Fix OpenGL initialization on Intel HD 4000 (#50646)

Click to expand commit body
Release Notes:

- Fixed Zed failing to initialize OpenGL on certain Linux devices

John Tur created

832782f Persist token count and scroll position across agent restarts (#50620)

Click to expand commit body
Release Notes:

- Token counts and scroll position are restored when loading a previous
agent thread

Eric Holk created

c1cbcb6 Fix handling of `surface.configure` on Linux (#50640)

Click to expand commit body
Closes #50574

Release Notes:

- Fixed Zed not being responsive on some Linux configurations

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

John Tur and Conrad Irwin created

4dd42a0 agent: Fix subagent error display (#50638)

Click to expand commit body
Since we were no longer just returning a string, we need to update the
content in both success and error modes to get a nice rendering
experience.

Release Notes:

- N/A

Ben Brandt created

2772db8 Remove zeta2 feature flag (#50618)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

dc7cbd3 zeta2: Hashlines prompt format (#50623)

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
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

a5a1977 ep: API keys for OpenAI compatible (#50615)

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
- [ ] 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:

- Added support for providing an API key to OpenAI-compatible edit
prediction providers

Ben Kunkle created

3d3a66d collab: Fix unable to rejoin shared project after leaving a call (#50630)

Click to expand commit body
When a downstream project was disconnected from the host (e.g. the guest
left the call), `disconnected_from_host_internal` did not clear
`client_subscriptions`. These subscriptions hold entries in the
`Client`'s entity subscription map, so a subsequent
`join_remote_project` with the same project ID would fail with "already
subscribed to entity".

The fix adds `self.client_subscriptions.clear()` to
`disconnected_from_host_internal`, matching what `unshare_internal`
already does for the host side.

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:

- collab: Fix unable to rejoin project bug ("already subscribed to
entity")

Anthony Eid created

09e178d ep: Predict by querying Baseten directly (#50626)

Click to expand commit body
This can be used like `ep predict --provider
baseten:V0131GitMergeMarkersPrefix`. Since it doesn't require
load_project, it can be used with captured requests.


Release Notes:

- N/A

Oleksiy Syvokon created

0a1a921 git: Fix remote worktree support (#50614)

Click to expand commit body
The main issue is that we weren't forwarding the proto messages through
the collab server to the host. After fixing that I added integration
tests to cover local worktrees, remote worktrees, and ssh worktrees.

I also fixed a bug with FakeRepository where it wouldn't name its
current branch as a worktree when calling git worktree, which doesn't
match the behavior of the git binary.

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:

- git: Fix bug that caused the git worktree picker from displaying and
creating worktrees over collab

Anthony Eid created