Skip to content

Conversation

@sebmarkbage
Copy link
Collaborator

@sebmarkbage sebmarkbage commented Sep 18, 2025

Stacked on #34511.

We currently log all Suspended Commit as "Suspended on Images or CSS" but it can really be other reasons too now. Like waiting on the previous View Transition. This allows the host config configure this reason.

Now when one animation starts before another one finishes we log that as "Waiting for the previous Animation".

Screenshot 2025-09-17 at 11 53 45 PM

@meta-cla meta-cla bot added the CLA Signed label Sep 18, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 18, 2025
@react-sizebot
Copy link

react-sizebot commented Sep 18, 2025

Comparing: 115e3ec...bb6391d

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB +0.05% 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 534.28 kB 534.33 kB +0.02% 94.31 kB 94.33 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB +0.11% 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js +0.02% 663.59 kB 663.70 kB +0.02% 116.98 kB 117.00 kB
facebook-www/ReactDOM-prod.classic.js +0.02% 687.51 kB 687.62 kB +0.02% 121.00 kB 121.02 kB
facebook-www/ReactDOM-prod.modern.js +0.02% 677.93 kB 678.04 kB +0.02% 119.36 kB 119.38 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.production.js +0.21% 38.26 kB 38.34 kB +0.21% 7.08 kB 7.09 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.production.js +0.21% 38.28 kB 38.37 kB +0.24% 7.11 kB 7.12 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer.production.js +0.21% 38.29 kB 38.37 kB +0.25% 7.11 kB 7.13 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.production.js +0.21% 38.39 kB 38.47 kB +0.21% 7.10 kB 7.11 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.production.js +0.21% 38.41 kB 38.49 kB +0.24% 7.13 kB 7.14 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.production.js +0.21% 38.42 kB 38.50 kB +0.24% 7.13 kB 7.15 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.development.js +0.21% 42.56 kB 42.65 kB +0.21% 7.68 kB 7.70 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.development.js +0.21% 42.59 kB 42.67 kB +0.22% 7.71 kB 7.73 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer.development.js +0.21% 42.59 kB 42.68 kB +0.22% 7.71 kB 7.73 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +0.21% 42.70 kB 42.79 kB +0.21% 7.70 kB 7.72 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +0.21% 42.73 kB 42.81 kB +0.23% 7.73 kB 7.75 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +0.21% 42.73 kB 42.82 kB +0.23% 7.73 kB 7.75 kB

Generated by 🚫 dangerJS against bb6391d

rootContainer: Container,
): null | string {
if (state.waitingForViewTransition) {
return 'Waiting for the previous Animation';
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the previous animation finishes before the css and images do, then technically after that we were suspended on css. But that's a nuance that would require more complexity to show.

Technically if we were suspended on CSS first and then it finishes and then we were only suspended on images we should also show two tracks but that's unnecessary detail.

}

export function getSuspendedCommitReason(state, rootContainer) {
return '';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this supposed to return null?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Originally I had this as required to return a string since we are always going to delay in this path so not providing a reason would be an error. However, I ended up just returning null in the DOM but maybe that should just throw instead.

@sebmarkbage sebmarkbage merged commit b204edd into facebook:main Sep 20, 2025
179 of 180 checks passed
github-actions bot pushed a commit that referenced this pull request Sep 20, 2025
Stacked on #34511.

We currently log all Suspended Commit as "Suspended on Images or CSS"
but it can really be other reasons too now. Like waiting on the previous
View Transition. This allows the host config configure this reason.

Now when one animation starts before another one finishes we log that as
"Waiting for the previous Animation".

<img width="592" height="257" alt="Screenshot 2025-09-17 at 11 53 45 PM"
src="https://github.com/user-attachments/assets/817af8b5-37ae-46d8-bfd1-cd3fc637f3f3"
/>

DiffTrain build for [b204edd](b204edd)
github-actions bot pushed a commit that referenced this pull request Sep 20, 2025
Stacked on #34511.

We currently log all Suspended Commit as "Suspended on Images or CSS"
but it can really be other reasons too now. Like waiting on the previous
View Transition. This allows the host config configure this reason.

Now when one animation starts before another one finishes we log that as
"Waiting for the previous Animation".

<img width="592" height="257" alt="Screenshot 2025-09-17 at 11 53 45 PM"
src="https://github.com/user-attachments/assets/817af8b5-37ae-46d8-bfd1-cd3fc637f3f3"
/>

DiffTrain build for [b204edd](b204edd)
sebmarkbage added a commit that referenced this pull request Sep 20, 2025
Stacked on #34522.

<img width="1025" height="200" alt="Screenshot 2025-09-19 at 6 37 28 PM"
src="https://github.com/user-attachments/assets/f25900f6-6503-48b1-876d-bd6697a29c6f"
/>

We already cover the time between "Starting Animation" and "Remaining
Effects" as "Animating". However, if the effects are forced then we can
still be animating after that. This fills in that gap.

This also fills in the gap if another render starts before the animation
finishes on the same track. It'll mark the blank space between the
previous render finishing and the next render starting as "Animating".

This should correspond roughly to the native "Animations" track.
github-actions bot pushed a commit that referenced this pull request Sep 20, 2025
Stacked on #34522.

<img width="1025" height="200" alt="Screenshot 2025-09-19 at 6 37 28 PM"
src="https://github.com/user-attachments/assets/f25900f6-6503-48b1-876d-bd6697a29c6f"
/>

We already cover the time between "Starting Animation" and "Remaining
Effects" as "Animating". However, if the effects are forced then we can
still be animating after that. This fills in that gap.

This also fills in the gap if another render starts before the animation
finishes on the same track. It'll mark the blank space between the
previous render finishing and the next render starting as "Animating".

This should correspond roughly to the native "Animations" track.

DiffTrain build for [b4fe1e6](b4fe1e6)
github-actions bot pushed a commit that referenced this pull request Sep 20, 2025
Stacked on #34522.

<img width="1025" height="200" alt="Screenshot 2025-09-19 at 6 37 28 PM"
src="https://github.com/user-attachments/assets/f25900f6-6503-48b1-876d-bd6697a29c6f"
/>

We already cover the time between "Starting Animation" and "Remaining
Effects" as "Animating". However, if the effects are forced then we can
still be animating after that. This fills in that gap.

This also fills in the gap if another render starts before the animation
finishes on the same track. It'll mark the blank space between the
previous render finishing and the next render starting as "Animating".

This should correspond roughly to the native "Animations" track.

DiffTrain build for [b4fe1e6](b4fe1e6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants