fix(cli): tolerate legacy daemon flag (#1097)

This commit is contained in:
Bohdan Triapitsyn
2026-05-03 21:38:45 +03:00
parent 6595322f1a
commit 9964dcdb99
3 changed files with 11 additions and 2 deletions
+1 -1
View File
@@ -891,7 +891,7 @@ export class ElectronSshManager {
if (secret) {
envPrefix += ` OPENCHAMBER_UI_PASSWORD=${shellQuote(secret)}`;
}
const output = await runRemoteCommand(parsed, controlPath, `${envPrefix} openchamber serve --daemon --hostname 127.0.0.1 --port ${desiredPort}`);
const output = await runRemoteCommand(parsed, controlPath, `${envPrefix} openchamber serve --hostname 127.0.0.1 --port ${desiredPort}`);
const port = output.split(/\s+/).map((token) => Number.parseInt(token, 10)).find((value) => Number.isFinite(value));
return port || desiredPort;
}
+2 -1
View File
@@ -799,7 +799,8 @@ function parseArgs(argv = process.argv.slice(2)) {
break;
case 'daemon':
case 'd':
removedFlagErrors.push('`--daemon` was removed. OpenChamber now always runs in daemon mode.');
// Legacy no-op: daemon mode is already the default, but older clients
// may still pass this when starting a remote server.
break;
case 'try-cf-tunnel':
removedFlagErrors.push('`--try-cf-tunnel` was removed. Use: openchamber tunnel start --provider cloudflare --mode quick');
+8
View File
@@ -3,6 +3,14 @@ import path from 'path';
import { pathToFileURL } from 'url';
import { isModuleCliExecution, normalizeCliEntryPath } from './cli-entry.js';
import { parseArgs } from './cli.js';
describe('cli args', () => {
it('accepts legacy daemon flags as no-ops', () => {
expect(parseArgs(['serve', '--daemon']).removedFlagErrors).toEqual([]);
expect(parseArgs(['serve', '-d']).removedFlagErrors).toEqual([]);
});
});
describe('cli entry detection', () => {
const modulePath = '/tmp/openchamber/bin/cli.js';