From db08d2553f83bab77529c46d5434a7d9f74e4a9c Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Sun, 13 Oct 2024 11:45:52 -0400 Subject: [PATCH 1/2] Also don't cut off type and key and owner --- packages/react-server/src/ReactFlightServer.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/react-server/src/ReactFlightServer.js b/packages/react-server/src/ReactFlightServer.js index 6adf619290e5..ca004a6e7971 100644 --- a/packages/react-server/src/ReactFlightServer.js +++ b/packages/react-server/src/ReactFlightServer.js @@ -3465,7 +3465,18 @@ function renderConsoleValue( if (element._owner != null) { outlineComponentInfo(request, element._owner); } + if (typeof element.type === 'object' && element.type !== null) { + // If the type is an object it can get cut off which shouldn't happen here. + doNotLimit.add(element.type); + } + if (typeof element.key === 'object' && element.key !== null) { + // This should never happen but just in case. + doNotLimit.add(element.key); + } doNotLimit.add(element.props); + if (element._owner !== null) { + doNotLimit.add(element._owner); + } if (enableOwnerStacks) { let debugStack: null | ReactStackTrace = null; From 1edd2946e0ccc5e254576197f76e4234dfe94fc3 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Sun, 13 Oct 2024 12:04:03 -0400 Subject: [PATCH 2/2] Don't throw for now --- packages/react-client/src/ReactFlightClient.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/react-client/src/ReactFlightClient.js b/packages/react-client/src/ReactFlightClient.js index 2f60ccddb4b4..141058fb9dfb 100644 --- a/packages/react-client/src/ReactFlightClient.js +++ b/packages/react-client/src/ReactFlightClient.js @@ -1364,10 +1364,8 @@ function parseModelString( // happened. Object.defineProperty(parentObject, key, { get: function () { - // We intentionally don't throw an error object here because it looks better - // without the stack in the console which isn't useful anyway. - // eslint-disable-next-line no-throw-literal - throw ( + // TODO: We should ideally throw here to indicate a difference. + return ( 'This object has been omitted by React in the console log ' + 'to avoid sending too much data from the server. Try logging smaller ' + 'or more specific objects.'