fraim-hub 2.0.294 → 2.0.296
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.
|
@@ -41,8 +41,14 @@ async function runMandatoryDesktopUpdateCheckOnce(options) {
|
|
|
41
41
|
return { action: 'download-failed', availableVersion, error: message };
|
|
42
42
|
}
|
|
43
43
|
try {
|
|
44
|
-
logger.info(`[fraim] desktop update ${availableVersion ?? 'unknown'} downloaded; installing`);
|
|
45
|
-
|
|
44
|
+
logger.info(`[fraim] desktop update ${availableVersion ?? 'unknown'} downloaded; installing silently`);
|
|
45
|
+
// Issue #1415 (follow-up): silent, not the interactive NSIS wizard - a native rebuild is not
|
|
46
|
+
// rare on this codebase (most Hub-owned changes trigger one), so an assisted install prompt
|
|
47
|
+
// here directly undercuts #1415's actual goal: the app updating itself seamlessly, with no
|
|
48
|
+
// action required. `oneClick: false` in the NSIS config still governs a user's own first,
|
|
49
|
+
// manual install from the website - that's a separate, deliberate choice and untouched here.
|
|
50
|
+
// electron-builder's NSIS installers support a silent `/S` apply regardless of that setting.
|
|
51
|
+
updater.quitAndInstall(true, true);
|
|
46
52
|
return { action: 'installing', availableVersion };
|
|
47
53
|
}
|
|
48
54
|
catch (error) {
|
|
@@ -35,11 +35,19 @@ const hub_runtime_file_1 = require("./hub-runtime-file");
|
|
|
35
35
|
const project_fraim_paths_1 = require("../core/utils/project-fraim-paths");
|
|
36
36
|
const version_utils_1 = require("../cli/utils/version-utils");
|
|
37
37
|
const process_liveness_1 = require("./process-liveness");
|
|
38
|
+
// Issue #1415 (follow-up): confirmed live - a kill attempt can fail for a reason other than "the
|
|
39
|
+
// process is already gone." An orphan Hub started from an elevated (Administrator) context could
|
|
40
|
+
// not be terminated by this call running as a standard user - Windows refuses cross-privilege
|
|
41
|
+
// termination, taskkill exits non-zero with "Access is denied," and that failure used to vanish
|
|
42
|
+
// into this catch block with zero trace. There is nothing this function can do about that
|
|
43
|
+
// permission gap (escalating would mean a UAC prompt, defeating the "seamless" goal this whole
|
|
44
|
+
// fix exists for) - but the failure must be visible instead of silently indistinguishable from a
|
|
45
|
+
// successful kill, or a real remaining orphan reads as "the sweep just didn't run."
|
|
38
46
|
function killPid(pid) {
|
|
39
47
|
try {
|
|
40
48
|
if (process.platform === 'win32') {
|
|
41
49
|
// /T kills the entire process tree; /F forces termination without prompting.
|
|
42
|
-
(0, child_process_1.execFileSync)('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: '
|
|
50
|
+
(0, child_process_1.execFileSync)('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: 'pipe' });
|
|
43
51
|
}
|
|
44
52
|
else {
|
|
45
53
|
// tree-kill sends SIGTERM to the process group so child Electron helper processes
|
|
@@ -47,8 +55,11 @@ function killPid(pid) {
|
|
|
47
55
|
(0, tree_kill_1.default)(pid, 'SIGTERM');
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
|
-
catch {
|
|
51
|
-
|
|
58
|
+
catch (error) {
|
|
59
|
+
const detail = error instanceof Error && 'stderr' in error
|
|
60
|
+
? String(error.stderr ?? error.message)
|
|
61
|
+
: String(error);
|
|
62
|
+
console.warn(`[fraim] could not kill pid ${pid} (may already be gone, or may lack permission - e.g. a process started elevated): ${detail.trim()}`);
|
|
52
63
|
}
|
|
53
64
|
}
|
|
54
65
|
function isPortFree(port, timeoutMs = 500) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fraim-hub",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.296",
|
|
4
4
|
"description": "FRAIM Hub local companion package.",
|
|
5
5
|
"author": "Sid Mathur <sid.mathur@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/mathursrus/FRAIM#readme",
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
"electron-updater": "^6.8.9",
|
|
212
212
|
"express": "^5.2.1",
|
|
213
213
|
"extract-zip": "^2.0.1",
|
|
214
|
-
"fraim": "2.0.
|
|
214
|
+
"fraim": "2.0.296",
|
|
215
215
|
"mongodb": "^7.0.0",
|
|
216
216
|
"node-cron": "4.2.1",
|
|
217
217
|
"node-edge-tts": "^1.2.10",
|