Oliver Azevedo Barnes
9f3ac2b236
devcontainer: Fix OpenDevContainer action panic due to double workspace entity lease ( #49058 )
...
Closes #49055
**Heads up**: This might be a naïve solution. I ran into the issue after
merging latest main into
https://github.com/zed-industries/zed/pull/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.
2026-02-12 16:35:18 -08:00
..
2026-02-12 16:22:58 +00:00
2026-01-21 13:40:42 -03:00
2026-01-22 02:31:14 -05:00
2026-02-10 16:03:46 -03:00
2026-02-12 15:46:10 -05:00
2026-02-10 18:57:31 -05:00
2026-02-12 15:46:10 -05:00
2026-02-12 17:18:34 -05:00
2026-01-28 21:34:10 +00:00
2026-02-07 04:21:58 +00:00
2026-01-30 21:26:13 +00:00
2026-01-26 23:56:55 +00:00
2026-02-06 20:14:35 +01:00
2026-02-09 00:56:20 +01:00
2026-02-12 14:27:55 +01:00
2026-02-10 16:03:46 -03:00
2025-11-11 12:55:19 +00:00
2026-02-12 00:28:17 +00:00
2026-02-12 14:32:24 +00:00
2026-02-06 20:21:19 +00:00
2026-02-10 01:19:01 -05:00
2026-01-07 12:48:24 -08:00
2026-01-07 12:48:24 -08:00
2026-02-10 16:17:49 +01:00
2026-01-28 18:28:53 +00:00
2025-11-06 09:16:45 +00:00
2025-11-10 23:00:55 -07:00
2026-02-07 17:54:29 +00:00
2026-02-06 14:03:03 -05:00
2026-02-05 17:34:34 -05:00
2026-02-12 09:36:48 +02:00
2026-02-12 01:06:23 +00:00
2026-02-12 01:06:23 +00:00
2026-01-23 18:29:20 +01:00
2026-01-30 21:26:13 +00:00
2026-02-11 18:19:41 +01:00
2026-02-12 15:02:17 +00:00
2026-02-12 01:06:23 +00:00
2026-01-14 07:19:13 +00:00
2026-01-07 12:48:24 -08:00
2026-01-28 16:00:52 +00:00
2026-02-04 04:44:42 -05:00
2026-02-12 16:26:13 +00:00
2026-01-14 07:19:13 +00:00
2026-02-10 23:29:51 +00:00
2026-02-12 01:06:23 +00:00
2025-12-18 12:47:34 +00:00
2026-02-12 01:06:23 +00:00
2026-02-12 01:06:23 +00:00
2026-02-04 17:37:13 +00:00
2026-02-13 00:15:59 +00:00
2026-02-12 15:24:24 -05:00
2026-02-12 15:24:24 -05:00
2026-02-04 17:54:11 -05:00
2026-02-13 00:15:59 +00:00
2026-02-13 00:15:59 +00:00
2026-02-12 00:28:17 +00:00
2026-02-11 16:22:20 -05:00
2025-12-18 17:26:20 +01:00
2026-02-04 23:03:15 +01:00
2026-02-05 12:13:02 +00:00
2026-02-07 17:54:29 +00:00
2026-02-10 10:38:47 -08:00
2026-02-12 00:28:17 +00:00
2026-02-12 01:06:23 +00:00
2026-02-12 11:26:49 +00:00
2026-01-30 09:42:28 +01:00
2025-12-08 19:50:20 +01:00
2026-02-03 04:24:11 +00:00
2026-02-12 23:57:19 +00:00
2026-01-31 21:56:34 +00:00
2026-02-12 23:57:19 +00:00
2026-02-12 01:06:23 +00:00
2025-12-17 20:12:40 -06:00
2026-02-12 17:15:56 -05:00
2026-01-27 15:37:22 -03:00
2026-01-07 12:48:24 -08:00
2025-12-09 09:29:40 -08:00
2026-02-12 14:58:21 +00:00
2026-02-05 09:31:11 +00:00
2026-02-12 01:06:23 +00:00
2026-02-12 00:28:17 +00:00
2026-02-12 01:06:23 +00:00
2026-02-12 09:58:38 -05:00
2026-02-12 01:06:23 +00:00
2026-02-12 09:58:38 -05:00
2026-02-04 23:03:15 +01:00
2026-02-07 04:21:58 +00:00
2026-02-12 16:58:24 +00:00
2026-01-23 18:29:20 +01:00
2026-02-12 17:55:36 +00:00
2026-02-12 18:46:43 +02:00
2025-10-22 19:52:38 +00:00
2026-02-03 15:51:40 -05:00
2026-02-12 14:27:55 +01:00
2026-02-07 00:36:37 +00:00
2026-02-02 16:37:58 +00:00
2026-01-28 00:19:13 -03:00
2025-12-30 07:49:01 -03:00
2026-02-10 18:57:31 -05:00
2026-02-12 01:06:23 +00:00
2026-02-05 17:34:34 -05:00
2026-02-10 20:20:57 +00:00
2026-01-06 08:14:34 +00:00
2026-01-21 14:52:44 +00:00
2026-01-07 12:48:24 -08:00
2026-02-12 16:58:24 +00:00
2026-02-12 01:06:23 +00:00
2026-01-27 13:02:40 +00:00
2026-02-12 01:06:23 +00:00
2026-02-12 14:02:16 +00:00
2026-02-12 09:36:48 +02:00
2026-02-12 09:36:48 +02:00
2026-02-02 13:30:07 +01:00
2026-02-06 15:34:36 +00:00
2026-01-23 18:29:20 +01:00
2026-02-12 01:06:23 +00:00
2026-02-07 00:36:37 +00:00
2026-02-12 15:13:44 +02:00
2026-01-20 15:41:31 -05:00
2026-02-12 09:54:33 -03:00
2026-02-12 01:06:23 +00:00
2026-01-30 21:26:13 +00:00
2026-02-11 21:30:03 +02:00
2026-02-12 16:35:18 -08:00
2025-12-15 13:30:13 +00:00
2025-11-27 13:46:43 +00:00
2026-02-12 00:28:17 +00:00
2026-02-02 13:30:07 +01:00
2026-02-12 11:50:24 +00:00
2026-02-12 07:53:30 +00:00
2026-02-04 01:33:12 +00:00
2025-11-03 19:25:15 +00:00
2026-02-11 14:21:13 +01:00
2026-02-11 21:30:03 +02:00
2026-02-12 01:06:23 +00:00
2026-01-15 18:39:06 +00:00
2025-12-16 10:48:14 -05:00
2026-02-12 15:00:31 +02:00
2026-02-12 01:06:23 +00:00
2026-02-12 10:49:04 -05:00
2026-02-12 15:46:10 -05:00
2025-10-27 10:13:26 -04:00
2025-11-21 08:28:17 -07:00
2026-02-12 01:06:23 +00:00
2026-02-12 14:27:55 +01:00
2026-02-09 08:56:21 -05:00
2026-02-12 23:57:45 +00:00
2026-01-26 13:49:26 +00:00
2026-02-12 00:28:17 +00:00
2026-01-29 16:33:38 -03:00
2025-11-03 19:25:15 +00:00
2026-02-05 20:10:02 +00:00
2026-02-04 17:54:11 -05:00
2026-01-04 23:28:18 +00:00
2026-01-28 00:19:13 -03:00
2025-11-24 13:34:04 +01:00
2026-02-12 12:33:51 +00:00
2026-02-12 16:30:47 +00:00
2026-02-12 01:06:23 +00:00
2025-11-07 11:36:05 +00:00
2026-01-28 16:36:44 -08:00
2026-01-30 21:26:13 +00:00
2026-02-12 09:59:59 +00:00
2026-02-08 20:10:52 -05:00
2026-02-04 17:37:13 +00:00
2026-01-15 18:10:21 +00:00
2025-12-01 20:52:57 -07:00
2026-01-28 17:05:34 +01:00
2026-02-12 09:54:33 -03:00
2026-02-02 16:56:25 +00:00
2026-02-12 15:46:10 -05:00
2026-02-02 13:30:07 +01:00
2026-02-12 00:28:17 +00:00
2026-01-25 21:35:32 +01:00
2026-02-12 12:33:51 +00:00
2025-11-07 22:27:14 +00:00
2026-01-23 20:50:50 +00:00
2025-12-17 11:53:48 -07:00
2026-02-12 17:15:56 -05:00
2026-02-12 04:50:54 +00:00
2026-01-29 15:31:13 +00:00
2025-12-08 16:38:34 +01:00
2026-02-12 15:46:10 -05:00
2026-02-12 15:46:10 -05:00
2025-12-13 11:06:30 -05:00
2026-02-12 15:24:24 -05:00
2025-12-06 17:56:49 +00:00
2025-11-07 22:27:14 +00:00
2026-02-11 11:24:04 +00:00
2025-12-05 17:23:06 +00:00