@samitouri / QOS-React-2 / commits / bf11d2fb2f

[DevTools] Infer name from stack if it's the generic "lazy" name (#34907)

Stacked on #34906. Infer name from stack if it's the generic "lazy" name. It might be wrapped in an abstraction. E.g. `next/dynamic`. Also use the function name as a description of a resolved function value. <img width="310" height="166" alt="Screenshot 2025-10-18 at 10 42 05 AM" src="https://github.com/user-attachments/assets/c63170b9-2b19-4f30-be7a-6429bb3ef3d9" />

Sebastian Markbåge committed Oct 19, 2025 at 11:56 UTC bf11d2fb2f01174974b7e1fa5b1c01d34936724b
2 files changed +3 -1
packages/react-devtools-shared/src/devtools/views/useInferredName.js
+1 -1
@@ -16,7 +16,7 @@ export default function useInferredName(
16 const fetchFileWithCaching = useContext(FetchFileWithCachingContext);
17 const name = asyncInfo.awaited.name;
18 let inferNameFromStack = null;
19 - if (!name || name === 'Promise') {
19 + if (!name || name === 'Promise' || name === 'lazy') {
20 // If all we have is a generic name, we can try to infer a better name from
21 // the stack. We only do this if the stack has more than one frame since
22 // otherwise it's likely to just be the name of the component which isn't better.
packages/shared/ReactIODescription.js
+2
@@ -13,6 +13,8 @@ export function getIODescription(value: mixed): string {
13 }
14 try {
15 switch (typeof value) {
16 + case 'function':
17 + return value.name || '';
18 case 'object':
19 // Test the object for a bunch of common property names that are useful identifiers.
20 // While we only have the return value here, it should ideally be a name that