Compare commits

...

6 Commits

Author SHA1 Message Date
Diego Rodrigues de Sa e Souza
8e2fd2f5a8 Merge branch 'release/v3.8.50' into feat/6736-response-content-encoding 2026-08-05 23:04:01 -03:00
diegosouzapw
c560742eb3 test(mutation): register compression-header-verification test in stryker tap.testFiles
Fast Quality Gates flagged tests/unit/compression-header-verification.test.ts as
covering open-sse/handlers/chatCore/responseHeaders.ts without being listed in
stryker.conf.json tap.testFiles, tripping the --strict mutation test-coverage gate.
2026-08-05 19:49:03 -03:00
Diego Rodrigues de Sa e Souza
c8fc9148dc Merge branch 'release/v3.8.50' into feat/6736-response-content-encoding 2026-08-05 16:24:28 -03:00
Diego Rodrigues de Sa e Souza
7b84a9cf1c Merge branch 'release/v3.8.50' into feat/6736-response-content-encoding 2026-08-05 13:21:42 -03:00
Diego Rodrigues de Sa e Souza
0dc2b9b021 Merge branch 'release/v3.8.50' into feat/6736-response-content-encoding 2026-08-05 12:00:34 -03:00
diegosouzapw
58eeb53d88 feat(api): add response content encoding verification (#6736) 2026-08-04 14:46:09 -03:00
3 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1 @@
- **feat(api):** add response content encoding verification — confirms Next.js compress:true and documents stripStaleForwardingHeaders behavior ([#6736](https://github.com/diegosouzapw/OmniRoute/issues/6736))

View File

@@ -189,6 +189,7 @@
"tests/unit/combo/effective-max-concurrency.test.ts",
"tests/unit/combo/recovery-hint.test.ts",
"tests/unit/complexity-aware-scoring-wiring.test.ts",
"tests/unit/compression-header-verification.test.ts",
"tests/unit/context-pinning-tool-calls.test.ts",
"tests/unit/cooldown-epoch-string-3954.test.ts",
"tests/unit/correctness/combo.property.test.ts",

View File

@@ -0,0 +1,36 @@
import { describe, it } from "node:test";
import { ok, equal } from "node:assert/strict";
describe("Response compression verification (#6736)", () => {
it("next.config.mjs has compress: true", async () => {
// Read the config file and verify compression is enabled
const fs = await import("fs");
const content = fs.readFileSync("next.config.mjs", "utf-8");
ok(content.includes("compress: true"), "Next.js compression should be enabled");
});
it("stripStaleForwardingHeaders deletes content-encoding", async () => {
const { stripStaleForwardingHeaders } = await import(
"@/../open-sse/handlers/chatCore/responseHeaders"
);
const headers = new Headers({ "content-encoding": "gzip", "x-custom": "keep" });
stripStaleForwardingHeaders(headers);
equal(headers.has("content-encoding"), false, "content-encoding should be stripped");
ok(headers.has("x-custom"), "custom headers should survive");
});
it("stripStaleForwardingHeaders deletes content-length and transfer-encoding", async () => {
const { stripStaleForwardingHeaders } = await import(
"@/../open-sse/handlers/chatCore/responseHeaders"
);
const headers = new Headers({
"content-length": "1024",
"content-encoding": "gzip",
"transfer-encoding": "chunked",
});
stripStaleForwardingHeaders(headers);
equal(headers.has("content-length"), false);
equal(headers.has("content-encoding"), false);
equal(headers.has("transfer-encoding"), false);
});
});