brooklyn!
6d85d790e4
fix(update): hand off only the dependency sync, not the whole update ( #90240 )
...
`hermes update` on Windows detached on every run, including the
`Already up to date!` no-op that never touches the venv. emozilla hit
the visible half: the shim exits, PowerShell takes the console back,
and a child prints the result under a fresh prompt — it reads as a
frozen update. The invisible half is worse: the hand-off sat ahead of
the fetch, so it also carried off the stash and branch-switch
questions, which #90205 then had to answer by closing stdin. Nobody
who mods Hermes got asked about their local changes again.
The shim lock is real and the child is still required — a launcher
holds venv\Scripts\hermes.exe open without FILE_SHARE_DELETE for the
whole command, so the quarantine rename is refused and uv fails with
os error 32. A parent that waits deadlocks against the handle it is
itself holding, and Windows has no exec to escape with.
But that lock only binds one step. Move the hand-off to the dependency
sync boundary, beside the native-module deferral that solves the same
"this process holds a file the sync must replace" problem — and for
the reason that placement already exists (#86735 : a preflight ahead of
the fetch re-bricked the flow it was meant to protect). Everything
before the sync now runs foreground in the user's console: the
preflight, the stash question, the branch switch, git pull. An
up-to-date run never hands off at all.
Deferring to the next launch cannot substitute here the way it does
for a mapped .pyd: every future `hermes` launch is also the shim, so
the marker would defer forever. The child re-runs the update to keep
the node/web/lazy-refresh tail, and takes the sync it was spawned for
rather than the up-to-date early return.
2026-08-20 03:43:00 -07:00
..
2026-08-14 21:39:01 +00:00
2026-08-12 18:52:08 -07:00
2026-08-18 20:42:06 -04:00
2026-07-22 16:51:01 -04:00
2026-08-20 03:05:46 -07:00
2026-08-18 02:27:18 -07:00
2026-08-18 00:26:29 -07:00
2026-08-15 03:54:07 -07:00
2026-08-19 13:11:35 -05:00
2026-08-19 16:32:17 -07:00
2026-08-16 02:03:22 -07:00
2026-08-20 03:05:46 -07:00
2026-08-16 06:32:08 -07:00
2026-08-15 00:33:01 -07:00
2026-08-02 14:55:32 +05:30
2026-08-08 23:56:46 -07:00
2026-07-26 21:13:03 -07:00
2026-08-12 16:26:55 -07:00
2026-08-07 08:57:39 -07:00
2026-08-07 08:57:39 -07:00
2026-08-19 19:34:36 -07:00
2026-08-19 19:34:36 -07:00
2026-07-11 12:28:55 +05:30
2026-08-20 01:47:06 -07:00
2026-07-31 21:21:20 -07:00
2026-08-17 15:47:17 -07:00
2026-08-07 17:45:06 +05:30
2026-07-29 23:16:18 -07:00
2026-08-19 19:34:36 -07:00
2026-08-02 20:21:59 -07:00
2026-08-08 15:10:35 +05:30
2026-08-16 06:32:08 -07:00
2026-08-19 16:32:17 -07:00
2026-07-29 11:53:39 -07:00
2026-08-20 01:46:08 -07:00
2026-08-19 19:34:36 -07:00
2026-07-29 08:42:16 -07:00
2026-08-18 12:51:36 -07:00
2026-07-01 23:51:54 +05:30
2026-08-20 01:46:08 -07:00
2026-06-01 19:51:03 -07:00
2026-08-20 02:04:32 -07:00
2026-08-19 08:52:03 -07:00
2026-08-20 01:46:54 -07:00
2026-08-20 03:05:46 -07:00
2026-08-01 10:52:34 -07:00
2026-07-22 21:17:21 -07:00
2026-08-19 19:22:48 -07:00
2026-07-19 03:02:21 -07:00
2026-08-17 11:29:10 -07:00
2026-08-16 22:06:41 -07:00
2026-08-10 15:13:29 -04:00
2026-08-16 10:51:50 -07:00
2026-06-27 21:30:37 -07:00
2026-08-04 11:53:32 -06:00
2026-06-24 18:56:26 -07:00
2026-08-13 02:38:28 -07:00
2026-06-30 17:29:23 -07:00
2026-07-07 04:09:35 -07:00
2026-08-13 02:38:28 -07:00
2026-08-19 23:03:58 -07:00
2026-08-19 16:16:37 -07:00
2026-08-15 13:28:14 -07:00
2026-07-26 23:41:54 -07:00
2026-07-31 22:35:26 -07:00
2026-07-26 18:10:34 -07:00
2026-08-20 02:06:05 -07:00
2026-07-29 11:53:39 -07:00
2026-08-16 06:26:12 -07:00
2026-08-19 19:34:36 -07:00
2026-08-15 04:33:47 -07:00
2026-08-18 16:08:29 -07:00
2026-08-05 11:47:05 -04:00
2026-08-18 16:08:29 -07:00
2026-08-13 23:10:16 +05:30
2026-07-26 17:46:29 -07:00
2026-07-15 07:39:42 -07:00
2026-08-19 23:28:14 -05:00
2026-07-01 16:25:48 -05:00
2026-08-17 14:16:21 +05:30
2026-07-15 07:39:17 -07:00
2026-08-10 12:43:46 -07:00
2026-07-15 07:39:17 -07:00
2026-08-10 12:43:46 -07:00
2026-08-17 14:16:21 +05:30
2026-07-27 21:10:51 -07:00
2026-08-05 11:47:05 -04:00
2026-07-05 13:42:46 -07:00
2026-08-18 16:08:29 -07:00
2026-08-20 03:43:00 -07:00
2026-06-19 07:46:33 -07:00
2026-08-14 22:37:46 -07:00
2026-08-15 02:03:24 -07:00
2026-08-16 02:24:32 -07:00
2026-06-21 19:05:27 -07:00
2026-08-07 09:44:21 -07:00
2026-08-02 22:44:38 +05:30
2026-06-22 19:16:47 -05:00
2026-08-19 23:15:01 -07:00
2026-07-29 11:53:39 -07:00
2026-08-12 21:50:35 -07:00
2026-08-12 21:50:35 -07:00
2026-08-01 14:52:18 -07:00
2026-08-14 01:31:31 -07:00
2026-08-14 01:06:13 -07:00
2026-08-04 19:35:57 +00:00
2026-07-26 21:22:40 -07:00
2026-08-14 01:06:13 -07:00
2026-08-19 19:34:36 -07:00
2026-08-18 14:26:16 -07:00
2026-08-19 23:28:14 -05:00
2026-08-07 19:47:40 +05:30
2026-06-21 22:43:48 -07:00
2026-07-29 10:13:50 -07:00
2026-08-19 22:44:11 -07:00
2026-08-14 21:35:30 -07:00
2026-07-29 10:14:11 -07:00
2026-08-19 19:41:52 -07:00
2026-07-29 17:51:40 -05:00
2026-07-02 05:10:31 -07:00
2026-08-09 10:33:58 -07:00
2026-08-15 00:32:44 -07:00
2026-08-12 20:10:51 -07:00
2026-08-12 20:10:51 -07:00
2026-08-12 18:39:22 -07:00
2026-08-12 18:52:08 -07:00
2026-08-12 19:56:44 -07:00
2026-08-19 19:34:36 -07:00
2026-08-19 08:52:03 -07:00
2026-07-28 22:42:19 -07:00
2026-07-15 07:39:17 -07:00
2026-08-06 05:00:17 +05:30
2026-08-18 02:27:18 -07:00
2026-06-25 16:40:26 -05:00
2026-08-15 00:33:11 -07:00
2026-08-16 06:24:56 -07:00
2026-07-31 21:21:16 -07:00
2026-06-25 13:52:06 -07:00
2026-08-18 14:27:36 -07:00
2026-07-29 11:53:39 -07:00
2026-08-20 12:16:20 +05:30
2026-07-29 10:14:11 -07:00
2026-08-14 13:51:26 -07:00
2026-06-27 15:59:00 -07:00
2026-08-19 08:52:03 -07:00
2026-08-10 17:02:56 -07:00
2026-07-29 17:13:48 +05:30
2026-08-18 14:26:16 -07:00
2026-06-17 01:04:26 +08:00
2026-08-15 01:55:22 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 10:47:20 -07:00
2026-08-08 12:32:23 -07:00
2026-08-14 21:07:21 -07:00
2026-08-15 02:04:49 -07:00
2026-07-07 12:36:41 -07:00
2026-08-15 02:04:49 -07:00
2026-07-26 19:30:21 -07:00
2026-07-31 22:36:55 -07:00
2026-08-15 00:31:37 -07:00
2026-07-17 04:53:38 -07:00
2026-08-12 19:43:47 -07:00
2026-08-20 02:06:05 -07:00
2026-07-26 08:43:24 -07:00
2026-08-19 19:34:36 -07:00
2026-08-19 19:34:36 -07:00
2026-08-08 15:10:35 +05:30
2026-07-09 19:57:54 -07:00
2026-08-19 19:34:36 -07:00
2026-08-05 11:59:33 +05:30
2026-07-21 21:00:43 -05:00
2026-07-29 09:33:48 -07:00
2026-08-18 02:27:18 -07:00
2026-07-24 16:00:03 -07:00
2026-07-31 23:18:12 -07:00
2026-06-25 16:40:26 -05:00
2026-08-07 08:58:14 -07:00
2026-08-16 01:54:35 -07:00
2026-08-07 17:45:06 +05:30
2026-06-05 03:20:10 -07:00
2026-08-15 18:15:18 -07:00
2026-08-02 16:16:36 -07:00
2026-08-14 00:26:11 -07:00
2026-08-19 16:48:40 -07:00
2026-07-29 11:53:39 -07:00
2026-08-06 05:00:17 +05:30
2026-08-20 03:43:00 -07:00
2026-07-31 22:28:46 -07:00
2026-08-14 16:43:37 -07:00
2026-07-29 19:48:37 -07:00
2026-08-07 10:11:05 -07:00
2026-08-15 01:05:39 -07:00
2026-07-29 16:21:54 -07:00
2026-08-16 20:53:44 -07:00
2026-08-15 01:21:40 -07:00
2026-08-20 02:58:31 +05:30
2026-07-24 11:45:57 -07:00
2026-07-29 10:14:11 -07:00
2026-08-01 14:30:16 -07:00
2026-08-19 23:55:20 -07:00
2026-08-19 23:55:20 -07:00
2026-06-09 23:21:14 -07:00
2026-08-06 05:00:17 +05:30