diff --git a/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js b/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js index 79fdbd1a36..a1b76e49b6 100644 --- a/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js +++ b/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js @@ -228,6 +228,15 @@ type Props = { store: Store, }; +function compareTime(a: SerializedAsyncInfo, b: SerializedAsyncInfo): number { + const ioA = a.awaited; + const ioB = b.awaited; + if (ioA.start === ioB.start) { + return ioA.end - ioB.end; + } + return ioA.start - ioB.start; +} + export default function InspectedElementSuspendedBy({ bridge, element, @@ -264,6 +273,9 @@ export default function InspectedElementSuspendedBy({ minTime = maxTime - 25; } + const sortedSuspendedBy = suspendedBy.slice(0); + sortedSuspendedBy.sort(compareTime); + return (
@@ -272,7 +284,7 @@ export default function InspectedElementSuspendedBy({
- {suspendedBy.map((asyncInfo, index) => ( + {sortedSuspendedBy.map((asyncInfo, index) => (