@regression-io/claude-config 0.37.21 → 0.37.23
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/lib/constants.js +1 -1
- package/package.json +1 -1
- package/ui/routes/updates.js +24 -6
- package/ui/server.cjs +7 -2
package/lib/constants.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@regression-io/claude-config",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.23",
|
|
4
4
|
"description": "Configuration management UI for Claude Code and Antigravity - manage MCPs, rules, commands, memory, and project folders",
|
|
5
5
|
"author": "regression.io",
|
|
6
6
|
"main": "config-loader.js",
|
package/ui/routes/updates.js
CHANGED
|
@@ -42,7 +42,7 @@ function getVersionFromFile(filePath) {
|
|
|
42
42
|
function fetchNpmVersion() {
|
|
43
43
|
return new Promise((resolve) => {
|
|
44
44
|
const url = 'https://registry.npmjs.org/@regression-io/claude-config/latest';
|
|
45
|
-
https.get(url, (res) => {
|
|
45
|
+
const req = https.get(url, (res) => {
|
|
46
46
|
let data = '';
|
|
47
47
|
res.on('data', chunk => data += chunk);
|
|
48
48
|
res.on('end', () => {
|
|
@@ -52,6 +52,7 @@ function fetchNpmVersion() {
|
|
|
52
52
|
const tarballUrl = parsed.dist?.tarball;
|
|
53
53
|
|
|
54
54
|
if (!version || !tarballUrl) {
|
|
55
|
+
console.log('[update-check] npm registry response missing version or tarball');
|
|
55
56
|
resolve(null);
|
|
56
57
|
return;
|
|
57
58
|
}
|
|
@@ -61,8 +62,7 @@ function fetchNpmVersion() {
|
|
|
61
62
|
const options = {
|
|
62
63
|
hostname: tarball.hostname,
|
|
63
64
|
path: tarball.pathname,
|
|
64
|
-
method: 'HEAD'
|
|
65
|
-
timeout: 5000
|
|
65
|
+
method: 'HEAD'
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
const verifyReq = https.request(options, (verifyRes) => {
|
|
@@ -70,20 +70,35 @@ function fetchNpmVersion() {
|
|
|
70
70
|
if (verifyRes.statusCode === 200) {
|
|
71
71
|
resolve(version);
|
|
72
72
|
} else {
|
|
73
|
+
console.log(`[update-check] tarball not accessible (status ${verifyRes.statusCode})`);
|
|
73
74
|
resolve(null);
|
|
74
75
|
}
|
|
75
76
|
});
|
|
76
|
-
verifyReq.
|
|
77
|
-
|
|
77
|
+
verifyReq.setTimeout(5000, () => {
|
|
78
|
+
console.log('[update-check] tarball verification timed out');
|
|
78
79
|
verifyReq.destroy();
|
|
79
80
|
resolve(null);
|
|
80
81
|
});
|
|
82
|
+
verifyReq.on('error', (e) => {
|
|
83
|
+
console.log('[update-check] tarball verification error:', e.message);
|
|
84
|
+
resolve(null);
|
|
85
|
+
});
|
|
81
86
|
verifyReq.end();
|
|
82
87
|
} catch (e) {
|
|
88
|
+
console.log('[update-check] failed to parse npm response:', e.message);
|
|
83
89
|
resolve(null);
|
|
84
90
|
}
|
|
85
91
|
});
|
|
86
|
-
})
|
|
92
|
+
});
|
|
93
|
+
req.setTimeout(10000, () => {
|
|
94
|
+
console.log('[update-check] npm registry request timed out');
|
|
95
|
+
req.destroy();
|
|
96
|
+
resolve(null);
|
|
97
|
+
});
|
|
98
|
+
req.on('error', (e) => {
|
|
99
|
+
console.log('[update-check] npm registry error:', e.message);
|
|
100
|
+
resolve(null);
|
|
101
|
+
});
|
|
87
102
|
});
|
|
88
103
|
}
|
|
89
104
|
|
|
@@ -118,7 +133,10 @@ async function checkForUpdates(manager, dirname) {
|
|
|
118
133
|
// Check npm for latest version
|
|
119
134
|
const npmVersion = await fetchNpmVersion();
|
|
120
135
|
|
|
136
|
+
console.log(`[update-check] installed: ${installedVersion}, npm: ${npmVersion}`);
|
|
137
|
+
|
|
121
138
|
if (npmVersion && isNewerVersion(npmVersion, installedVersion)) {
|
|
139
|
+
console.log('[update-check] update available');
|
|
122
140
|
return {
|
|
123
141
|
updateAvailable: true,
|
|
124
142
|
installedVersion,
|
package/ui/server.cjs
CHANGED
|
@@ -611,8 +611,13 @@ class ConfigUIServer {
|
|
|
611
611
|
case '/api/projects/active':
|
|
612
612
|
if (req.method === 'GET') return this.json(res, routes.projects.getActiveProject(this.manager, this.projectDir, () => this.getHierarchy(), () => routes.subprojects.getSubprojectsForDir(this.manager, this.config, this.projectDir)));
|
|
613
613
|
if (req.method === 'PUT') {
|
|
614
|
-
const result = routes.projects.setActiveProject(
|
|
615
|
-
|
|
614
|
+
const result = routes.projects.setActiveProject(
|
|
615
|
+
this.manager,
|
|
616
|
+
body.id,
|
|
617
|
+
(newDir) => { this.projectDir = newDir; },
|
|
618
|
+
() => this.getHierarchy(),
|
|
619
|
+
() => routes.subprojects.getSubprojectsForDir(this.manager, this.config, this.projectDir)
|
|
620
|
+
);
|
|
616
621
|
return this.json(res, result);
|
|
617
622
|
}
|
|
618
623
|
break;
|