teamshare-bridge 0.22.1 → 0.22.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bridge/daemon-instance.d.ts +80 -0
- package/dist/bridge/daemon-instance.js +273 -0
- package/dist/bridge/daemon-instance.js.map +1 -1
- package/dist/bridge/daemon.js +15 -0
- package/dist/bridge/daemon.js.map +1 -1
- package/dist/bridge/index.js +12 -0
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/service.d.ts +50 -28
- package/dist/bridge/service.js +157 -254
- package/dist/bridge/service.js.map +1 -1
- package/dist/bridge/singleton-policy.d.ts +84 -0
- package/dist/bridge/singleton-policy.js +99 -0
- package/dist/bridge/singleton-policy.js.map +1 -0
- package/package.json +1 -1
package/dist/bridge/service.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runDaemon = exports.CRASH_BACKOFF_MS = exports.AUTOSTART_TASK_NAME = exports.LAUNCH_LOG_PATH = exports.LOG_PATH = void 0;
|
|
3
|
+
exports.runDaemon = exports.SINGLETON_SWEEP_EVERY_TICKS = exports.CRASH_BACKOFF_MS = exports.pidInfo = exports.listOurDaemonPids = exports.isOurDaemonProcess = exports.AUTOSTART_TASK_NAME = exports.LAUNCH_LOG_PATH = exports.LOG_PATH = void 0;
|
|
4
4
|
exports.runningPid = runningPid;
|
|
5
5
|
exports.isPortAnswering = isPortAnswering;
|
|
6
|
-
exports.listOurDaemonPids = listOurDaemonPids;
|
|
7
6
|
exports.stopAllDaemons = stopAllDaemons;
|
|
8
7
|
exports.verifyRunningPid = verifyRunningPid;
|
|
9
8
|
exports.startDaemon = startDaemon;
|
|
@@ -79,13 +78,7 @@ function runningPid() {
|
|
|
79
78
|
}
|
|
80
79
|
/** True when a TeamShare daemon answers /ping with ok:true on `port` (sync probe). */
|
|
81
80
|
function probeHealthy(port) {
|
|
82
|
-
|
|
83
|
-
'-e',
|
|
84
|
-
`fetch('http://127.0.0.1:${port}/ping',{signal:AbortSignal.timeout(2000)})` +
|
|
85
|
-
'.then(async r=>{try{const b=await r.json();process.exit(b&&b.ok===true?0:1)}catch{process.exit(1)}})' +
|
|
86
|
-
'.catch(()=>process.exit(1))',
|
|
87
|
-
], { stdio: 'ignore', timeout: 5000, windowsHide: true });
|
|
88
|
-
return res.status === 0;
|
|
81
|
+
return (0, daemon_instance_1.probePortAnswering)(port);
|
|
89
82
|
}
|
|
90
83
|
/**
|
|
91
84
|
* True when a TeamShare daemon answers /ping on `port` (for honest status).
|
|
@@ -101,6 +94,10 @@ function probeHealthy(port) {
|
|
|
101
94
|
* fallback port), so a healthy daemon is never mistaken for a zombie - and
|
|
102
95
|
* because it is exclusive, "some daemon is healthy" and "the daemon I asked
|
|
103
96
|
* about is healthy" cannot disagree.
|
|
97
|
+
*
|
|
98
|
+
* It is NOT, however, proof that no SECOND daemon is running: that question is
|
|
99
|
+
* answered by process enumeration in `startDaemon`/`stopDaemon`, which is the
|
|
100
|
+
* only place that can see a daemon whose lock was lost.
|
|
104
101
|
*/
|
|
105
102
|
function daemonHealthy() {
|
|
106
103
|
return (0, daemon_instance_1.resolveDaemonInstanceSync)() !== null;
|
|
@@ -109,70 +106,26 @@ function daemonHealthy() {
|
|
|
109
106
|
function isPortAnswering(port) {
|
|
110
107
|
return probeHealthy(port);
|
|
111
108
|
}
|
|
112
|
-
function pidInfo(pid) {
|
|
113
|
-
try {
|
|
114
|
-
if (process.platform === 'win32') {
|
|
115
|
-
const res = (0, node_child_process_1.spawnSync)('powershell.exe', [
|
|
116
|
-
'-NoProfile',
|
|
117
|
-
'-NonInteractive',
|
|
118
|
-
'-Command',
|
|
119
|
-
'$n=(Get-Process -Id ' +
|
|
120
|
-
pid +
|
|
121
|
-
' -ErrorAction SilentlyContinue).ProcessName; ' +
|
|
122
|
-
'$c=(Get-CimInstance Win32_Process -Filter "ProcessId=' +
|
|
123
|
-
pid +
|
|
124
|
-
'" -ErrorAction SilentlyContinue).CommandLine; ' +
|
|
125
|
-
'"$n`t$c"',
|
|
126
|
-
], { stdio: 'pipe', encoding: 'utf8', timeout: 5_000, windowsHide: true });
|
|
127
|
-
const out = (res.stdout ?? '').trim();
|
|
128
|
-
if (!out)
|
|
129
|
-
return null;
|
|
130
|
-
const tab = out.indexOf('\t');
|
|
131
|
-
const name = (tab >= 0 ? out.slice(0, tab) : out).trim();
|
|
132
|
-
const cmdline = tab >= 0 ? out.slice(tab + 1).trim() : '';
|
|
133
|
-
return { name: name || null, cmdline: cmdline || null };
|
|
134
|
-
}
|
|
135
|
-
const res = (0, node_child_process_1.spawnSync)('ps', ['-p', String(pid), '-o', 'args='], {
|
|
136
|
-
stdio: 'pipe',
|
|
137
|
-
encoding: 'utf8',
|
|
138
|
-
timeout: 5_000,
|
|
139
|
-
});
|
|
140
|
-
const out = (res.stdout ?? '').trim();
|
|
141
|
-
if (!out || out === 'args=')
|
|
142
|
-
return null;
|
|
143
|
-
return { name: null, cmdline: out };
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
109
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
110
|
+
* Best-effort identity of a pid: image name + command line. null = process
|
|
111
|
+
* gone or unqueryable - never treat as "ours to kill".
|
|
112
|
+
*
|
|
113
|
+
* Re-exported from `daemon-instance`, which owns process identity for the whole
|
|
114
|
+
* daemon lifecycle: `listOurDaemonPids` and the boot guard must agree with
|
|
115
|
+
* `stopDaemon` about what "our daemon" means, and two copies of that test is
|
|
116
|
+
* how they drift apart.
|
|
154
117
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
// Name first: a recycled pid held by a foreign process (GameInputSvc,
|
|
160
|
-
// services, …) is NEVER ours, even when its command line is unqueryable.
|
|
161
|
-
if (info.name && !/^node(?:\.exe)?$/i.test(info.name))
|
|
162
|
-
return false;
|
|
163
|
-
if (info.cmdline) {
|
|
164
|
-
return /(index\.js|teamshare)/i.test(info.cmdline) && /\bdaemon\b/i.test(info.cmdline);
|
|
165
|
-
}
|
|
166
|
-
// node-ish but cmdline denied — caller falls back to runtime.json.
|
|
167
|
-
return null;
|
|
168
|
-
}
|
|
118
|
+
var daemon_instance_2 = require("./daemon-instance");
|
|
119
|
+
Object.defineProperty(exports, "isOurDaemonProcess", { enumerable: true, get: function () { return daemon_instance_2.isOurDaemonProcess; } });
|
|
120
|
+
Object.defineProperty(exports, "listOurDaemonPids", { enumerable: true, get: function () { return daemon_instance_2.listOurDaemonPids; } });
|
|
121
|
+
Object.defineProperty(exports, "pidInfo", { enumerable: true, get: function () { return daemon_instance_2.pidInfo; } });
|
|
169
122
|
/**
|
|
170
123
|
* Identity decision before killing a pid from the pid file:
|
|
171
124
|
* ours (cmdline match, or runtime.json agrees while cmdline is unqueryable)
|
|
172
125
|
* → kill allowed; anything else → clear the stale file, kill nothing.
|
|
173
126
|
*/
|
|
174
127
|
function pidIsOurDaemon(pid) {
|
|
175
|
-
const identity = isOurDaemonProcess(pid);
|
|
128
|
+
const identity = (0, daemon_instance_1.isOurDaemonProcess)(pid);
|
|
176
129
|
if (identity === true)
|
|
177
130
|
return true;
|
|
178
131
|
if (identity === false)
|
|
@@ -201,125 +154,41 @@ function clearForeignPidFile(pid) {
|
|
|
201
154
|
/* best-effort */
|
|
202
155
|
}
|
|
203
156
|
}
|
|
204
|
-
/**
|
|
205
|
-
* Every pid on this machine that is VERIFIABLY a TeamShare daemon (2026-10).
|
|
206
|
-
*
|
|
207
|
-
* `daemon.lock` is NOT good enough on its own, and that is the whole reason this
|
|
208
|
-
* exists. During the incident that motivated it, `daemon.lock` held pid 24148
|
|
209
|
-
* (already dead) while THREE real daemons ran on three different ports. Anything
|
|
210
|
-
* that trusts the lock alone — `stopDaemon`, and therefore the auto-upgrade —
|
|
211
|
-
* concludes "daemon is not running", skips the stop, and runs `npm i -g` over a
|
|
212
|
-
* directory that live processes still have open. On Windows that aborts the
|
|
213
|
-
* install with EBUSY on a mapped native DLL and leaves the install HALF-WRITTEN:
|
|
214
|
-
* `socket.io-client/build/cjs/index.js` never gets created, and every subsequent
|
|
215
|
-
* daemon boot dies at require.
|
|
216
|
-
*
|
|
217
|
-
* A pid is returned only when its command line matches `isOurDaemonProcess`, so a
|
|
218
|
-
* recycled pid held by an unrelated program is never returned and can never be
|
|
219
|
-
* killed. The supervisor is excluded by the same test (its argv says `supervisor`,
|
|
220
|
-
* not `daemon`) — an upgrade stops daemons, never the watchdog that restarts them.
|
|
221
|
-
*
|
|
222
|
-
* Unqueryable processes (access denied) are simply absent from the list; callers
|
|
223
|
-
* treat "cannot enumerate" as "cannot confirm", which is the safe direction.
|
|
224
|
-
*/
|
|
225
|
-
function listOurDaemonPids() {
|
|
226
|
-
const out = (() => {
|
|
227
|
-
if (process.platform === 'win32') {
|
|
228
|
-
const res = (0, node_child_process_1.spawnSync)('powershell.exe', [
|
|
229
|
-
'-NoProfile',
|
|
230
|
-
'-NonInteractive',
|
|
231
|
-
'-Command',
|
|
232
|
-
'Get-CimInstance Win32_Process -Filter "Name=\'node.exe\'" | ' +
|
|
233
|
-
'ForEach-Object { "$($_.ProcessId)`t$($_.CommandLine)" }',
|
|
234
|
-
], { stdio: 'pipe', encoding: 'utf8', timeout: 10_000, windowsHide: true });
|
|
235
|
-
return res.stdout ?? '';
|
|
236
|
-
}
|
|
237
|
-
const res = (0, node_child_process_1.spawnSync)('ps', ['-eo', 'pid=,args='], {
|
|
238
|
-
stdio: 'pipe',
|
|
239
|
-
encoding: 'utf8',
|
|
240
|
-
timeout: 10_000,
|
|
241
|
-
});
|
|
242
|
-
return res.stdout ?? '';
|
|
243
|
-
})();
|
|
244
|
-
const pids = [];
|
|
245
|
-
for (const line of out.split(/\r?\n/)) {
|
|
246
|
-
const tab = line.indexOf('\t');
|
|
247
|
-
const pid = Number(tab >= 0 ? line.slice(0, tab) : line.slice(0, line.indexOf(' ')).trim());
|
|
248
|
-
if (!Number.isInteger(pid) || pid <= 0)
|
|
249
|
-
continue;
|
|
250
|
-
// Re-use the single-process identity test so "verified" means exactly the same
|
|
251
|
-
// thing here as it does everywhere else a pid is about to be killed.
|
|
252
|
-
if (isOurDaemonProcess(pid) === true)
|
|
253
|
-
pids.push(pid);
|
|
254
|
-
}
|
|
255
|
-
return pids;
|
|
256
|
-
}
|
|
257
|
-
/** Terminate one verified daemon pid: SIGTERM, then force on Windows. */
|
|
258
|
-
function killDaemonPid(pid, timeoutMs) {
|
|
259
|
-
try {
|
|
260
|
-
process.kill(pid);
|
|
261
|
-
}
|
|
262
|
-
catch {
|
|
263
|
-
/* already gone */
|
|
264
|
-
}
|
|
265
|
-
const deadline = Date.now() + timeoutMs;
|
|
266
|
-
while (pidAlive(pid) && Date.now() < deadline) {
|
|
267
|
-
/* brief wait for a clean exit */
|
|
268
|
-
}
|
|
269
|
-
if (!pidAlive(pid))
|
|
270
|
-
return true;
|
|
271
|
-
if (process.platform === 'win32') {
|
|
272
|
-
// Windows: a detached console node.exe has no window to close politely, so
|
|
273
|
-
// WM_CLOSE is not an option and /F is the only way.
|
|
274
|
-
(0, node_child_process_1.spawnSync)('taskkill', ['/pid', String(pid), '/f'], {
|
|
275
|
-
stdio: 'ignore',
|
|
276
|
-
windowsHide: true,
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
try {
|
|
281
|
-
process.kill(pid, 'SIGKILL');
|
|
282
|
-
}
|
|
283
|
-
catch {
|
|
284
|
-
/* best-effort */
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
const hard = Date.now() + 3000;
|
|
288
|
-
while (pidAlive(pid) && Date.now() < hard) {
|
|
289
|
-
/* wait for the kill to land */
|
|
290
|
-
}
|
|
291
|
-
return !pidAlive(pid);
|
|
292
|
-
}
|
|
293
157
|
/**
|
|
294
158
|
* Stop EVERY verified daemon on this machine, not just the one in the lock.
|
|
295
159
|
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
299
|
-
*
|
|
160
|
+
* The auto-upgrade needs this (it must not write over a directory a live process
|
|
161
|
+
* still has mapped), and so does plain `stop`: a lock-only `stop` is what let
|
|
162
|
+
* three daemons survive a "daemon is not running" and then break the next
|
|
163
|
+
* `npm i -g` with EBUSY. Returns the pids it could NOT kill so callers can
|
|
164
|
+
* ABORT rather than proceed — a half-installed bridge is strictly worse than an
|
|
165
|
+
* out-of-date one.
|
|
300
166
|
*/
|
|
301
167
|
function stopAllDaemons() {
|
|
302
168
|
const stopped = [];
|
|
303
169
|
const survivors = [];
|
|
304
|
-
for (const pid of listOurDaemonPids()) {
|
|
305
|
-
if (killDaemonPid(pid, 5000))
|
|
170
|
+
for (const pid of (0, daemon_instance_1.listOurDaemonPids)()) {
|
|
171
|
+
if ((0, daemon_instance_1.killDaemonPid)(pid, 5000))
|
|
306
172
|
stopped.push(pid);
|
|
307
173
|
else
|
|
308
174
|
survivors.push(pid);
|
|
309
175
|
}
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
176
|
+
// Only clear the files when the machine is genuinely free. Clearing them while
|
|
177
|
+
// a survivor is still running is precisely how a live daemon becomes invisible
|
|
178
|
+
// and the next start piles a second one on top of it.
|
|
179
|
+
if (survivors.length === 0) {
|
|
180
|
+
try {
|
|
181
|
+
(0, node_fs_1.rmSync)(PID_PATH, { force: true });
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
/* already gone */
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
(0, daemon_instance_1.clearDaemonLock)();
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
/* already gone */
|
|
191
|
+
}
|
|
323
192
|
}
|
|
324
193
|
const message = survivors.length > 0
|
|
325
194
|
? `${stopped.length} stopped, ${survivors.length} could not be stopped (${survivors.join(', ')})`
|
|
@@ -345,48 +214,51 @@ function verifyRunningPid() {
|
|
|
345
214
|
* `start`: spawns the daemon detached (stdio -> ~/.teamshare/daemon.log) and
|
|
346
215
|
* records the pid. `daemon` stays the foreground alias for debugging.
|
|
347
216
|
*
|
|
348
|
-
*
|
|
349
|
-
* the
|
|
350
|
-
*
|
|
351
|
-
*
|
|
217
|
+
* ONE DAEMON, ALWAYS (2026-10). The old version asked the pid file one question
|
|
218
|
+
* — "is the pid in the file healthy?" — and that is not the question that keeps
|
|
219
|
+
* a machine clean. A daemon holding no lock (lock expired after 24h, cleared by
|
|
220
|
+
* a half-written install, unreadable) is invisible to it, so every 30s the
|
|
221
|
+
* watchdog answered "no daemon" and spawned another: three were alive at once,
|
|
222
|
+
* and `npm i -g` over their still-mapped native DLL failed with EBUSY and left
|
|
223
|
+
* the bridge unusable.
|
|
224
|
+
*
|
|
225
|
+
* So the question is now "which verified daemon processes exist, and does one of
|
|
226
|
+
* them answer?" (`reconcileSingleton`), and its three answers are the only
|
|
227
|
+
* outcomes:
|
|
228
|
+
* - a healthy daemon is already there -> adopt it and return it
|
|
229
|
+
* - processes exist but nothing answers -> stop them all, spawn one
|
|
230
|
+
* - nothing at all -> spawn one
|
|
352
231
|
*/
|
|
353
232
|
function startDaemon(port) {
|
|
354
|
-
const
|
|
355
|
-
if (
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
233
|
+
const recon = (0, daemon_instance_1.reconcileSingleton)();
|
|
234
|
+
if (recon.decision.action === 'keep' && recon.decision.keep !== null) {
|
|
235
|
+
return {
|
|
236
|
+
started: false,
|
|
237
|
+
pid: recon.decision.keep,
|
|
238
|
+
message: `daemon already running (pid ${recon.decision.keep})${recon.stopped.length > 0 ? ` - stopped ${recon.stopped.length} duplicate(s): ${recon.stopped.join(', ')}` : ''}`,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
if (recon.decision.action === 'blocked') {
|
|
242
|
+
return { started: false, message: recon.message };
|
|
243
|
+
}
|
|
244
|
+
if (recon.stopped.length > 0 || recon.decision.action === 'replace') {
|
|
245
|
+
// Logged, not swallowed: a machine that had to be reconciled is exactly the
|
|
246
|
+
// machine whose next `npm i -g` needs looking at.
|
|
247
|
+
try {
|
|
248
|
+
(0, node_fs_1.appendFileSync)(exports.LOG_PATH, `[${new Date().toISOString()}] [service] singleton reconcile: ${recon.message}\n`, 'utf8');
|
|
366
249
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
try {
|
|
370
|
-
process.kill(existing);
|
|
371
|
-
}
|
|
372
|
-
catch {
|
|
373
|
-
/* already gone */
|
|
374
|
-
}
|
|
375
|
-
const deadline = Date.now() + 3000;
|
|
376
|
-
while (pidAlive(existing) && Date.now() < deadline) {
|
|
377
|
-
/* brief wait */
|
|
378
|
-
}
|
|
379
|
-
if (pidAlive(existing)) {
|
|
380
|
-
(0, node_child_process_1.spawnSync)('taskkill', ['/pid', String(existing), '/f'], { stdio: 'ignore', windowsHide: true });
|
|
381
|
-
}
|
|
382
|
-
try {
|
|
383
|
-
(0, node_fs_1.rmSync)(PID_PATH);
|
|
384
|
-
}
|
|
385
|
-
catch {
|
|
386
|
-
/* best-effort */
|
|
387
|
-
}
|
|
250
|
+
catch {
|
|
251
|
+
/* best-effort */
|
|
388
252
|
}
|
|
389
253
|
}
|
|
254
|
+
if (recon.survivors.length > 0) {
|
|
255
|
+
return {
|
|
256
|
+
started: false,
|
|
257
|
+
message: `refusing to start: ${recon.survivors.length} TeamShare daemon process(es) ` +
|
|
258
|
+
`(${recon.survivors.join(', ')}) could not be stopped. Installing/starting over a ` +
|
|
259
|
+
`live tree is what produces an unusable bridge - retry once they are gone.`,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
390
262
|
const args = [(0, node_path_1.join)(__dirname, 'index.js'), 'daemon'];
|
|
391
263
|
if (port)
|
|
392
264
|
args.push('--port', String(port));
|
|
@@ -500,6 +372,15 @@ const CRASH_LOOP_THRESHOLD = 3;
|
|
|
500
372
|
* bridge back within one cycle instead of needing a reboot.
|
|
501
373
|
*/
|
|
502
374
|
exports.CRASH_BACKOFF_MS = [0, 30_000, 60_000, 120_000, 300_000];
|
|
375
|
+
/**
|
|
376
|
+
* Healthy watchdog ticks between duplicate sweeps (~5 min at the 30s cadence).
|
|
377
|
+
*
|
|
378
|
+
* Exported for the unit test. Enumerating processes is not free (one PowerShell
|
|
379
|
+
* call), so it must not run every tick — but it must run periodically, because
|
|
380
|
+
* "one healthy lock" and "one daemon" are different facts and only the second
|
|
381
|
+
* one is the invariant.
|
|
382
|
+
*/
|
|
383
|
+
exports.SINGLETON_SWEEP_EVERY_TICKS = 10;
|
|
503
384
|
/** The wait before attempt `streak + 1`, clamped to the table. */
|
|
504
385
|
function crashBackoffMs(streak) {
|
|
505
386
|
if (streak <= 0)
|
|
@@ -515,6 +396,8 @@ function runSupervisor(intervalMs = 30_000) {
|
|
|
515
396
|
let lastAttemptAt = 0;
|
|
516
397
|
/** One diagnostic per crash-loop episode, not one per attempt. */
|
|
517
398
|
let crashLoopReported = false;
|
|
399
|
+
/** Healthy ticks since the last duplicate sweep. */
|
|
400
|
+
let ticksSinceSweep = 0;
|
|
518
401
|
const appendWatchdogLog = (line) => {
|
|
519
402
|
try {
|
|
520
403
|
(0, node_fs_1.appendFileSync)(exports.LOG_PATH, `[${new Date().toISOString()}] [watchdog] ${line}\n`, 'utf8');
|
|
@@ -555,6 +438,32 @@ function runSupervisor(intervalMs = 30_000) {
|
|
|
555
438
|
}
|
|
556
439
|
process.exit(1);
|
|
557
440
|
});
|
|
441
|
+
/**
|
|
442
|
+
* A healthy lock does NOT mean the machine holds one daemon — only that one of
|
|
443
|
+
* them owns the lock. This is the sweep that makes "exactly one" true over
|
|
444
|
+
* time instead of only at the moment someone runs `start`.
|
|
445
|
+
*
|
|
446
|
+
* Cost matters: it runs on the 30s tick, so the steady state is ONE process
|
|
447
|
+
* enumeration every `SWEEP_EVERY_HEALTHY_TICKS` ticks (~5 min), and the
|
|
448
|
+
* expensive part (port probes + kills) only runs when a duplicate is actually
|
|
449
|
+
* found. Without it, a lockless second daemon — the exact state this machine
|
|
450
|
+
* sat in for hours — survives every tick, because a healthy lock makes the
|
|
451
|
+
* watchdog return early.
|
|
452
|
+
*/
|
|
453
|
+
const sweepDuplicates = () => {
|
|
454
|
+
try {
|
|
455
|
+
const live = (0, daemon_instance_1.listOurDaemonPids)();
|
|
456
|
+
if (live.length <= 1)
|
|
457
|
+
return;
|
|
458
|
+
const recon = (0, daemon_instance_1.reconcileSingleton)();
|
|
459
|
+
appendWatchdogLog(recon.stopped.length > 0 || recon.decision.action !== 'keep'
|
|
460
|
+
? `singleton sweep: ${recon.message}`
|
|
461
|
+
: `singleton sweep found ${live.length} daemons but kept ${recon.decision.keep} - ${recon.message}`);
|
|
462
|
+
}
|
|
463
|
+
catch {
|
|
464
|
+
/* never die */
|
|
465
|
+
}
|
|
466
|
+
};
|
|
558
467
|
const tick = () => {
|
|
559
468
|
try {
|
|
560
469
|
// A silent auto-upgrade helper owns the machine while it runs
|
|
@@ -571,8 +480,17 @@ function runSupervisor(intervalMs = 30_000) {
|
|
|
571
480
|
crashStreak = 0;
|
|
572
481
|
crashLoopReported = false;
|
|
573
482
|
}
|
|
483
|
+
// Periodic duplicate sweep: a healthy lock says nothing about a SECOND,
|
|
484
|
+
// lockless daemon, and this machine ran three for hours because every
|
|
485
|
+
// tick returned early on that healthy lock.
|
|
486
|
+
ticksSinceSweep += 1;
|
|
487
|
+
if (ticksSinceSweep >= exports.SINGLETON_SWEEP_EVERY_TICKS) {
|
|
488
|
+
ticksSinceSweep = 0;
|
|
489
|
+
sweepDuplicates();
|
|
490
|
+
}
|
|
574
491
|
return;
|
|
575
492
|
}
|
|
493
|
+
ticksSinceSweep = 0;
|
|
576
494
|
// ── CRASH-LOOP DETECTION (2026-10) ───────────────────────────────────
|
|
577
495
|
// A daemon that dies within seconds of starting is not a daemon to keep
|
|
578
496
|
// respawning — it is a broken INSTALL. Observed: 262 restarts at an exact
|
|
@@ -628,53 +546,38 @@ function runSupervisor(intervalMs = 30_000) {
|
|
|
628
546
|
tick();
|
|
629
547
|
setInterval(tick, intervalMs);
|
|
630
548
|
}
|
|
631
|
-
/**
|
|
549
|
+
/**
|
|
550
|
+
* `stop`: terminates EVERY verified daemon on this machine and clears the files.
|
|
551
|
+
*
|
|
552
|
+
* It used to signal exactly one pid — the one in `daemon.lock` — and report
|
|
553
|
+
* `daemon is not running` whenever that file was stale. That is precisely how
|
|
554
|
+
* three daemons survived a `stop` on this machine: the human ran it, saw
|
|
555
|
+
* "daemon is not running", and the three survivors kept their native DLLs
|
|
556
|
+
* mapped, so the next `npm i -g` aborted with EBUSY and left the install
|
|
557
|
+
* half-written (every later boot died on a missing
|
|
558
|
+
* `socket.io-client/build/cjs/index.js`).
|
|
559
|
+
*
|
|
560
|
+
* `stop` now asks the OS, not the file. `restart` inherits that, which is why a
|
|
561
|
+
* restart can no longer leave the old daemon behind to collide with the new one.
|
|
562
|
+
*/
|
|
632
563
|
function stopDaemon() {
|
|
633
|
-
const
|
|
634
|
-
if (
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
564
|
+
const claimed = runningPid();
|
|
565
|
+
if (claimed !== null && !pidIsOurDaemon(claimed)) {
|
|
566
|
+
// Identity guard: never signal a pid that is not verifiably our daemon. The
|
|
567
|
+
// stale file is cleared, and we still go on to enumerate - the real daemon
|
|
568
|
+
// may be a different, lockless pid.
|
|
569
|
+
clearForeignPidFile(claimed);
|
|
570
|
+
}
|
|
571
|
+
const result = stopAllDaemons();
|
|
572
|
+
if (result.stopped.length === 0 && result.survivors.length === 0) {
|
|
641
573
|
return { stopped: false, message: 'daemon is not running' };
|
|
642
574
|
}
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
process.kill(pid);
|
|
650
|
-
}
|
|
651
|
-
catch {
|
|
652
|
-
/* best-effort */
|
|
653
|
-
}
|
|
654
|
-
const deadline = Date.now() + 5000;
|
|
655
|
-
while (pidAlive(pid) && Date.now() < deadline) {
|
|
656
|
-
/* wait briefly for the daemon to exit */
|
|
657
|
-
}
|
|
658
|
-
if (pidAlive(pid)) {
|
|
659
|
-
if (process.platform === 'win32') {
|
|
660
|
-
// Windows: force kill via taskkill.
|
|
661
|
-
(0, node_child_process_1.spawnSync)('taskkill', ['/pid', String(pid), '/f'], { stdio: 'ignore', windowsHide: true });
|
|
662
|
-
}
|
|
663
|
-
else {
|
|
664
|
-
// POSIX: SIGKILL if SIGTERM didn't work.
|
|
665
|
-
try {
|
|
666
|
-
process.kill(pid, 'SIGKILL');
|
|
667
|
-
}
|
|
668
|
-
catch { /* best-effort */ }
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
try {
|
|
672
|
-
(0, node_fs_1.rmSync)(PID_PATH);
|
|
673
|
-
}
|
|
674
|
-
catch {
|
|
675
|
-
/* already gone */
|
|
676
|
-
}
|
|
677
|
-
return { stopped: true, message: `daemon stopped (pid ${pid})` };
|
|
575
|
+
return {
|
|
576
|
+
stopped: result.survivors.length === 0,
|
|
577
|
+
message: result.survivors.length > 0
|
|
578
|
+
? `${result.message} - the machine is NOT clean; do not run npm install -g teamshare-bridge until they are gone`
|
|
579
|
+
: `daemon stopped (${result.stopped.length} process(es): ${result.stopped.join(', ')})`,
|
|
580
|
+
};
|
|
678
581
|
}
|
|
679
582
|
/** `restart`: stop + start. */
|
|
680
583
|
function restartDaemon(port) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/bridge/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/bridge/service.ts"],"names":[],"mappings":"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"}
|