diff --git a/.gitignore b/.gitignore index 7d0cf969f32..ce8d7b7cd98 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ artifacts .rpt2_cache coverage *.tgz +.wrangler # tests packages/router-generator/tests/**/*.gen.ts diff --git a/packages/start/src/server/defaultStreamHandler.tsx b/packages/start/src/server/defaultStreamHandler.tsx index fd21f9692c3..468bc47afc7 100644 --- a/packages/start/src/server/defaultStreamHandler.tsx +++ b/packages/start/src/server/defaultStreamHandler.tsx @@ -24,6 +24,9 @@ export const defaultStreamHandler: HandlerCallback = async ({ , { signal: request.signal, + onError(error, errorInfo) { + console.error(error, errorInfo) + }, }, ) diff --git a/packages/start/src/server/transformStreamWithRouter.ts b/packages/start/src/server/transformStreamWithRouter.ts index 2b8bfa16b98..b215942cdd1 100644 --- a/packages/start/src/server/transformStreamWithRouter.ts +++ b/packages/start/src/server/transformStreamWithRouter.ts @@ -25,10 +25,13 @@ export function transformReadableStreamWithRouter(router: AnyRouter) { const callbacks = transformHtmlCallbacks(() => router.injectedHtml.map((d) => d()).join(''), ) + + const encoder = new TextEncoder() + return new TransformStream({ transform(chunk, controller) { return callbacks.transform(chunk, (chunkToPush) => { - controller.enqueue(chunkToPush) + controller.enqueue(encoder.encode(chunkToPush)) return true }) }, @@ -59,6 +62,7 @@ function transformHtmlCallbacks(getHtml: () => string) { let leftoverHtml = '' return { + // eslint-disable-next-line @typescript-eslint/require-await async transform(chunk: any, push: (chunkToPush: string) => boolean) { const chunkString = leftover + textDecoder.decode(chunk) @@ -123,6 +127,7 @@ function transformHtmlCallbacks(getHtml: () => string) { throw err } }, + // eslint-disable-next-line @typescript-eslint/require-await async flush(push: (chunkToPush: string) => boolean) { if (leftover) { push(leftover)