Neil
ad8d35eb59
feat(wsl): serve saved WSL work behind a closed hosts gate (gate states, kill switch 1/2) ( #34683 )
...
* feat(wsl): serve saved WSL work behind a closed hosts gate (serve-only)
The WSL hosts gate gains three states. A closed gate with a saved WSL host or a
committed move becomes serve-only: saved hosts stay listed and reachable,
committed rewrites, retention, interrupted-move recovery and the way back keep
running, and the preload API is exposed through a stamped window argument.
Adding hosts and starting moves still need the open gate. With nothing saved
the gate stays closed exactly as before.
* fix(wsl): stamp serve-only into the dashboard popout and Space windows too
They load the same preload, so without the argument they hid saved WSL hosts'
status and Connect in serve-only. One helper now supplies the argument for every
window on the shared preload.
* fix(wsl): reviewer follow-ups for the serve-only gate
- Refuse wslHosts:add unless the internal gate is open here, so this PR is safe
on its own.
- Promote on any move journal entry, so recovery can reset an in-flight move
whose host record is gone.
- List unfinished moves in serve-only.
- An unreadable WSL deployment store fails closed in serve-only too, through a
shared serving flag main sets at startup.
- Report the gate state in wsl_usage_snapshot as an optional field.
2026-10-28 00:20:39 -07:00
..
2026-10-23 02:16:59 -07:00
2026-09-01 00:57:54 -07:00
2026-10-23 17:50:37 -07:00
2026-10-23 17:39:44 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 17:32:57 -07:00
2026-10-27 20:38:35 -07:00
2026-10-27 20:38:35 -07:00
2026-10-23 02:16:59 -07:00
2026-10-26 09:15:45 -07:00
2026-10-23 02:16:59 -07:00
2026-10-19 10:50:25 -07:00
2026-09-01 18:24:49 -07:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-25 16:41:56 +00:00
2026-10-25 22:15:00 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-10-27 22:04:12 +00:00
2026-09-01 00:57:54 -07:00
2026-10-09 18:57:35 -04:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-08-13 20:52:04 -07:00
2026-10-05 11:06:40 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 02:16:59 -07:00
2026-09-01 18:24:49 -07:00
2026-09-25 18:54:11 -07:00
2026-10-23 17:33:42 -07:00
2026-10-23 17:33:42 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-10-26 18:43:50 -07:00
2026-10-26 18:43:50 -07:00
2026-09-01 18:24:49 -07:00
2026-08-13 20:52:04 -07:00
2026-09-01 18:24:49 -07:00
2026-10-22 19:39:07 -04:00
2026-10-22 19:39:07 -04:00
2026-09-01 18:24:49 -07:00
2026-09-25 02:49:52 -07:00
2026-10-26 22:25:01 -07:00
2026-09-01 00:57:54 -07:00
2026-10-26 22:25:01 -07:00
2026-09-18 20:39:52 -07:00
2026-10-08 02:04:04 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-10-27 13:00:23 -07:00
2026-10-27 13:00:23 -07:00
2026-10-09 04:58:48 -07:00
2026-09-18 20:39:52 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 17:50:37 -07:00
2026-08-13 20:52:04 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 14:31:05 -07:00
2026-10-23 14:31:05 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 02:16:59 -07:00
2026-08-13 22:48:24 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 00:57:54 -07:00
2026-09-01 18:24:49 -07:00
2026-10-24 22:49:18 -07:00
2026-10-22 12:20:01 -07:00
2026-10-19 23:46:28 -04:00
2026-10-23 17:39:44 -07:00
2026-10-23 17:39:44 -07:00
2026-09-22 22:44:10 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-09-24 16:22:34 -04:00
2026-10-06 00:39:33 -07:00
2026-10-23 02:16:59 -07:00
2026-10-27 13:17:14 -07:00
2026-10-27 13:17:14 -07:00
2026-09-01 18:24:49 -07:00
2026-10-02 23:21:27 -07:00
2026-10-23 02:16:59 -07:00
2026-10-18 19:28:04 -04:00
2026-10-06 16:25:53 -07:00
2026-08-13 22:48:24 -07:00
2026-09-01 18:24:49 -07:00
2026-10-21 19:35:32 -07:00
2026-10-23 03:52:51 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 02:16:59 -07:00
2026-09-25 02:28:40 -07:00
2026-09-01 00:57:54 -07:00
2026-09-01 00:57:54 -07:00
2026-10-26 06:33:23 -07:00
2026-10-25 14:39:05 -07:00
2026-10-26 06:33:23 -07:00
2026-09-01 18:24:49 -07:00
2026-10-27 03:52:06 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 17:32:57 -07:00
2026-10-28 00:02:37 -07:00
2026-10-28 00:02:37 -07:00
2026-10-26 20:17:53 -07:00
2026-10-18 22:49:43 -04:00
2026-10-26 20:17:53 -07:00
2026-10-28 00:02:37 -07:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-10-09 23:39:05 -07:00
2026-10-09 23:39:05 -07:00
2026-10-23 17:39:44 -07:00
2026-09-01 00:57:54 -07:00
2026-09-30 02:13:03 -07:00
2026-10-23 02:16:59 -07:00
2026-10-25 02:37:30 -07:00
2026-10-25 02:37:30 -07:00
2026-09-01 18:24:49 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 02:16:59 -07:00
2026-09-01 18:24:49 -07:00
2026-10-23 17:25:22 -07:00
2026-10-27 22:04:12 +00:00
2026-10-25 22:57:53 +00:00
2026-10-26 01:49:54 -04:00
2026-09-01 12:27:01 -07:00
2026-10-27 22:04:12 +00:00
2026-10-23 02:16:59 -07:00
2026-10-23 02:16:59 -07:00
2026-09-21 11:52:37 -07:00
2026-10-23 17:39:44 -07:00
2026-09-03 02:00:46 -07:00
2026-10-21 23:50:12 +00:00
2026-10-21 23:50:12 +00:00
2026-10-28 00:02:37 -07:00
2026-10-23 17:39:44 -07:00
2026-10-25 11:00:28 -07:00
2026-10-25 11:00:28 -07:00
2026-09-01 18:24:49 -07:00
2026-10-28 00:20:39 -07:00
2026-10-28 00:20:39 -07:00
2026-10-28 00:02:37 -07:00
2026-10-02 20:57:47 -07:00