fix(cli): enable daemon relaunch in binary and bundle keytar (#26333)

This commit is contained in:
ruomeng
2026-05-01 13:53:56 -04:00
committed by GitHub
parent 8fb1b5aa01
commit 76d1a73606
3 changed files with 16 additions and 10 deletions
+1 -5
View File
@@ -75,11 +75,7 @@ async function getMemoryNodeArgs(): Promise<string[]> {
}
async function run() {
if (
!process.env['GEMINI_CLI_NO_RELAUNCH'] &&
!process.env['SANDBOX'] &&
process.env['IS_BINARY'] !== 'true'
) {
if (!process.env['GEMINI_CLI_NO_RELAUNCH'] && !process.env['SANDBOX']) {
// --- Lightweight Parent Process / Daemon ---
// We avoid importing heavy dependencies here to save ~1.5s of startup time.
+1 -5
View File
@@ -126,11 +126,7 @@ export function getNodeMemoryArgs(isDebugMode: boolean): string[] {
);
}
if (
process.env['IS_BINARY'] === 'true' ||
process.env['GEMINI_CLI_NO_RELAUNCH'] ||
process.env['SANDBOX']
) {
if (process.env['GEMINI_CLI_NO_RELAUNCH']) {
return [];
}
+14
View File
@@ -230,6 +230,19 @@ if (includeNativeModules) {
);
}
// Copy @github/keytar to staging
const githubSrc = join(root, 'node_modules/@github');
const githubStaging = join(stagingDir, 'node_modules/@github');
if (existsSync(githubSrc)) {
mkdirSync(dirname(githubStaging), { recursive: true });
cpSync(githubSrc, githubStaging, { recursive: true });
} else {
console.warn(
'Warning: @github/keytar not found in node_modules. Secure keychain features will use file fallback.',
);
}
// Sign Staged .node files
try {
const nodeFiles = globSync('**/*.node', {
@@ -351,6 +364,7 @@ if (existsSync(ripgrepVendorDest)) {
// Add assets from Staging
if (includeNativeModules) {
addAssetsFromDir('node_modules/@lydell', 'node_modules/@lydell');
addAssetsFromDir('node_modules/@github', 'node_modules/@github');
}
writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));