fix: prevent banner from printing twice on first run (#2251)
On first launch (before ~/.gsd/ exists), loader.ts prints a branded ASCII logo and welcome message. Later, cli.ts unconditionally calls printWelcomeScreen(), resulting in a duplicate banner. Set GSD_FIRST_RUN_BANNER env flag in loader.ts after printing the first-run banner. cli.ts now checks for this flag and skips the welcome screen when it is already set. The session-restart banner in register-hooks.ts is unaffected because it only fires on non-first sessions (isFirstSession guard). Closes #2245
This commit is contained in:
parent
012f1cf06a
commit
b3d12628f9
2 changed files with 6 additions and 3 deletions
|
|
@ -630,8 +630,9 @@ if (!process.stdin.isTTY) {
|
|||
process.exit(1)
|
||||
}
|
||||
|
||||
// Welcome screen — shown on every fresh interactive session before TUI takes over
|
||||
{
|
||||
// Welcome screen — shown on every fresh interactive session before TUI takes over.
|
||||
// Skip when the first-run banner was already printed in loader.ts (prevents double banner).
|
||||
if (!process.env.GSD_FIRST_RUN_BANNER) {
|
||||
const { printWelcomeScreen } = await import('./welcome-screen.js')
|
||||
printWelcomeScreen({
|
||||
version: process.env.GSD_VERSION || '0.0.0',
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@ process.env.PI_PACKAGE_DIR = pkgDir
|
|||
process.env.PI_SKIP_VERSION_CHECK = '1' // GSD runs its own update check in cli.ts — suppress pi's
|
||||
process.title = 'gsd'
|
||||
|
||||
// Print branded banner on first launch (before ~/.gsd/ exists)
|
||||
// Print branded banner on first launch (before ~/.gsd/ exists).
|
||||
// Set GSD_FIRST_RUN_BANNER so cli.ts skips the duplicate welcome screen.
|
||||
if (!existsSync(appRoot)) {
|
||||
const cyan = '\x1b[36m'
|
||||
const green = '\x1b[32m'
|
||||
|
|
@ -62,6 +63,7 @@ if (!existsSync(appRoot)) {
|
|||
` Get Shit Done ${dim}v${gsdVersion}${reset}\n` +
|
||||
` ${green}Welcome.${reset} Setting up your environment...\n\n`
|
||||
)
|
||||
process.env.GSD_FIRST_RUN_BANNER = '1'
|
||||
}
|
||||
|
||||
// GSD_CODING_AGENT_DIR — tells pi's getAgentDir() to return ~/.gsd/agent/ instead of ~/.gsd/agent/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue