From 667adc80677a335ae78823d085e15518bab6866c Mon Sep 17 00:00:00 2001 From: Jacob Ebey Date: Tue, 23 Sep 2025 16:40:22 -0700 Subject: [PATCH 1/2] disable compression for RSC responses for now --- .changeset/nice-apples-burn.md | 5 +++++ packages/react-router-serve/cli.ts | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .changeset/nice-apples-burn.md diff --git a/.changeset/nice-apples-burn.md b/.changeset/nice-apples-burn.md new file mode 100644 index 0000000000..7d9559f56a --- /dev/null +++ b/.changeset/nice-apples-burn.md @@ -0,0 +1,5 @@ +--- +"@react-router/serve": patch +--- + +disable compression for RSC responses for now diff --git a/packages/react-router-serve/cli.ts b/packages/react-router-serve/cli.ts index 598655f01b..77aa7efea6 100644 --- a/packages/react-router-serve/cli.ts +++ b/packages/react-router-serve/cli.ts @@ -105,16 +105,20 @@ async function run() { let app = express(); app.disable("x-powered-by"); - app.use(compression()); app.use( path.posix.join(build.publicPath, "assets"), + compression(), express.static(path.join(build.assetsBuildDirectory, "assets"), { immutable: true, maxAge: "1y", }), ); - app.use(build.publicPath, express.static(build.assetsBuildDirectory)); - app.use(express.static("public", { maxAge: "1h" })); + app.use( + build.publicPath, + compression(), + express.static(build.assetsBuildDirectory), + ); + app.use(compression(), express.static("public", { maxAge: "1h" })); app.use(morgan("tiny")); if (isRSCServerBuild(build)) { @@ -122,6 +126,7 @@ async function run() { } else { app.all( "*", + compression(), createRequestHandler({ build, mode: process.env.NODE_ENV, From 60b116576274b2af4e0b4fbb028a3a6a0649946d Mon Sep 17 00:00:00 2001 From: Matt Brophy Date: Wed, 24 Sep 2025 10:01:08 -0400 Subject: [PATCH 2/2] Simplify approach to just on or off completely --- packages/react-router-serve/cli.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/react-router-serve/cli.ts b/packages/react-router-serve/cli.ts index 77aa7efea6..015f94dda2 100644 --- a/packages/react-router-serve/cli.ts +++ b/packages/react-router-serve/cli.ts @@ -105,20 +105,20 @@ async function run() { let app = express(); app.disable("x-powered-by"); + + if (!isRSCServerBuild(build)) { + app.use(compression()); + } + app.use( path.posix.join(build.publicPath, "assets"), - compression(), express.static(path.join(build.assetsBuildDirectory, "assets"), { immutable: true, maxAge: "1y", }), ); - app.use( - build.publicPath, - compression(), - express.static(build.assetsBuildDirectory), - ); - app.use(compression(), express.static("public", { maxAge: "1h" })); + app.use(build.publicPath, express.static(build.assetsBuildDirectory)); + app.use(express.static("public", { maxAge: "1h" })); app.use(morgan("tiny")); if (isRSCServerBuild(build)) { @@ -126,7 +126,6 @@ async function run() { } else { app.all( "*", - compression(), createRequestHandler({ build, mode: process.env.NODE_ENV,