From 264d9c4e3de721a0a6abd2e656f1dd0844030986 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Thu, 5 Mar 2026 21:39:35 +0300 Subject: [PATCH 1/3] fix vite preview streaming --- packages/start-plugin-core/src/preview-server-plugin/plugin.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/start-plugin-core/src/preview-server-plugin/plugin.ts b/packages/start-plugin-core/src/preview-server-plugin/plugin.ts index 3257a8323b7..6359b86d8c2 100644 --- a/packages/start-plugin-core/src/preview-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/preview-server-plugin/plugin.ts @@ -20,6 +20,7 @@ export function previewServerPlugin(): Plugin { let serverBuild: any = null server.middlewares.use(async (req, res, next) => { + res.setHeader('content-encoding', 'identity') try { // Lazy load server build on first request if (!serverBuild) { From 9b0aee436cb71bb3ece3aee5b3545f5ed80aff5a Mon Sep 17 00:00:00 2001 From: huseeiin Date: Sun, 15 Mar 2026 13:14:13 +0300 Subject: [PATCH 2/3] fix --- .../start-plugin-core/src/preview-server-plugin/plugin.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/start-plugin-core/src/preview-server-plugin/plugin.ts b/packages/start-plugin-core/src/preview-server-plugin/plugin.ts index 6359b86d8c2..3d2d8a05bf6 100644 --- a/packages/start-plugin-core/src/preview-server-plugin/plugin.ts +++ b/packages/start-plugin-core/src/preview-server-plugin/plugin.ts @@ -20,7 +20,6 @@ export function previewServerPlugin(): Plugin { let serverBuild: any = null server.middlewares.use(async (req, res, next) => { - res.setHeader('content-encoding', 'identity') try { // Lazy load server build on first request if (!serverBuild) { @@ -51,6 +50,10 @@ export function previewServerPlugin(): Plugin { const webReq = new NodeRequest({ req, res }) const webRes: Response = await serverBuild.fetch(webReq) + if (webRes.headers.get('content-type')?.startsWith('text/html')) { + res.setHeader('content-encoding', 'identity') + } + // Temporary workaround // Vite preview's compression middleware doesn't support flattened array headers that srvx sets // Call writeHead() before srvx to avoid corruption From 5ca69c12068ea69f48005a3e5e5b9f38ba6939c2 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Sun, 15 Mar 2026 14:14:02 +0300 Subject: [PATCH 3/3] add changeset --- .changeset/thick-lines-follow.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thick-lines-follow.md diff --git a/.changeset/thick-lines-follow.md b/.changeset/thick-lines-follow.md new file mode 100644 index 00000000000..20a42bcbca2 --- /dev/null +++ b/.changeset/thick-lines-follow.md @@ -0,0 +1,5 @@ +--- +'@tanstack/start-plugin-core': minor +--- + +fix streaming in vite preview