fix: preserve chat composer submissions and session state

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Dotta 2026-09-11 17:22:22 -05:00
commit 58e81adac1
1 changed files with 8 additions and 4 deletions

View File

@ -4612,7 +4612,9 @@ describe("ensureRuntimeServicesForRun", () => {
command: serviceCommand,
cwd: ".",
port: { type: "auto" as const },
readiness: { type: "http" as const, urlTemplate: "http://127.0.0.1:{{port}}", timeoutSec: 3, intervalMs: 100 },
// This checks replacement, not startup latency. Allow the same startup
// budget as other real-process fixtures on busy CI hosts.
readiness: { type: "http" as const, urlTemplate: "http://127.0.0.1:{{port}}", timeoutSec: 10, intervalMs: 100 },
expose: { type: "url" as const, urlTemplate: "http://127.0.0.1:{{port}}" },
lifecycle: "shared" as const,
stopPolicy: { type: "manual" as const },
@ -4638,7 +4640,7 @@ describe("ensureRuntimeServicesForRun", () => {
});
await fs.rm(workspaceRoot, { recursive: true, force: true });
}
});
}, 30_000);
it("reuses a shared Paperclip dev runtime after one transient unhealthy response", async () => {
const workspaceRoot = await fs.mkdtemp(path.join(os.tmpdir(), "paperclip-runtime-transient-health-"));
@ -4655,7 +4657,9 @@ describe("ensureRuntimeServicesForRun", () => {
command: serviceCommand,
cwd: ".",
port: { type: "auto" as const },
readiness: { type: "http" as const, urlTemplate: "http://127.0.0.1:{{port}}", timeoutSec: 3, intervalMs: 100 },
// This checks reuse after a transient failure, not startup latency. Allow the same startup
// budget as other real-process fixtures on busy CI hosts.
readiness: { type: "http" as const, urlTemplate: "http://127.0.0.1:{{port}}", timeoutSec: 10, intervalMs: 100 },
expose: { type: "url" as const, urlTemplate: "http://127.0.0.1:{{port}}" },
lifecycle: "shared" as const,
stopPolicy: { type: "manual" as const },
@ -4675,7 +4679,7 @@ describe("ensureRuntimeServicesForRun", () => {
});
await fs.rm(workspaceRoot, { recursive: true, force: true });
}
});
}, 30_000);
it("rejects an unreachable exposed origin even when readiness uses a local probe", async () => {
const workspaceRoot = await fs.mkdtemp(path.join(os.tmpdir(), "paperclip-runtime-explicit-readiness-"));