Re-add MultiWorkspace - #48800
Merged
Merged
Conversation
mikayla-maki
force-pushed
the
re-add-multi-workspace
branch
from
February 10, 2026 19:10
e3c7bf5 to
6776252
Compare
mikayla-maki
marked this pull request as ready for review
February 10, 2026 19:13
…rywhere (#48813) Makes `Workspace::test_new` `pub(crate)` so it can only be called from within the workspace crate. All external test code now uses `MultiWorkspace::test_new` instead, which reflects the actual runtime reality where `MultiWorkspace` is the window root. - `Workspace::test_new` visibility changed from `pub` to `pub(crate)` - Added `MultiWorkspace::test_add_workspace` helper for tests that need additional workspaces - Migrated ~285 call sites across 33 external files to use `MultiWorkspace::test_new` - Updated helper functions that took `&WindowHandle<Workspace>` to take `&Entity<Workspace>` Release Notes: - N/A
This should fix the test CICD and get all the tests passing Co-authored-by: Eric Holk \<eric@zed.dev\> Release Notes: - N/A --------- Co-authored-by: Eric Holk <eric@zed.dev>
Release Notes: - N/A
Panic was cause by a double workspace lease because the action register was on workspace and the agent panel got the workspace id from it's weak workspace handle Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Eric Holk <eric@zed.dev>
mikayla-maki
force-pushed
the
re-add-multi-workspace
branch
from
February 10, 2026 20:08
4c329e3 to
af4d23e
Compare
This is used instead of defer_in in NewTextThread action handler to avoid a double lease panic with workspace. Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Fix rounded-corner bug when workspace switcher open Release Notes: - N/A --------- Co-authored-by: Richard Feldman <oss@rtfeldman.com>
mikayla-maki
force-pushed
the
re-add-multi-workspace
branch
3 times, most recently
from
February 11, 2026 23:25
b7f61f1 to
d1cfad2
Compare
mikayla-maki
enabled auto-merge (squash)
February 12, 2026 00:56
Veykril
added a commit
that referenced
this pull request
Feb 12, 2026
KyleBarton
pushed a commit
that referenced
this pull request
Feb 13, 2026
…ce entity lease (#49058) Closes #49055 **Heads up**: This might be a naïve solution. I ran into the issue after merging latest main into #48896, and confirming that it was unrelated to that PR and incoming from upstream. Agent one-shot the fix, it works and tests pass. But I'm still wrapping my head around the changes that led to the bug. I figured the breakage is bad enough (I couldn't open devcontainers at all) to submit a possibly naïve fix. ## Fix Hoists the `find_devcontainer_configs` call out of `new_dev_container` and into the call site, where we already have a direct `&mut Workspace` reference that doesn't go through the entity map. The computed configs are passed into `new_dev_container` as an argument. ## What was happening After #48800 ("Re-add MultiWorkspace"), `with_active_or_new_workspace` nests a `Workspace` entity lease inside a `MultiWorkspace` entity lease. The `OpenDevContainer` handler was also changed from async to sync in the same PR, so `RemoteServerProjects::new_dev_container` now runs while `Workspace` is leased. Inside `new_dev_container`, a `WeakEntity<Workspace>::read_with` call tries to read `Workspace` through the entity map, finds it already leased, and panics. Release Notes: - Fixed a panic when opening the dev container modal via the `OpenDevContainer` action.
morgankrey
pushed a commit
that referenced
this pull request
Feb 19, 2026
Added 20 new actionable suggestions from merged PRs. Processed ~60 PRs in this run: - 20 actionable → queued - ~39 unactionable (no docs needed) - 1 failed (PR #48800: diff too large)
13 tasks
jasonsmithio
pushed a commit
to paddleboarddev/paddleboard
that referenced
this pull request
May 31, 2026
Caused by zed-industries/zed#48763 and zed-industries/zed#48800 Release Notes: - N/A *or* Added/Fixed/Improved ...
5 tasks
pull Bot
pushed a commit
to Superoldman96/zed
that referenced
this pull request
Jun 2, 2026
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] ~~Unsafe blocks (if any) have justifying comments~~ (N/A) - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Corrects the value used for traffic light clearance/padding when building with the macOS 26 SDK (or later). This was originally fixed in zed-industries#45351 but regressed in zed-industries#48800 where `TRAFFIC_LIGHT_PADDING` was moved to `ui/src/utils/constants.rs` but the local `build.rs` in `title_bar` did not apply to the `ui` crate. Release Notes: - N/A
dandv
pushed a commit
to dandv/zed
that referenced
this pull request
Jun 3, 2026
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] ~~Unsafe blocks (if any) have justifying comments~~ (N/A) - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Corrects the value used for traffic light clearance/padding when building with the macOS 26 SDK (or later). This was originally fixed in zed-industries#45351 but regressed in zed-industries#48800 where `TRAFFIC_LIGHT_PADDING` was moved to `ui/src/utils/constants.rs` but the local `build.rs` in `title_bar` did not apply to the `ui` crate. Release Notes: - N/A
TomPlanche
pushed a commit
to TomPlanche/zed
that referenced
this pull request
Jun 8, 2026
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] ~~Unsafe blocks (if any) have justifying comments~~ (N/A) - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Corrects the value used for traffic light clearance/padding when building with the macOS 26 SDK (or later). This was originally fixed in zed-industries#45351 but regressed in zed-industries#48800 where `TRAFFIC_LIGHT_PADDING` was moved to `ui/src/utils/constants.rs` but the local `build.rs` in `title_bar` did not apply to the `ui` crate. Release Notes: - N/A
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
Release Notes: - Added agent panel restoration. Now restarting your editor won't cause your thread to be forgotten. --------- Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Co-authored-by: Eric Holk <eric@zed.dev> Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Anthony Eid <anthony@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Cameron Mcloughlin <cameron.studdstreet@gmail.com>
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
Caused by zed-industries#48763 and zed-industries#48800 Release Notes: - N/A *or* Added/Fixed/Improved ...
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
…ce entity lease (zed-industries#49058) Closes zed-industries#49055 **Heads up**: This might be a naïve solution. I ran into the issue after merging latest main into zed-industries#48896, and confirming that it was unrelated to that PR and incoming from upstream. Agent one-shot the fix, it works and tests pass. But I'm still wrapping my head around the changes that led to the bug. I figured the breakage is bad enough (I couldn't open devcontainers at all) to submit a possibly naïve fix. ## Fix Hoists the `find_devcontainer_configs` call out of `new_dev_container` and into the call site, where we already have a direct `&mut Workspace` reference that doesn't go through the entity map. The computed configs are passed into `new_dev_container` as an argument. ## What was happening After zed-industries#48800 ("Re-add MultiWorkspace"), `with_active_or_new_workspace` nests a `Workspace` entity lease inside a `MultiWorkspace` entity lease. The `OpenDevContainer` handler was also changed from async to sync in the same PR, so `RemoteServerProjects::new_dev_container` now runs while `Workspace` is leased. Inside `new_dev_container`, a `WeakEntity<Workspace>::read_with` call tries to read `Workspace` through the entity map, finds it already leased, and panics. Release Notes: - Fixed a panic when opening the dev container modal via the `OpenDevContainer` action.
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] ~~Unsafe blocks (if any) have justifying comments~~ (N/A) - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Corrects the value used for traffic light clearance/padding when building with the macOS 26 SDK (or later). This was originally fixed in zed-industries#45351 but regressed in zed-industries#48800 where `TRAFFIC_LIGHT_PADDING` was moved to `ui/src/utils/constants.rs` but the local `build.rs` in `title_bar` did not apply to the `ui` crate. Release Notes: - N/A
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
Release Notes: - Added agent panel restoration. Now restarting your editor won't cause your thread to be forgotten. --------- Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com> Co-authored-by: Eric Holk <eric@zed.dev> Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Anthony Eid <anthony@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Cameron Mcloughlin <cameron.studdstreet@gmail.com>
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
…ce entity lease (zed-industries#49058) Closes zed-industries#49055 **Heads up**: This might be a naïve solution. I ran into the issue after merging latest main into zed-industries#48896, and confirming that it was unrelated to that PR and incoming from upstream. Agent one-shot the fix, it works and tests pass. But I'm still wrapping my head around the changes that led to the bug. I figured the breakage is bad enough (I couldn't open devcontainers at all) to submit a possibly naïve fix. ## Fix Hoists the `find_devcontainer_configs` call out of `new_dev_container` and into the call site, where we already have a direct `&mut Workspace` reference that doesn't go through the entity map. The computed configs are passed into `new_dev_container` as an argument. ## What was happening After zed-industries#48800 ("Re-add MultiWorkspace"), `with_active_or_new_workspace` nests a `Workspace` entity lease inside a `MultiWorkspace` entity lease. The `OpenDevContainer` handler was also changed from async to sync in the same PR, so `RemoteServerProjects::new_dev_container` now runs while `Workspace` is leased. Inside `new_dev_container`, a `WeakEntity<Workspace>::read_with` call tries to read `Workspace` through the entity map, finds it already leased, and panics. Release Notes: - Fixed a panic when opening the dev container modal via the `OpenDevContainer` action.
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] ~~Unsafe blocks (if any) have justifying comments~~ (N/A) - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Corrects the value used for traffic light clearance/padding when building with the macOS 26 SDK (or later). This was originally fixed in zed-industries#45351 but regressed in zed-industries#48800 where `TRAFFIC_LIGHT_PADDING` was moved to `ui/src/utils/constants.rs` but the local `build.rs` in `title_bar` did not apply to the `ui` crate. Release Notes: - N/A
katopz
added a commit
to katopz/zed
that referenced
this pull request
Aug 19, 2026
…alidation green (plan 024)
- zed_war_room_activity_bar bin (visual-tests feature): production-shaped
offscreen window (MultiWorkspace + agent Sidebar + real panels via their
::load constructors) captured through the real Metal compositor in BOTH
layouts. DEFAULT (agentic) settings honestly documented: Collab/Outline/
Project/Git dock right while WarRoom docks left. CLASSIC layout
(PanelLayout::EDITOR docks): left strip reads Project/Git/Collab/WarRoom/
Outline - WarRoom directly behind Collab, asserted as dock data
(panel_index_for_type: collab+1 == war_room, war_room+1 == outline, debug
build so any priority collision would panic) and verified in pixels (52px
icon pitch: collab@724, war_room@776, outline@828). Artifacts committed at
.plans/024_war_room_activity_bar_{default,classic}{,_left}.png. Closes the
last 'live-GUI remainder' GOAT item - no live session needed.
- test_action_namespaces regression fix (plan 013/024): actions! macros
register globally at compile time, so the agent_board + war_room
namespaces must appear in the expectation list; cargo test -p zed had
never been run since they were added.
- Repo-wide ./script/clippy green (1041 crates, release/all-features/
all-targets, deny-warnings) - it caught 2 redundant_clone lints in the new
bin (fixed: last-use clones dropped). cargo test -p zed 79/79 single-
threaded; upstream test_multi_workspace_session_restore (from upstream
zed-industries#48800) flakes under default parallel threads only - passes isolated and
single-threaded, tracked at .issues/014 (not a plan regression).
- Infra note: SD-card target dir had corrupt check caches (empty fingerprint
dirs + 99% disk); healed debug by removing the 26 empty dirs and ran
release clippy from an isolated NVMe CARGO_TARGET_DIR (removed after).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Notes: