Gateway: enable canvas host + inject action bridge
This commit is contained in:
32
src/gateway/client.maxpayload.test.ts
Normal file
32
src/gateway/client.maxpayload.test.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { describe, expect, test, vi } from "vitest";
|
||||
|
||||
describe("GatewayClient", () => {
|
||||
test("uses a large maxPayload for node snapshots", async () => {
|
||||
vi.resetModules();
|
||||
|
||||
class MockWebSocket {
|
||||
static last: { url: unknown; opts: unknown } | null = null;
|
||||
|
||||
on = vi.fn();
|
||||
close = vi.fn();
|
||||
send = vi.fn();
|
||||
|
||||
constructor(url: unknown, opts: unknown) {
|
||||
MockWebSocket.last = { url, opts };
|
||||
}
|
||||
}
|
||||
|
||||
vi.doMock("ws", () => ({
|
||||
WebSocket: MockWebSocket,
|
||||
}));
|
||||
|
||||
const { GatewayClient } = await import("./client.js");
|
||||
const client = new GatewayClient({ url: "ws://127.0.0.1:1" });
|
||||
client.start();
|
||||
|
||||
expect(MockWebSocket.last?.url).toBe("ws://127.0.0.1:1");
|
||||
expect(MockWebSocket.last?.opts).toEqual(
|
||||
expect.objectContaining({ maxPayload: 25 * 1024 * 1024 }),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -834,14 +834,18 @@ export async function startGatewayServer(port = 18789): Promise<GatewayServer> {
|
||||
const cfgAtStart = loadConfig();
|
||||
setCommandLaneConcurrency("cron", cfgAtStart.cron?.maxConcurrentRuns ?? 1);
|
||||
|
||||
if (cfgAtStart.canvasHost?.enabled === true) {
|
||||
const canvasHostEnabled =
|
||||
process.env.CLAWDIS_SKIP_CANVAS_HOST !== "1" &&
|
||||
cfgAtStart.canvasHost?.enabled !== false;
|
||||
|
||||
if (canvasHostEnabled) {
|
||||
try {
|
||||
canvasHost = await startCanvasHost({
|
||||
const server = await startCanvasHost({
|
||||
runtime: defaultRuntime,
|
||||
rootDir: cfgAtStart.canvasHost.root,
|
||||
port: cfgAtStart.canvasHost.port ?? 18793,
|
||||
bind: cfgAtStart.canvasHost.bind ?? "lan",
|
||||
rootDir: cfgAtStart.canvasHost?.root,
|
||||
port: cfgAtStart.canvasHost?.port ?? 18793,
|
||||
});
|
||||
if (server.port > 0) canvasHost = server;
|
||||
} catch (err) {
|
||||
logWarn(`gateway: canvas host failed to start: ${String(err)}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user