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 c7d0b39df3b..f1a6273dae9 100644 --- a/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js +++ b/packages/react-devtools-shared/src/devtools/views/Components/InspectedElementSuspendedBy.js @@ -205,6 +205,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, @@ -241,6 +250,9 @@ export default function InspectedElementSuspendedBy({ minTime = maxTime - 25; } + const sortedSuspendedBy = suspendedBy.slice(0); + sortedSuspendedBy.sort(compareTime); + return (
@@ -249,7 +261,7 @@ export default function InspectedElementSuspendedBy({
- {suspendedBy.map((asyncInfo, index) => ( + {sortedSuspendedBy.map((asyncInfo, index) => (