Skip to content

Conversation

sebmarkbage
Copy link
Collaborator

Reset EventTime when clearing timers. We need to track repeat updates separately.

Typically we always reset all timers when we've logged an update. The same update shouldn't be logged again.

I was trying to be clever and not reset the XEventTime because we also need the timestamp to know if it's a repeat event. However, because of this it looked like we had an event schedule an update even after we had reset them.

This always resets the XEventTime to -1.1 and then stashes the old time on EventRepeatTime which is our indication whether the next update was a repeat of the old event.

We need to track repeat updates separately.
@meta-cla meta-cla bot added the CLA Signed label Sep 30, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 30, 2025
@react-sizebot
Copy link

react-sizebot commented Sep 30, 2025

Comparing: a55e98f...a7f364d

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 = 536.16 kB 536.10 kB = 94.80 kB 94.79 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 663.75 kB 663.69 kB = 117.02 kB 117.00 kB
facebook-www/ReactDOM-prod.classic.js = 687.70 kB 687.59 kB = 121.07 kB 121.04 kB
facebook-www/ReactDOM-prod.modern.js = 678.12 kB 678.02 kB = 119.43 kB 119.40 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
react-native/implementations/ReactNativeRenderer-dev.fb.js = 778.28 kB 776.65 kB = 123.17 kB 123.11 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js = 850.89 kB 849.05 kB = 132.49 kB 132.38 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js = 741.41 kB 739.80 kB = 128.20 kB 128.08 kB
facebook-www/ReactReconciler-dev.classic.js = 884.74 kB 882.73 kB = 137.07 kB 136.91 kB
facebook-www/ReactReconciler-dev.modern.js = 875.51 kB 873.50 kB = 135.31 kB 135.16 kB
facebook-www/ReactDOM-profiling.classic.js = 769.03 kB 767.26 kB = 131.98 kB 131.81 kB
facebook-www/ReactDOM-profiling.modern.js = 760.93 kB 759.16 kB = 130.62 kB 130.44 kB
oss-experimental/react-art/cjs/react-art.development.js = 723.53 kB 721.83 kB = 113.77 kB 113.60 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-profiling.js = 675.58 kB 673.99 kB = 115.79 kB 115.68 kB
facebook-www/ReactART-dev.classic.js = 777.68 kB 775.84 kB = 121.35 kB 121.23 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-profiling.js = 669.65 kB 668.06 kB = 114.63 kB 114.52 kB
facebook-www/ReactART-dev.modern.js = 768.15 kB 766.31 kB = 119.59 kB 119.48 kB
react-native/implementations/ReactFabric-profiling.fb.js = 461.75 kB 460.41 kB = 77.14 kB 77.09 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.js = 558.72 kB 556.83 kB = 87.00 kB 86.84 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js = 468.60 kB 466.97 kB = 78.10 kB 78.01 kB

Generated by 🚫 dangerJS against a7f364d

Co-authored-by: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com>
Co-authored-by: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com>
@sebmarkbage sebmarkbage merged commit 7bccdbd into facebook:main Oct 1, 2025
241 checks passed
github-actions bot pushed a commit that referenced this pull request Oct 1, 2025
Reset EventTime when clearing timers. We need to track repeat updates
separately.

Typically we always reset all timers when we've logged an update. The
same update shouldn't be logged again.

I was trying to be clever and not reset the XEventTime because we also
need the timestamp to know if it's a repeat event. However, because of
this it looked like we had an event schedule an update even after we had
reset them.

This always resets the XEventTime to -1.1 and then stashes the old time
on EventRepeatTime which is our indication whether the next update was a
repeat of the old event.

---------

Co-authored-by: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com>
Co-authored-by: Ricky <rickhanlonii@gmail.com>

DiffTrain build for [7bccdbd](7bccdbd)
github-actions bot pushed a commit that referenced this pull request Oct 1, 2025
Reset EventTime when clearing timers. We need to track repeat updates
separately.

Typically we always reset all timers when we've logged an update. The
same update shouldn't be logged again.

I was trying to be clever and not reset the XEventTime because we also
need the timestamp to know if it's a repeat event. However, because of
this it looked like we had an event schedule an update even after we had
reset them.

This always resets the XEventTime to -1.1 and then stashes the old time
on EventRepeatTime which is our indication whether the next update was a
repeat of the old event.

---------

Co-authored-by: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com>
Co-authored-by: Ricky <rickhanlonii@gmail.com>

DiffTrain build for [7bccdbd](7bccdbd)
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.

4 participants