From e19cdecadbad4763dde84641dd0a624897fa9e66 Mon Sep 17 00:00:00 2001 From: Sheraff Date: Tue, 13 Jan 2026 17:42:17 +0100 Subject: [PATCH] fix(router-core): replaceEqualDeep max depth --- packages/router-core/src/utils.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/router-core/src/utils.ts b/packages/router-core/src/utils.ts index d5a6849fc82..4a04372e7da 100644 --- a/packages/router-core/src/utils.ts +++ b/packages/router-core/src/utils.ts @@ -219,11 +219,13 @@ const hasOwn = Object.prototype.hasOwnProperty * This can be used for structural sharing between immutable JSON values for example. * Do not use this with signals */ -export function replaceEqualDeep(prev: any, _next: T): T { +export function replaceEqualDeep(prev: any, _next: T, _depth = 0): T { if (prev === _next) { return prev } + if (_depth > 500) return _next + const next = _next as any const array = isPlainArray(prev) && isPlainArray(next) @@ -261,7 +263,7 @@ export function replaceEqualDeep(prev: any, _next: T): T { continue } - const v = replaceEqualDeep(p, n) + const v = replaceEqualDeep(p, n, _depth + 1) copy[key] = v if (v === p) equalItems++ }