fix(install): auto-migrate renamed statusline.js reference (#288)

Bug fix: Auto-migrate renamed statusline.js reference during install
This commit is contained in:
superresistant
2026-02-14 21:17:16 +01:00
committed by GitHub
parent 25aeb443c9
commit f4d6b30f8d

View File

@@ -1538,6 +1538,17 @@ function handleStatusline(settings, isInteractive, callback) {
return;
}
// Auto-migrate renamed GSD statusline (hooks/statusline.js -> hooks/gsd-statusline.js)
// Only migrate if it looks like GSD's statusline (node command with hooks/statusline.js path)
const existingCmd = settings.statusLine.command || '';
const isOldGsdStatusline = existingCmd.includes('node') &&
(existingCmd.includes('hooks/statusline.js') || existingCmd.includes('hooks\\statusline.js'));
if (isOldGsdStatusline) {
console.log(` ${green}✓${reset} Migrating statusline.js → gsd-statusline.js`);
callback(true);
return;
}
if (!isInteractive) {
console.log(` ${yellow}⚠${reset} Skipping statusline (already configured)`);
console.log(` Use ${cyan}--force-statusline${reset} to replace\n`);
@@ -1545,7 +1556,7 @@ function handleStatusline(settings, isInteractive, callback) {
return;
}
const existingCmd = settings.statusLine.command || settings.statusLine.url || '(custom)';
const displayCmd = settings.statusLine.command || settings.statusLine.url || '(custom)';
const rl = readline.createInterface({
input: process.stdin,
@@ -1555,7 +1566,7 @@ function handleStatusline(settings, isInteractive, callback) {
console.log(`
${yellow}⚠${reset} Existing statusline detected\n
Your current statusline:
${dim}command: ${existingCmd}${reset}
${dim}command: ${displayCmd}${reset}
GSD includes a statusline showing:
• Model name