diff --git a/.changeset/large-insects-own.md b/.changeset/large-insects-own.md new file mode 100644 index 0000000000..514f393abf --- /dev/null +++ b/.changeset/large-insects-own.md @@ -0,0 +1,5 @@ +--- +'@tanstack/start-server-core': patch +--- + +Skip a full router.update for faster createStartHandler diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index 378ed50d2d..90d4e706f9 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -584,7 +584,9 @@ export function createStartHandler( getStartContext({ throwIfNotFound: false })?.requestAssets, }) - routerInstance.update({ additionalContext: { serverContext } }) + // `additionalContext` is request-scoped and only read from router.options + // during load; avoid a full router.update() and redundant location parse. + routerInstance.options.additionalContext = { serverContext } await routerInstance.load() if (routerInstance.state.redirect) {