Colby Mchenry
511d86e94d
fix(mcp): replace a daemon left running by an older install ( #2335 ) ( #2343 )
...
A daemon keeps running the code it started with. The 1.6.1 daemon in
#2335 outlived an upgrade, kept loading grammars from the install the
upgrade removed and wrote every file it re-indexed as empty, while every
session from the new install served itself in-process, read-only, because
the old daemon held the writer lock. Daemons from before this change
cannot notice an upgrade, so the launcher acts:
- A launcher that finds a daemon of an older plain X.Y.Z release stops it
the way `codegraph daemon` does (daemon.pid and the socket hello must
agree; SIGTERM, SIGKILL only if it still answers) and starts one from
its own install. It finds the daemon by its hello on the launcher's own
socket, or by the project lock when it listens elsewhere: on Windows,
daemons before #2278 named their pipe after the root as typed. A daemon
of the same, a newer, a prerelease or an unknown version is never
touched, so two installs cannot take turns stopping each other's.
- The writer slot never falls free on the way. The launcher swaps
writer.pid to itself (mode `handover`) before the signal, clears the old
daemon's leftovers while it holds the slot, and the daemon it spawns
takes the slot over (CODEGRAPH_DAEMON_HANDOVER). Sessions of the old
daemon that fall back in-process find the slot held and serve reads
only, instead of claiming it with the removed install's code. A daemon
that does not exit gets the slot back, and a successor outwaits a racing
candidate that took daemon.pid first.
Validated on Windows with real npm upgrades from the published 1.6.1 and
1.6.2 to this build packed as 1.6.3, with the old session calling
throughout.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 14:45:10 +00:00
..
2026-04-06 14:27:13 -05:00
2026-10-05 14:45:10 +00:00
2026-06-02 10:15:27 -05:00
2026-06-22 12:06:35 -05:00
2026-09-27 13:39:18 +00:00
2026-06-28 22:46:24 -05:00
2026-09-30 07:06:23 +00:00
2026-09-27 16:26:10 +00:00
2026-10-01 04:05:02 +00:00
2026-09-16 07:51:26 +00:00
2026-09-28 23:57:18 +00:00
2026-07-12 20:09:03 -05:00
2026-07-15 19:11:06 -05:00
2026-09-29 03:01:46 +00:00
2026-08-29 13:40:05 -05:00
2026-08-29 13:46:01 -05:00
2026-09-27 15:10:09 +00:00
2026-10-01 02:14:13 +00:00
2026-07-19 17:48:27 -05:00
2026-08-06 17:50:25 +09:00
2026-09-08 00:23:08 -05:00
2026-06-20 21:22:52 -05:00
2026-09-30 10:09:18 +00:00
2026-07-02 18:41:55 -05:00
2026-07-02 19:02:16 -05:00
2026-10-02 05:00:47 +00:00
2026-10-03 04:55:49 +00:00
2026-09-27 13:03:26 +00:00
2026-06-13 14:48:52 -05:00
2026-09-08 17:45:06 -05:00
2026-08-26 10:39:06 -05:00
2026-09-08 17:17:31 -05:00
2026-09-08 16:00:58 -05:00
2026-08-26 10:38:21 -05:00
2026-07-16 14:39:26 -05:00
2026-09-27 11:57:16 +00:00
2026-09-08 16:17:28 -05:00
2026-06-28 22:01:47 -05:00
2026-09-27 13:24:46 +00:00
2026-09-08 09:52:56 -05:00
2026-09-30 04:17:34 +00:00
2026-09-15 16:36:00 +00:00
2026-06-13 15:18:55 -05:00
2026-07-09 20:54:45 -05:00
2026-10-01 21:47:52 +00:00
2026-09-08 09:37:20 -05:00
2026-09-30 18:49:15 +00:00
2026-10-01 20:37:37 +00:00
2026-05-21 15:48:04 -05:00
2026-06-08 00:10:10 -04:00
2026-06-08 22:43:54 -04:00
2026-08-06 17:50:25 +09:00
2026-07-01 12:13:42 -05:00
2026-09-30 18:07:46 +00:00
2026-09-29 00:46:41 +00:00
2026-10-02 04:49:00 +00:00
2026-09-30 16:38:59 +00:00
2026-09-30 20:36:51 +00:00
2026-09-08 16:17:28 -05:00
2026-09-08 18:07:18 -05:00
2026-09-08 00:00:39 -05:00
2026-09-30 08:10:26 +00:00
2026-09-30 10:41:06 +00:00
2026-09-30 23:56:34 +00:00
2026-09-30 23:02:05 +00:00
2026-10-05 14:41:59 +00:00
2026-09-30 04:50:16 +00:00
2026-09-27 12:30:53 +00:00
2026-06-08 01:25:21 -04:00
2026-06-28 20:11:05 -05:00
2026-09-28 18:13:35 +00:00
2026-07-07 09:13:13 -05:00
2026-09-28 18:13:35 +00:00
2026-09-27 15:26:49 +00:00
2026-10-05 14:45:10 +00:00
2026-10-02 10:36:42 +00:00
2026-10-03 05:05:29 +00:00
2026-10-02 06:16:25 +00:00
2026-09-15 16:36:00 +00:00
2026-09-30 09:30:58 +00:00
2026-09-30 21:31:14 +00:00
2026-09-27 12:23:04 +00:00
2026-10-01 02:56:43 +00:00
2026-09-27 13:54:58 +00:00
2026-09-27 14:15:29 +00:00
2026-09-27 13:04:17 +00:00
2026-09-30 14:54:31 +00:00
2026-08-22 11:55:14 -05:00
2026-09-30 12:15:50 +00:00
2026-09-29 04:37:41 +00:00
2026-05-24 04:41:04 -05:00
2026-09-27 19:55:33 +00:00
2026-09-30 19:26:19 +00:00
2026-08-26 10:39:15 -05:00
2026-08-26 10:39:15 -05:00
2026-09-30 12:07:48 +00:00
2026-06-26 20:25:47 -05:00
2026-08-04 00:56:50 -05:00
2026-08-04 02:13:46 -05:00
2026-08-01 01:50:44 -05:00
2026-08-06 15:10:46 -05:00
2026-09-28 15:54:00 +00:00
2026-06-22 12:06:35 -05:00
2026-09-08 13:13:03 -05:00
2026-09-08 11:27:05 -05:00
2026-08-04 00:37:17 -05:00
2026-08-06 02:59:46 -05:00
2026-09-08 07:31:04 -05:00
2026-09-27 13:25:42 +00:00
2026-09-28 06:20:54 +00:00
2026-09-27 16:26:10 +00:00
2026-09-28 06:04:10 +00:00
2026-09-28 07:21:01 +00:00
2026-09-28 07:21:01 +00:00
2026-09-27 19:55:33 +00:00
2026-08-06 21:11:51 -05:00
2026-09-27 19:55:33 +00:00
2026-09-08 18:28:36 -05:00
2026-09-27 16:26:10 +00:00
2026-08-22 09:05:30 -07:00
2026-08-20 09:10:07 -07:00
2026-09-28 06:34:36 +00:00
2026-09-28 07:21:01 +00:00
2026-08-04 00:02:45 -05:00
2026-08-06 03:45:28 -05:00
2026-06-28 22:23:35 -05:00
2026-09-28 08:03:11 +00:00
2026-08-05 13:24:06 -05:00
2026-06-22 12:06:35 -05:00
2026-09-30 07:28:28 +00:00
2026-09-08 10:07:46 -05:00
2026-10-01 03:52:28 +00:00
2026-10-01 20:11:26 +00:00
2026-09-27 13:40:31 +00:00
2026-06-22 16:16:23 -05:00
2026-09-30 13:18:33 +00:00
2026-09-30 12:44:03 +00:00
2026-09-27 16:26:10 +00:00
2026-10-02 05:00:47 +00:00
2026-09-30 07:49:17 +00:00
2026-09-30 11:30:56 +00:00
2026-06-13 09:48:44 -05:00
2026-09-27 13:07:56 +00:00
2026-07-16 16:11:24 -05:00
2026-10-01 21:33:41 +00:00
2026-09-30 11:03:06 +00:00
2026-10-01 20:32:07 +00:00
2026-09-30 11:55:43 +00:00
2026-08-20 12:53:49 -05:00
2026-09-30 11:36:02 +00:00
2026-10-01 00:45:56 +00:00
2026-09-27 16:26:10 +00:00
2026-10-01 00:45:56 +00:00
2026-10-02 04:12:11 +00:00
2026-09-08 19:57:48 -05:00
2026-10-02 04:47:36 +00:00
2026-09-30 08:31:10 +00:00
2026-09-08 11:12:07 +03:00
2026-09-30 04:56:59 +00:00
2026-09-27 13:41:49 +00:00
2026-05-28 23:41:11 -05:00
2026-08-22 11:53:33 -05:00
2026-05-20 10:32:08 -05:00
2026-09-29 03:01:46 +00:00
2026-09-27 13:12:55 +00:00
2026-09-27 13:12:55 +00:00
2026-07-16 14:52:11 -05:00
2026-09-27 12:24:33 +00:00
2026-10-01 02:09:41 +00:00
2026-06-22 18:16:11 -05:00
2026-10-01 02:04:33 +00:00
2026-07-10 03:42:30 -05:00
2026-09-27 13:09:25 +00:00
2026-08-20 09:10:07 -07:00
2026-09-08 08:00:52 -05:00
2026-09-30 07:28:28 +00:00
2026-07-07 10:11:58 -05:00
2026-07-07 13:01:38 -05:00
2026-09-27 15:26:49 +00:00
2026-09-27 15:26:49 +00:00
2026-06-26 20:25:47 -05:00
2026-09-28 18:14:10 +00:00
2026-09-30 17:13:27 +00:00
2026-06-29 23:35:50 -05:00
2026-09-27 15:10:20 +00:00
2026-05-28 15:13:23 -05:00
2026-08-28 13:45:38 -05:00
2026-06-02 14:23:33 -05:00
2026-09-30 06:00:17 +00:00
2026-09-30 14:54:31 +00:00
2026-09-30 19:45:40 +00:00
2026-10-01 02:49:34 +00:00
2026-09-27 13:30:02 +00:00
2026-10-01 01:18:09 +00:00
2026-09-30 06:22:18 +00:00
2026-09-09 00:54:15 -05:00
2026-09-27 13:46:34 +00:00
2026-10-05 14:41:59 +00:00
2026-07-20 19:55:48 -05:00
2026-08-26 10:38:29 -05:00
2026-07-20 19:55:48 -05:00
2026-09-08 17:33:45 -05:00
2026-09-27 13:35:19 +00:00
2026-09-27 13:35:19 +00:00
2026-07-20 16:08:22 -05:00
2026-07-20 18:28:28 -05:00
2026-08-20 12:16:51 -05:00
2026-07-20 15:44:13 -05:00
2026-09-27 13:10:17 +00:00
2026-09-27 13:35:19 +00:00
2026-09-27 13:32:17 +00:00
2026-09-29 21:43:56 +00:00
2026-09-27 13:42:27 +00:00
2026-09-30 15:20:22 +00:00
2026-09-30 15:52:23 +00:00
2026-09-30 15:36:22 +00:00
2026-09-30 21:25:06 +00:00
2026-09-30 17:51:32 +00:00
2026-09-30 13:09:06 +00:00
2026-09-30 15:20:22 +00:00
2026-10-01 21:40:38 +00:00
2026-06-21 09:45:24 -05:00
2026-09-29 16:03:02 +00:00
2026-08-20 12:53:49 -05:00
2026-09-30 16:51:48 +00:00
2026-09-27 13:58:22 +00:00
2026-06-22 12:41:26 -05:00
2026-09-30 20:46:25 +00:00
2026-09-30 10:54:33 +00:00
2026-09-30 18:34:52 +00:00
2026-09-30 09:04:08 +00:00
2026-09-15 05:30:09 +00:00
2026-09-27 13:46:58 +00:00
2026-10-02 06:18:02 +00:00
2026-05-25 23:48:10 -05:00
2026-05-26 15:39:48 -05:00
2026-10-02 21:58:28 +00:00
2026-09-27 16:26:10 +00:00
2026-10-02 04:24:34 +00:00
2026-09-15 05:30:09 +00:00
2026-10-02 04:15:24 +00:00
2026-06-26 19:31:12 -05:00
2026-09-27 16:26:10 +00:00
2026-10-02 04:13:42 +00:00
2026-10-02 04:16:48 +00:00
2026-08-01 01:12:52 -05:00
2026-09-29 18:52:32 +00:00
2026-07-07 08:45:12 -05:00
2026-10-02 21:58:28 +00:00
2026-09-27 16:26:10 +00:00
2026-06-20 13:23:16 -05:00
2026-09-08 18:28:36 -05:00
2026-06-23 12:57:47 -05:00
2026-09-28 18:13:35 +00:00
2026-06-20 22:34:24 -05:00
2026-09-30 23:18:21 +00:00
2026-09-27 13:54:58 +00:00
2026-09-30 21:09:20 +00:00
2026-09-30 07:34:14 +00:00
2026-10-02 07:07:34 +00:00
2026-09-28 18:13:35 +00:00
2026-09-27 12:22:27 +00:00
2026-08-22 11:54:27 -05:00
2026-08-28 09:46:50 -05:00
2026-09-30 19:01:48 +00:00
2026-09-08 10:07:46 -05:00
2026-09-30 03:17:35 +00:00
2026-10-01 04:15:09 +00:00
2026-08-31 11:34:26 -05:00
2026-07-06 12:41:32 -05:00
2026-09-08 19:40:48 -05:00
2026-09-27 11:57:16 +00:00
2026-05-21 15:48:04 -05:00
2026-05-21 15:48:04 -05:00
2026-05-31 19:05:40 -05:00
2026-07-07 08:45:12 -05:00
2026-09-30 10:33:32 +00:00
2026-10-01 03:45:49 +00:00
2026-09-30 17:04:59 +00:00
2026-09-15 05:30:09 +00:00
2026-06-20 15:17:31 -05:00
2026-09-08 13:45:22 -05:00
2026-10-02 07:07:34 +00:00
2026-10-02 08:48:01 +00:00
2026-10-02 04:28:02 +00:00
2026-09-08 15:11:20 -05:00
2026-10-02 04:20:59 +00:00
2026-10-01 02:22:47 +00:00
2026-07-10 15:47:57 -05:00
2026-09-30 10:47:28 +00:00
2026-09-30 08:58:39 +00:00
2026-06-20 20:30:13 -05:00
2026-09-30 11:16:46 +00:00
2026-06-26 20:25:47 -05:00
2026-08-03 23:13:59 -05:00
2026-09-08 11:51:02 -05:00
2026-05-26 03:25:06 -05:00
2026-09-30 21:52:10 +00:00
2026-06-24 14:48:16 -05:00
2026-10-03 05:05:29 +00:00
2026-10-03 05:05:29 +00:00
2026-10-01 01:35:48 +00:00
2026-09-27 16:26:10 +00:00
2026-09-30 23:33:28 +00:00
2026-09-30 20:07:30 +00:00
2026-09-08 10:29:53 -05:00
2026-10-01 04:34:57 +00:00
2026-09-08 09:30:01 -05:00
2026-09-30 16:27:41 +00:00
2026-09-30 05:52:25 +00:00
2026-10-02 04:42:23 +00:00
2026-09-28 08:03:11 +00:00
2026-10-02 18:03:28 +00:00
2026-10-01 03:10:36 +00:00
2026-09-30 09:09:12 +00:00
2026-10-01 21:31:06 +00:00
2026-09-30 11:12:36 +00:00
2026-10-01 03:31:22 +00:00
2026-06-21 11:35:12 -05:00
2026-08-28 09:46:50 -05:00
2026-09-15 05:30:09 +00:00
2026-09-30 22:10:14 +00:00
2026-09-30 18:17:06 +00:00
2026-09-30 12:34:11 +00:00
2026-09-30 12:34:11 +00:00
2026-06-20 14:45:51 -05:00
2026-09-27 19:55:29 +00:00
2026-08-20 12:36:22 -05:00
2026-09-15 05:30:09 +00:00
2026-07-10 17:37:20 -05:00
2026-09-27 13:03:39 +00:00
2026-09-08 00:32:05 -05:00
2026-10-02 04:47:36 +00:00
2026-10-02 10:20:23 +00:00
2026-09-30 07:57:43 +00:00
2026-09-27 13:12:42 +00:00
2026-09-30 20:28:25 +00:00
2026-06-20 19:23:37 -05:00
2026-09-30 09:58:12 +00:00
2026-10-01 00:34:57 +00:00
2026-09-30 12:58:08 +00:00
2026-09-30 05:34:51 +00:00
2026-10-01 01:58:11 +00:00
2026-09-16 07:18:40 +00:00
2026-09-30 22:54:08 +00:00
2026-06-22 12:06:35 -05:00
2026-09-30 11:46:04 +00:00
2026-09-30 19:15:47 +00:00
2026-09-30 20:13:54 +00:00
2026-09-30 23:07:39 +00:00
2026-10-01 01:52:04 +00:00
2026-09-29 03:01:50 +00:00
2026-05-07 20:35:49 -05:00
2026-09-27 14:16:48 +00:00
2026-07-02 17:23:54 -05:00
2026-10-01 00:27:15 +00:00
2026-09-30 22:32:43 +00:00
2026-10-02 06:18:46 +00:00
2026-10-01 21:24:06 +00:00
2026-10-01 01:25:35 +00:00
2026-06-21 01:32:33 -05:00
2026-09-30 16:59:19 +00:00
2026-10-01 03:37:32 +00:00
2026-06-20 22:00:43 -05:00
2026-10-01 00:16:23 +00:00
2026-09-27 14:15:29 +00:00
2026-09-27 13:58:22 +00:00
2026-07-06 09:07:15 -05:00
2026-06-11 12:04:51 -05:00
2026-09-29 17:40:28 +00:00
2026-09-15 05:30:09 +00:00
2026-08-28 09:46:50 -05:00
2026-05-07 22:03:33 -05:00
2026-07-19 17:48:27 -05:00
2026-07-02 17:11:19 -05:00
2026-09-30 07:48:48 +00:00
2026-10-01 01:46:07 +00:00
2026-09-30 06:50:41 +00:00
2026-08-31 11:34:26 -05:00
2026-09-30 13:43:36 +00:00
2026-09-29 21:43:56 +00:00
2026-09-30 21:03:23 +00:00
2026-10-01 03:02:05 +00:00
2026-09-30 21:15:33 +00:00
2026-05-26 02:14:00 -05:00
2026-05-26 02:14:00 -05:00
2026-09-30 03:59:28 +00:00
2026-09-29 20:31:21 +00:00
2026-09-29 22:05:38 +00:00
2026-09-08 19:40:48 -05:00
2026-09-28 18:13:35 +00:00
2026-10-02 04:26:51 +00:00
2026-07-16 18:07:51 -05:00
2026-07-08 23:18:23 -05:00
2026-08-31 11:34:26 -05:00
2026-09-27 13:10:17 +00:00
2026-09-16 06:51:19 +00:00
2026-10-03 05:58:44 +00:00
2026-09-30 19:58:52 +00:00
2026-10-02 06:18:46 +00:00
2026-09-29 16:24:49 +00:00
2026-09-15 05:30:09 +00:00
2026-06-11 14:48:11 -05:00
2026-09-27 13:30:02 +00:00
2026-08-22 11:55:01 -05:00
2026-08-27 07:14:55 -05:00
2026-09-30 05:23:22 +00:00
2026-08-28 10:21:46 -05:00
2026-08-29 12:00:04 -05:00
2026-08-27 05:20:15 -05:00
2026-09-30 04:56:59 +00:00
2026-08-27 04:28:56 -05:00
2026-08-31 23:49:39 -05:00
2026-08-27 01:43:00 -05:00
2026-08-27 03:47:42 -05:00
2026-08-27 03:47:42 -05:00
2026-09-27 12:28:04 +00:00
2026-08-27 04:54:37 -05:00
2026-10-01 21:47:52 +00:00
2026-08-27 06:22:11 -05:00
2026-10-01 21:30:46 +00:00
2026-08-31 23:49:39 -05:00
2026-09-27 12:28:04 +00:00
2026-10-01 20:23:31 +00:00
2026-10-01 20:23:31 +00:00
2026-08-28 10:21:46 -05:00
2026-08-27 05:20:15 -05:00
2026-09-30 21:34:36 +00:00
2026-08-27 08:31:48 -05:00
2026-08-29 13:40:05 -05:00
2026-08-31 15:38:13 -05:00
2026-08-28 14:52:40 -05:00
2026-09-09 00:54:15 -05:00
2026-08-29 13:40:05 -05:00
2026-08-27 06:22:11 -05:00
2026-08-27 08:31:48 -05:00
2026-08-27 08:31:48 -05:00
2026-09-27 13:04:17 +00:00
2026-06-13 12:35:18 -05:00
2026-07-10 17:36:47 -05:00
2026-10-02 06:19:41 +00:00
2026-06-16 12:16:00 -05:00
2026-10-01 22:52:43 +00:00
2026-09-30 11:23:58 +00:00
2026-09-29 19:50:24 +00:00
2026-09-30 10:15:37 +00:00
2026-10-05 14:41:59 +00:00
2026-09-29 05:01:34 +00:00
2026-09-30 08:22:09 +00:00
2026-09-30 22:01:39 +00:00
2026-09-30 06:46:26 +00:00
2026-06-20 20:08:34 -05:00
2026-06-20 20:49:06 -05:00
2026-09-08 01:06:56 -05:00
2026-09-27 19:55:37 +00:00
2026-07-15 19:44:09 -05:00
2026-05-21 18:06:02 -05:00
2026-09-29 03:01:38 +00:00
2026-09-29 18:28:40 +00:00
2026-10-02 21:58:28 +00:00
2026-06-28 19:35:17 -05:00
2026-09-27 15:01:02 +00:00
2026-09-28 05:22:18 +00:00