diff --git a/packages/electron/ssh-manager.mjs b/packages/electron/ssh-manager.mjs index e21ab19a..7a8f801d 100644 --- a/packages/electron/ssh-manager.mjs +++ b/packages/electron/ssh-manager.mjs @@ -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; } diff --git a/packages/web/bin/cli.js b/packages/web/bin/cli.js index b50e2ed0..82517971 100755 --- a/packages/web/bin/cli.js +++ b/packages/web/bin/cli.js @@ -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'); diff --git a/packages/web/bin/cli.test.js b/packages/web/bin/cli.test.js index d45cacfa..78c4fb7a 100644 --- a/packages/web/bin/cli.test.js +++ b/packages/web/bin/cli.test.js @@ -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';