Serve the web client from the daemon (#1635)

* Serve the web client from the daemon

Keep the bundled browser UI opt-in and exclude it from desktop packaging so desktop builds do not ship a duplicate renderer.

* Escape daemon web UI bootstrap hint

* Fix bundled web UI dist path
This commit is contained in:
Mohamed Boudra
2026-06-26 12:00:11 +08:00
committed by GitHub
parent 3d6b4adc68
commit 4e2c06ec71
24 changed files with 1302 additions and 6 deletions
@@ -153,6 +153,44 @@ describe("local daemon launch supervision", () => {
expect(launch?.options?.env?.PASEO_RELAY_USE_TLS).toBe("true");
});
test("web UI flag is passed to the supervised daemon", async () => {
const runtime = new FakeDaemonRuntime();
const status = startLocalDaemonForeground(
{
home: "/tmp/paseo-test",
webUi: true,
},
runtime,
);
expect(status).toBe(0);
expect(runtime.recordedLaunches.map((launch) => launch.mode)).toEqual(["foreground"]);
const launch = runtime.recordedLaunches[0];
expect(launch?.mode).toBe("foreground");
expect(launch?.args).toContain("--web-ui");
expect(launch?.options?.env?.PASEO_WEB_UI_ENABLED).toBe("true");
});
test("no-web UI flag is passed to the supervised daemon", async () => {
const runtime = new FakeDaemonRuntime();
const status = startLocalDaemonForeground(
{
home: "/tmp/paseo-test",
webUi: false,
},
runtime,
);
expect(status).toBe(0);
expect(runtime.recordedLaunches.map((launch) => launch.mode)).toEqual(["foreground"]);
const launch = runtime.recordedLaunches[0];
expect(launch?.mode).toBe("foreground");
expect(launch?.args).toContain("--no-web-ui");
expect(launch?.options?.env?.PASEO_WEB_UI_ENABLED).toBe("false");
});
test("local daemon state keeps public relay TLS separate from daemon relay TLS", async () => {
const home = await createPaseoHome({
version: 1,