react/packages/react-devtools-shared
Sebastian Markbåge 0a5fb67ddf
[DevTools] Sort suspense timeline by end time instead of just document order (#35011)
Right now it's possible for things like server environments to appear
before other content in the timeline just because it's in a different
document order.

Ofc the order in production is not guaranteed but we can at least use
the timing information we have as a hint towards the actual order.

Unfortunately since the end time of the RSC stream itself is always
after the content that resolved to produce it, it becomes kind of
determined by the chunking. Similarly since for a clean refresh, the
scripts and styles will typically load after the server content they
appear later. Similarly SSR typically finishes after the RSC parts.
Therefore a hack here is that I artificially delay everything with a
non-null environment (RSC) so that RSC always comes after client-side
(Suspense). This is also consistent with how we color things that have
an environment even if children are just Suspense.

To ensure that we never show a child before a parent, in the timeline,
each child has a minimum time of its parent.
2025-10-29 15:05:04 -04:00
..
src [DevTools] Sort suspense timeline by end time instead of just document order (#35011) 2025-10-29 15:05:04 -04:00
babel.config.js Update Flow to 0.248 (#34248) 2025-08-21 11:15:34 -04:00
buildUtils.js feat[devtools]: add package for fusebox integration (#28553) 2024-04-12 15:29:35 +01:00
package.json [DevTools] Show the Suspense boundary name in the rect if there's no overlap (#34918) 2025-10-19 22:17:45 -04:00
README.md Update DevTools READMEs (#24105) 2022-03-16 11:37:10 -04:00
SourceMapIgnoreListPlugin.js feat[devtools]: ship source maps for content scripts and ignore list installHook script (#28730) 2024-04-08 18:10:09 +01:00

This directory contains code shared between several DevTools packages:

  • /packages/react-devtools-core
  • /packages/react-devtools-extensions
  • /packages/react-devtools-inline

It is not published or released anywhere directly.