Skip to content

Mirror of upstream PR #34126 #317

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 343 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
6c8bcda
[Flight] Clarify Semantics for Awaiting Cached Data (#33438)
sebmarkbage Jun 7, 2025
e4b88ae
[Flight] Add Web Streams APIs to unbundled Node entries for Webpack (…
unstubbable Jun 7, 2025
c0b5a0c
[Flight] Use Web Streams APIs for 3rd-party component in Flight fixtu…
unstubbable Jun 8, 2025
911dbd9
feat(ReactNative): prioritize attribute config `process` function to …
hannojg Jun 9, 2025
95bcf87
Format `ReactNativeAttributePayloadFabric.js` with Prettier (#33486)
unstubbable Jun 9, 2025
4df098c
[compiler] Don't include useEffectEvent values in autodeps (#33450)
jbrown215 Jun 9, 2025
428ab82
[Flight] Simulate fetch to third party in fixture (#33484)
sebmarkbage Jun 9, 2025
b6c0aa8
[compiler]: fix link compiler & 4 broken tests from path containing s…
wlemahieu Jun 9, 2025
80c03eb
refactor[devtools]: update css for settings and support css variables…
hoxyq Jun 9, 2025
c38e268
[Fiber] Fix hydration of useId in SuspenseList (#33491)
sebmarkbage Jun 9, 2025
56408a5
[Flight] Emit timestamps only in forwards advancing time in debug inf…
sebmarkbage Jun 10, 2025
6c86e56
Remove feature flag enableRenderableContext (#33505)
kassens Jun 11, 2025
ff93c44
[Flight] Track Debug Info from Synchronously Unwrapped Promises (#33485)
sebmarkbage Jun 11, 2025
b7e2de6
Stringify context as SomeContext instead of SomeContext.Provider (#33…
kassens Jun 11, 2025
888ea60
[compiler][repro] Postfix operator is incorrectly compiled (#33508)
poteto Jun 11, 2025
a00ca6f
[Fizz] Delay detachment of completed boundaries until reveal (#33511)
eps1lon Jun 11, 2025
ed023cf
[devtools-shell] layout options for testing (#33516)
jsdf Jun 13, 2025
12bc60f
[devtools] Added minimum indent size to Component Tree (#33517)
jsdf Jun 13, 2025
d60f77a
[ci] Update prerelease workflows to allow publishing specific package…
poteto Jun 13, 2025
6b7e207
[ci] Don't skip experimental prerelease incorrectly (#33527)
poteto Jun 13, 2025
5d24c64
Remove feature flag enableDO_NOT_USE_disableStrictPassiveEffect (#33524)
kassens Jun 16, 2025
75e78d2
[compiler] Add repro for IIFE in ternary causing a bailout (#33546)
jbrown215 Jun 17, 2025
90bee81
[compiler] Do not inline IIFEs in value blocks (#33548)
jbrown215 Jun 17, 2025
e1dc034
Expose cacheSignal() alongside cache() (#33557)
sebmarkbage Jun 17, 2025
ae96265
[compiler] Remove unnecessary fixture (#33572)
josephsavona Jun 18, 2025
66cfe04
[compiler] New mutability/aliasing model (#33494)
josephsavona Jun 18, 2025
df080d2
[compiler] Copy fixtures affected by new inference (#33495)
josephsavona Jun 18, 2025
0cf6d0c
[compiler] Update fixtures for new inference (#33496)
josephsavona Jun 18, 2025
90ccbd7
[compiler] Enable new inference by default (#33497)
josephsavona Jun 18, 2025
7c28c15
[compiler] Fix AnalyzeFunctions to fully reset context identifiers (#…
josephsavona Jun 18, 2025
7b67dc9
[commit] Better error message for invalid hoisting (#33504)
josephsavona Jun 18, 2025
e081cb3
[compiler] FunctionExpression context locations point to first refere…
josephsavona Jun 18, 2025
b067c6f
[compiler] Improve error message for mutating hook args/return (#33513)
josephsavona Jun 18, 2025
7ce2a63
[compiler] update fixtures (#33573)
josephsavona Jun 18, 2025
8f4ce72
[commit] Improve error for hoisting violations (#33514)
josephsavona Jun 18, 2025
81d8115
[compiler] Fix infinite loop due to uncached applied signatures (#33518)
josephsavona Jun 18, 2025
0e7cdeb
[compiler] Repro for case of lost precision in new inference (#33522)
josephsavona Jun 18, 2025
34179fe
[compiler] moduleTypeProvider support for aliasing signatures (#33526)
josephsavona Jun 18, 2025
4335f69
[compiler] More readable alias signature declarations (#33530)
josephsavona Jun 18, 2025
7ceb100
[compiler] Rename InferFunctionExprAliasingEffectsSignature (#33532)
josephsavona Jun 18, 2025
4f543f3
[compiler] Docs describing new inference model (#33533)
josephsavona Jun 18, 2025
cc38063
[compiler] Tests for different orders of createfrom/capture w/wo func…
josephsavona Jun 18, 2025
3a2ff8b
[compiler] Fix <ValidateMemoization> (#33547)
josephsavona Jun 18, 2025
d37faa0
[compiler] Preserve Create effects, guarantee effects initialize once…
josephsavona Jun 18, 2025
2bee348
[compiler] Cleanup debugging code (#33571)
josephsavona Jun 18, 2025
374dfe8
build: make enableComponentPerformanceTrack dynamic for native-fb (#3…
hoxyq Jun 19, 2025
a947eba
Fix CI (#33578)
eps1lon Jun 19, 2025
c8822e9
Make it clearer what runtime release failed (#33579)
eps1lon Jun 20, 2025
79d9aed
[Fizz] Clean up the replay nodes if we're already rendered past an el…
sebmarkbage Jun 20, 2025
06e8995
[Fizz] Ignore error if content node is gone before reveal (#33531)
eps1lon Jun 20, 2025
643257c
[Flight] Serialize functions by reference (#33539)
devongovett Jun 20, 2025
ed07719
[Flight] Dedupe objects serialized as Debug Models in a separate set …
sebmarkbage Jun 20, 2025
6c7b1a1
Rename serializeConsoleMap/Set to serializeDebugMap/Set (#33587)
sebmarkbage Jun 21, 2025
d70ee32
[Flight] Eagerly parse stack traces in DebugNode (#33589)
sebmarkbage Jun 22, 2025
fe3f0ec
[Flight] Don't use object property initializer for async iterable (#3…
sebmarkbage Jun 22, 2025
1d1b26c
[Flight] Serialize already resolved Promises as debug models (#33588)
sebmarkbage Jun 22, 2025
18ee505
[Flight] Support classes in renderDebugModel (#33590)
sebmarkbage Jun 22, 2025
2a911f2
[Flight] Send the awaited Promise to the client as additional debug i…
sebmarkbage Jun 23, 2025
fa3feba
Fix prelease workflows for `dry: false` (#33582)
eps1lon Jun 23, 2025
aab72cb
rename ReactFiberContext to ReactFiberLegacyContext (#33622)
kassens Jun 23, 2025
c80c69f
[Flight] Remove back pointers to the Response from the Chunks (#33620)
sebmarkbage Jun 23, 2025
12eaef7
[refactor] remove unused fiberstack functions (#33623)
rickhanlonii Jun 24, 2025
bbc13fa
[Flight] Add Debug Channel option for stateful connection to the back…
sebmarkbage Jun 24, 2025
94cf60b
[compiler] New inference repros/fixes (#33584)
josephsavona Jun 24, 2025
4a52348
Get Server Component Function Location for Parent Stacks using Child'…
sebmarkbage Jun 24, 2025
e67b4fe
[Flight] Emit Partial Debug Info if we have any at the point of abort…
sebmarkbage Jun 24, 2025
7a3ffef
[react-native] Consume ReactNativeAttributePayloadFabric from ReactNa…
javache Jun 25, 2025
b42341d
[Flight] Use cacheController instead of abortListeners for Streams (#…
sebmarkbage Jun 25, 2025
cee7939
[Fizz] Push a stalled await from debug info to the ownerStack/debugTa…
sebmarkbage Jun 25, 2025
9894c48
[compiler] Fix bug with reassigning function param in destructuring (…
josephsavona Jun 25, 2025
e130c08
[compiler] Avoid empty switch cases (#33625)
josephsavona Jun 25, 2025
123ff13
[compiler] Consolidate HIRFunction return information (#33640)
josephsavona Jun 25, 2025
bb6c9d5
[Flight] Log aborted await and component renders (#33641)
sebmarkbage Jun 25, 2025
9b2a545
[Flight] Add tests for component and owner stacks of halted component…
unstubbable Jun 25, 2025
9406162
[Flight] Emit start time before an await if one wasn't emitted alread…
sebmarkbage Jun 25, 2025
31d9165
[Fizz] Rename ReactFizzContext to ReactFizzLegacyContext (#33649)
sebmarkbage Jun 26, 2025
4db4b21
Fix typo "Complier" to "Compiler" and remove duplicate issue referenc…
DhruvTheDev1 Jun 26, 2025
d2a288f
Include Component Props in Performance Track (#33655)
sebmarkbage Jun 27, 2025
bfc8801
[Flight] Write Debug Info to Separate Priority Queue (#33654)
sebmarkbage Jun 27, 2025
58ac15c
devtools: emit performance entries only when profiling (#33652)
hoxyq Jun 27, 2025
d92056e
React DevTools 6.1.2 -> 6.1.3 (#33657)
hoxyq Jun 27, 2025
811e203
[Flight] Don't replay performance logs when replayConsoleLogs is fals…
sebmarkbage Jun 27, 2025
9c2a8dd
[Flight] Ensure we dedupe references if we later discover that it's t…
sebmarkbage Jun 29, 2025
3cfcdfb
[Flight] Resolve Deep Cycles (#33664)
sebmarkbage Jun 29, 2025
e9cab42
Special case printing Promises in Performance Track Properties (#33670)
sebmarkbage Jun 30, 2025
1e0d12b
Align `AttributeConfiguration` type in `ReactNativeTypes` (#33671)
coado Jun 30, 2025
65c4dec
Remove Dead Code in WWW JS
facebook-github-bot Jun 30, 2025
6a3d16c
Back out "Remove Dead Code in WWW JS" (#33673)
kassens Jun 30, 2025
7216c0f
[Flight] Don't assume _debugStack and _owner is defined for prod elem…
sebmarkbage Jun 30, 2025
91d097b
fix: rename bottom stack frame (#33680)
hoxyq Jul 1, 2025
602917c
Cleanup disableDefaultPropsExceptForClasses flag (#33648)
kassens Jul 1, 2025
73aa744
Remove now dead argument from resolveClassComponentProps (#33682)
kassens Jul 2, 2025
fc41c24
Add ScrollTimeline Polyfill for Swipe Recognizer using a new CustomTi…
sebmarkbage Jul 2, 2025
c0d151c
Clear width/height from Keyframes to Optimize View Transitions (#33576)
sebmarkbage Jul 2, 2025
e104795
[Fiber] Show Diff Render Props in Performance Track in DEV (#33658)
sebmarkbage Jul 2, 2025
508f7aa
[Fiber] Switch back to using performance.measure for trigger logs (#3…
sebmarkbage Jul 2, 2025
94fce50
[Flight] Use a heuristic to extract a useful description of I/O from …
sebmarkbage Jul 2, 2025
dcf83f7
Disable ScrollTimeline in Safari (#33499)
sebmarkbage Jul 2, 2025
0b78161
[Fiber] Highlight a Component with Deeply Equal Props in the Performa…
sebmarkbage Jul 2, 2025
ef8b6fa
[Flight] Don't double badge consoles that are replayed from a third p…
sebmarkbage Jul 2, 2025
3fc1bc6
[devtools] fix: support optionality of structured stack trace functio…
hoxyq Jul 4, 2025
d45db66
feat: static Components panel layout (#33696)
hoxyq Jul 4, 2025
9fd4c09
React DevTools 6.1.3 -> 6.1.4 (#33699)
hoxyq Jul 4, 2025
455424d
[devtools] fix: fallback to reading string stack trace when failed (#…
hoxyq Jul 4, 2025
5f71eed
[devtools] fix: check if profiling for all profiling hooks (#33701)
hoxyq Jul 4, 2025
5d87cd2
React DevTools 6.1.4 -> 6.1.5 (#33702)
hoxyq Jul 4, 2025
453a19a
[Flight] Collect Debug Info from Rejections in Aborted Render (#33708)
sebmarkbage Jul 5, 2025
4aad5e4
[Flight] Consistent format of virtual `rsc:` sources (#33706)
eps1lon Jul 6, 2025
2d7f0c4
[Flight] Insert an extra await node for awaiting on the promise retur…
sebmarkbage Jul 6, 2025
9a645e1
[Flight] Ignore "new Promise" and async_hooks even if they're not ign…
sebmarkbage Jul 6, 2025
bb40287
[Flight] Pass line/column to `filterStackFrame` (#33707)
eps1lon Jul 7, 2025
0378b46
[Flight] Include I/O not awaited in user space (#33715)
sebmarkbage Jul 7, 2025
7cafeff
[Flight] Close Debug Channel when All Lazy References Have Been GC:ed…
sebmarkbage Jul 7, 2025
8a6c589
[Flight] Keep a separate ref count for debug chunks (#33717)
sebmarkbage Jul 7, 2025
223f81d
[Flight] Flush performance track once we have no more pending chunks …
sebmarkbage Jul 7, 2025
c932e45
[Fizz] Name content inside "Suspense fallback" (#33723)
sebmarkbage Jul 7, 2025
e43986f
Finally remove favorSafetyOverHydrationPerf (#33619)
rickhanlonii Jul 7, 2025
e4314a0
[tests] Assert on component stack for Maximum Update error (#33686)
rickhanlonii Jul 7, 2025
b44a99b
[Fiber] Name content inside "Suspense fallback" (#33724)
sebmarkbage Jul 8, 2025
f1ecf82
[Flight] Optimize Async Stack Collection (#33727)
sebmarkbage Jul 8, 2025
bbea677
[Flight] Lazy load objects from the debug channel (#33728)
sebmarkbage Jul 8, 2025
befc124
[Fizz] Render preamble eagerly (#33730)
gnoff Jul 8, 2025
777264b
[Flight] Fix stack getting object limited (#33733)
sebmarkbage Jul 8, 2025
a7a1165
[Flight] Don't track Promise stack if there's no owner (#33734)
sebmarkbage Jul 8, 2025
d35fef9
[compiler] Fix for consecutive DCE'd branches with phis (#33725)
josephsavona Jul 8, 2025
956d770
[compiler] Improve IIFE inlining (#33726)
josephsavona Jul 8, 2025
8ba3501
[Flight] Don't dedupe references to deferred objects (#33741)
sebmarkbage Jul 9, 2025
3a43e72
[Flight] Create a fast path parseStackTrace which skips generating a …
sebmarkbage Jul 9, 2025
49ded1d
[Flight] Optimize Retention of Weak Promises Abit (#33736)
sebmarkbage Jul 9, 2025
150f022
[Flight] Ignore async stack frames when determining if a Promise was …
sebmarkbage Jul 9, 2025
e6dc25d
[Flight] Always defer Promise values if they're not already resolved …
sebmarkbage Jul 9, 2025
033edca
[Flight] Yolo Retention of Promises (#33737)
sebmarkbage Jul 9, 2025
60b5271
[Flight] Call finishHaltedTask on sync aborted tasks in stream abort …
sebmarkbage Jul 9, 2025
ec4374c
[compiler] Show logged errors in playground (#33740)
josephsavona Jul 9, 2025
4a3ff8e
[compiler] Errors for eval(), with statments, class declarations (#33…
josephsavona Jul 10, 2025
81e1ee7
[compiler] Support inline enums (flow/ts), type declarations (#33747)
josephsavona Jul 10, 2025
0bfa404
[compiler] More precise errors for invalid import/export/namespace st…
josephsavona Jul 10, 2025
96c61b7
[compiler] Add CompilerError.UnsupportedJS variant (#33750)
josephsavona Jul 10, 2025
463b808
[Fizz] Reset the segent id assignment when postponing the root (#33755)
gnoff Jul 10, 2025
eed2560
[Flight] Treat empty message as a close signal (#33756)
sebmarkbage Jul 10, 2025
eb7f8b4
[Flight] Add Separate Outgoing Debug Channel (#33754)
sebmarkbage Jul 10, 2025
97cdd5d
[eslint] Do not allow useEffectEvent fns to be called in arbitrary cl…
jbrown215 Jul 10, 2025
345ca24
[Flight] Remove unused fork configs (#33785)
eps1lon Jul 15, 2025
56d0dda
[Flight] Switch to `__turbopack_load_by_url__` (#33791)
eps1lon Jul 15, 2025
2f0e7e5
[Flight] Don't block on debug channel if it's not wired up (#33757)
sebmarkbage Jul 15, 2025
fe81314
[compiler] Check TSAsExpression and TSNonNullExpression reorderabilit…
henryqdineen Jul 15, 2025
d85ec5f
[Flight] Assume `__turbopack_load_by_url__ ` returns a cached Promise…
eps1lon Jul 16, 2025
996d0eb
Allow runtime_build_and_test action to trigger manually (#33796)
jackpope Jul 16, 2025
9fec565
fix: log renders from passive effects for only newly finished work (#…
hoxyq Jul 16, 2025
da7487b
[Flight] Skip the stack frame of built-in wrappers that create or awa…
sebmarkbage Jul 16, 2025
dffacc7
InferEffectDeps takes a React.AUTODEPS sigil (#33799)
jbrown215 Jul 17, 2025
28d4bc4
[Flight] Make debug info and console log resolve in predictable order…
sebmarkbage Jul 20, 2025
e9638c3
Clean up feature flag to use lazy public instances in Fabric (#33943)
rubennorte Jul 21, 2025
b9af140
[Flight] Use the JSX as the await stack if an await is not available …
sebmarkbage Jul 21, 2025
0dca9c2
[Flight] Use the Promise of the first await even if that is cut off (…
sebmarkbage Jul 21, 2025
ac7da9d
[Flight] Make it more obvious what the short name in the I/O descript…
eps1lon Jul 21, 2025
074e927
Change autodeps configuration (#33800)
jbrown215 Jul 21, 2025
bb4418d
[DevTools] Linkify Source View (#33954)
sebmarkbage Jul 21, 2025
7513996
[DevTools] Unify by using ReactFunctionLocation type instead of Sourc…
sebmarkbage Jul 22, 2025
f6fb1a0
[Flight] Remove superfluous whitespace when console method is called …
eps1lon Jul 23, 2025
3586a7f
[DevTools] Allow file:/// urls to be opened in editor (#33965)
sebmarkbage Jul 23, 2025
edac0dd
[DevTools] Add a Code Editor Sidebar Pane in the Chrome Sources Tab (…
sebmarkbage Jul 23, 2025
3d14fcf
[Flight] Use about: protocol instead of rsc: protocol for fake evals …
sebmarkbage Jul 24, 2025
4f34cc4
[Fiber] Don't throw away the Error object retaining the owner stack (…
sebmarkbage Jul 24, 2025
3082604
[DevTools] Feature detect sources panel (#33987)
sebmarkbage Jul 24, 2025
5020d48
[DevTools] Feature detect createSidebarPane (#33988)
sebmarkbage Jul 24, 2025
448f781
[compiler] Fix for false positive mutation of destructured spread obj…
josephsavona Jul 24, 2025
6f4294a
[compiler] Validate against setState in all effect types (#33753)
josephsavona Jul 24, 2025
0d39496
[compiler] Enable additional lints by default (#33752)
josephsavona Jul 24, 2025
707e321
[compiler][wip] Improve diagnostic infra (#33751)
josephsavona Jul 24, 2025
7284802
[compiler] Improve more error messages (#33758)
josephsavona Jul 24, 2025
48bc166
[compiler] Update diagnostics for ValidatePreservedManualMemoization …
josephsavona Jul 24, 2025
a39da6c
[compiler] Use new diagnostics for core inference errors (#33760)
josephsavona Jul 24, 2025
7f51055
[compiler] Cleanup diagnostic messages (#33765)
josephsavona Jul 24, 2025
2ae8b3d
[compiler] Use new diagnostic printing in playground (#33767)
josephsavona Jul 24, 2025
bcea869
[compiler][rfc] Enable more validations in playground. (#33777)
josephsavona Jul 24, 2025
129aa85
[compiler] Use diagnostic for "found suppression" error (#33981)
josephsavona Jul 24, 2025
5a04619
[Flight] Properly close stream when no chunks need to be written afte…
gnoff Jul 25, 2025
99be14c
[Flight] Promote enableAsyncDebugInfo to stable without enableCompone…
sebmarkbage Jul 25, 2025
7ca2d4c
Work around Chrome DevTools crash on `performance.measure` (#33997)
eps1lon Jul 25, 2025
142fd27
[DevTools] Add Option to Open Local Files directly in External Editor…
sebmarkbage Jul 25, 2025
b1a6f03
[DevTools] Rerender when the browser theme changes (#33992)
sebmarkbage Jul 25, 2025
190758e
[DevTools] Add column to vscode editor preset (#33994)
sebmarkbage Jul 25, 2025
36c2bf5
[DevTools] Allow all file links in Chrome DevTools to open in externa…
sebmarkbage Jul 25, 2025
b2c3049
[DevTools] Use the hard coded url instead of the local storage url fo…
sebmarkbage Jul 25, 2025
12483a1
[compiler] Fix for edge cases of mutation of potentially frozen value…
josephsavona Jul 25, 2025
8c587a2
[compiler] clarify text for setState-in-effect error (#33991)
josephsavona Jul 25, 2025
2aa5f9d
[compiler] fix false positive "mutate frozen" validation with refs (#…
josephsavona Jul 25, 2025
19baee8
[Runtime] Fix CI (#33999)
eps1lon Jul 25, 2025
cc01584
fix: `React.use` inside `React.lazy`-ed component on SSR (#33941)
hi-ogawa Jul 28, 2025
4a58b63
[DevTools] Add "suspended by" Section to Component Inspector Sidebar …
sebmarkbage Jul 28, 2025
eaee530
Add changelog entry for 19.1.1 (#34021)
jackpope Jul 28, 2025
101b20b
[DevTools] Add a little bar indicating time span of an async entry re…
sebmarkbage Jul 28, 2025
ab2681a
[DevTools] Skeleton for Suspense tab (#34020)
eps1lon Jul 28, 2025
904989f
Clean up 19.1.1 changelog (#34023)
gaearon Jul 28, 2025
5dd622e
[compiler] Disambiguate between void, implicit, and explicit returns …
poteto Jul 28, 2025
c60eebf
[compiler] Add new ValidateNoVoidUseMemo pass (#33990)
poteto Jul 28, 2025
b5c1637
[compiler] Reuse DropManualMemoization for ValidateNoVoidUseMemo (#34…
poteto Jul 28, 2025
6b22f31
[compiler] Aggregate all errors reported from DropManualMemoization (…
poteto Jul 28, 2025
7ee7571
[compiler] Enable validateNoVoidUseMemo in eslint & playground (#34022)
poteto Jul 28, 2025
71236c9
[DevTools] Include the description derived from the promise (#34017)
sebmarkbage Jul 28, 2025
5d7e8b9
[DevTools] Use use() instead of throwing a Promise in Caches (#34033)
sebmarkbage Jul 29, 2025
33a2bf7
[DevTools] Silence unactionable bundle warnings in shell (#34034)
eps1lon Jul 29, 2025
9c9136b
[DevTools] Swap Components tab layout based on container size (#34035)
eps1lon Jul 29, 2025
b1cbb48
[DevTools] More robust resize handling (#34036)
eps1lon Jul 29, 2025
9be531c
[Fiber] Treat unwrapping React.lazy more like a use() (#34031)
sebmarkbage Jul 29, 2025
820af20
[eslint] Disallow use within try/catch blocks (#34040)
poteto Jul 29, 2025
85bbe39
[compiler] Fixes to enableTreatRefLikeIdentifiersAsRefs (#34000)
josephsavona Jul 29, 2025
79dc706
[compiler] Improve ref validation error message (#34003)
josephsavona Jul 29, 2025
1d7e942
[compiler] Allow mergeRefs pattern (and detect refs passed as ref pro…
josephsavona Jul 29, 2025
3f40eb7
[compiler] Allow passing refs to render helpers (#34006)
josephsavona Jul 29, 2025
6891dcb
[compiler] treat ref-like identifiers as refs by default (#34005)
josephsavona Jul 29, 2025
4395689
[compiler] ref guards apply up to fallthrough of the test (#34024)
josephsavona Jul 29, 2025
c2326b1
[compiler] disallow ref access in state initializer, reducer/initiali…
josephsavona Jul 29, 2025
04a7a61
[compiler] Allow assigning ref-accessing functions to objects if not …
josephsavona Jul 29, 2025
88b40f6
Enable ref validation in linter (#34044)
josephsavona Jul 29, 2025
36c63d4
[DevTools] Layout for Suspense tab (#34042)
eps1lon Jul 30, 2025
dcf2a6f
[DevTools] Keep a Suspense Tree Parellel to the Instance tree in the …
sebmarkbage Jul 30, 2025
9784cb3
[DevTools] No suspending above the root (#34055)
sebmarkbage Jul 30, 2025
9877346
[Fizz] Don't outline Boundaries that may contribute to the preamble (…
gnoff Jul 31, 2025
8de7aed
[Fizz] Count Boundary bytes that may contribute to the preamble in th…
gnoff Jul 31, 2025
5bbf9be
[DevTools] Model Hidden Offscreen Boundaries as Unmounts (#34062)
sebmarkbage Jul 31, 2025
c260b38
[DevTools] Clean up Virtual Instances from id map (#34063)
sebmarkbage Jul 31, 2025
bdb4a96
[DevTools] Lazily compute initial Tree state (#34078)
eps1lon Aug 1, 2025
52612a7
[compiler] Emit more specific error when making identifiers with rese…
poteto Aug 1, 2025
538ac7a
[Flight] Fix debug info leaking to outer handler (#34081)
sebmarkbage Aug 1, 2025
0860b9c
[compiler] Add definitions for Object entries/keys/values (#34047)
josephsavona Aug 1, 2025
ddf8bc3
[compiler] Improve merging of scopes that invalidate together (#34049)
josephsavona Aug 1, 2025
1d16396
Allow returning a temporary reference inside an async function (#33761)
denk0403 Aug 2, 2025
c499adf
[Flight] Allow Temporary References to be awaited (#34084)
sebmarkbage Aug 2, 2025
30fca45
fix: apply initial horizontal offset on tree mount (#34088)
hoxyq Aug 4, 2025
0417546
[DevTools] Only show state for ClassComponents (#34091)
sebmarkbage Aug 4, 2025
8e3db09
[DevTools] Make a non-editable name of KeyValue clickable (#34095)
sebmarkbage Aug 4, 2025
d3f800d
[DevTools] Style clickable Owner components with angle brackets and b…
sebmarkbage Aug 4, 2025
557745e
[DevTools] Add structure full stack parsing to DevTools (#34093)
sebmarkbage Aug 4, 2025
be11cb5
[DevTools] Tweak the presentation of the Promise value (#34097)
sebmarkbage Aug 4, 2025
ba4bdb2
[DevTools] Consume SuspenseNodes that were skipped when we're bailing…
sebmarkbage Aug 4, 2025
b211d70
[compiler] Add repros for various invariants (#34099)
poteto Aug 4, 2025
d3b26b2
[compiler] rebase #32285 (#34102)
josephsavona Aug 4, 2025
7deda94
[compiler] Delete PropagatePhiTypes (#34107)
josephsavona Aug 4, 2025
99fd4f2
[DevTools] Reorder moved filtered Fibers with backing DevToolsInstanc…
sebmarkbage Aug 5, 2025
c97ec75
[DevTools] Disconnect and Reconnect children of Suspense boundaries i…
sebmarkbage Aug 6, 2025
0825d01
[DevTools] Prefer I/O stack and show await stack after only if it's a…
sebmarkbage Aug 6, 2025
66f09bd
[DevTools] Sort "Suspended By" view by the start time (#34105)
sebmarkbage Aug 6, 2025
b080063
[DevTools] Source Map Stack Traces such in await locations (#34094)
sebmarkbage Aug 6, 2025
fa212fc
[DevTools] Measure the Rectangle of Suspense boundaries as we reconci…
sebmarkbage Aug 6, 2025
c403a7c
[compiler] Upstream experimental flow integration (#34121)
josephsavona Aug 6, 2025
fa992fd
[compiler] remove use of inspect module
josephsavona Aug 7, 2025
61b605f
[compiler] Add hint to name variables with "Ref" suffix
josephsavona Aug 7, 2025
2caa85b
[compiler] Add support for diagnostic hints
josephsavona Aug 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 9 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ module.exports = {
{
files: ['packages/react-server-dom-turbopack/**/*.js'],
globals: {
__turbopack_load__: 'readonly',
__turbopack_load_by_url__: 'readonly',
__turbopack_require__: 'readonly',
},
},
Expand All @@ -496,6 +496,7 @@ module.exports = {
'packages/react-devtools-shared/src/devtools/views/**/*.js',
'packages/react-devtools-shared/src/hook.js',
'packages/react-devtools-shared/src/backend/console.js',
'packages/react-devtools-shared/src/backend/fiber/renderer.js',
'packages/react-devtools-shared/src/backend/shared/DevToolsComponentStackFrame.js',
'packages/react-devtools-shared/src/frontend/utils/withPermissionsCheck.js',
],
Expand All @@ -504,6 +505,7 @@ module.exports = {
__IS_FIREFOX__: 'readonly',
__IS_EDGE__: 'readonly',
__IS_NATIVE__: 'readonly',
__IS_INTERNAL_MCP_BUILD__: 'readonly',
__IS_INTERNAL_VERSION__: 'readonly',
chrome: 'readonly',
},
Expand Down Expand Up @@ -559,6 +561,7 @@ module.exports = {
ConsoleTask: 'readonly', // TOOD: Figure out what the official name of this will be.
ReturnType: 'readonly',
AnimationFrameID: 'readonly',
WeakRef: 'readonly',
// For Flow type annotation. Only `BigInt` is valid at runtime.
bigint: 'readonly',
BigInt: 'readonly',
Expand All @@ -579,6 +582,7 @@ module.exports = {
JSONValue: 'readonly',
JSResourceReference: 'readonly',
MouseEventHandler: 'readonly',
NavigateEvent: 'readonly',
PropagationPhases: 'readonly',
PropertyDescriptor: 'readonly',
React$AbstractComponent: 'readonly',
Expand All @@ -604,10 +608,12 @@ module.exports = {
symbol: 'readonly',
SyntheticEvent: 'readonly',
SyntheticMouseEvent: 'readonly',
SyntheticPointerEvent: 'readonly',
Thenable: 'readonly',
TimeoutID: 'readonly',
WheelEventHandler: 'readonly',
FinalizationRegistry: 'readonly',
Exclude: 'readonly',
Omit: 'readonly',
Keyframe: 'readonly',
PropertyIndexedKeyframes: 'readonly',
Expand All @@ -617,6 +623,7 @@ module.exports = {
ScrollTimeline: 'readonly',
EventListenerOptionsOrUseCapture: 'readonly',
FocusOptions: 'readonly',
OptionalEffectTiming: 'readonly',

spyOnDev: 'readonly',
spyOnDevAndProd: 'readonly',
Expand All @@ -634,5 +641,6 @@ module.exports = {
AsyncLocalStorage: 'readonly',
async_hooks: 'readonly',
globalThis: 'readonly',
navigation: 'readonly',
},
};
2 changes: 2 additions & 0 deletions .github/workflows/compiler_discord_notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ permissions: {}

jobs:
check_access:
if: ${{ github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
outputs:
is_member_or_collaborator: ${{ steps.check_is_member_or_collaborator.outputs.is_member_or_collaborator }}
steps:
- run: echo ${{ github.event.pull_request.author_association }}
- name: Check is member or collaborator
id: check_is_member_or_collaborator
if: ${{ github.event.pull_request.author_association == 'MEMBER' || github.event.pull_request.author_association == 'COLLABORATOR' }}
Expand Down
75 changes: 56 additions & 19 deletions .github/workflows/runtime_build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ on:
pull_request:
paths-ignore:
- compiler/**
workflow_dispatch:
inputs:
commit_sha:
required: false
type: string
default: ''

permissions: {}

Expand All @@ -28,7 +34,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- name: Check cache hit
uses: actions/cache/restore@v4
id: node_modules
Expand Down Expand Up @@ -69,7 +75,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- name: Check cache hit
uses: actions/cache/restore@v4
id: node_modules
Expand Down Expand Up @@ -117,7 +123,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/github-script@v7
id: set-matrix
with:
Expand All @@ -136,7 +142,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -166,7 +172,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -198,7 +204,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -254,7 +260,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand All @@ -280,6 +286,37 @@ jobs:
if: steps.node_modules.outputs.cache-hit != 'true'
- run: yarn test ${{ matrix.params }} --ci --shard=${{ matrix.shard }}

# Hardcoded to improve parallelism
test-linter:
name: Test eslint-plugin-react-hooks
needs: [runtime_compiler_node_modules_cache]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: yarn
cache-dependency-path: |
yarn.lock
compiler/yarn.lock
- name: Restore cached node_modules
uses: actions/cache@v4
id: node_modules
with:
path: |
**/node_modules
key: runtime-and-compiler-node_modules-v6-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock', 'compiler/yarn.lock') }}
- name: Install runtime dependencies
run: yarn install --frozen-lockfile
if: steps.node_modules.outputs.cache-hit != 'true'
- name: Install compiler dependencies
run: yarn install --frozen-lockfile
working-directory: compiler
if: steps.node_modules.outputs.cache-hit != 'true'
- run: ./scripts/react-compiler/build-compiler.sh && ./scripts/react-compiler/link-compiler.sh
- run: yarn workspace eslint-plugin-react-hooks test

# ----- BUILD -----
build_and_lint:
name: yarn build and lint
Expand All @@ -294,7 +331,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -389,7 +426,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -434,7 +471,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -462,7 +499,7 @@ jobs:
merge-multiple: true
- name: Display structure of build
run: ls -R build
- run: echo ${{ github.event.pull_request.head.sha || github.sha }} >> build/COMMIT_SHA
- run: echo ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }} >> build/COMMIT_SHA
- name: Scrape warning messages
run: |
mkdir -p ./build/__test_utils__
Expand Down Expand Up @@ -499,7 +536,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -539,7 +576,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -576,7 +613,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -617,7 +654,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -691,7 +728,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -748,7 +785,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -793,7 +830,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }}
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand Down Expand Up @@ -842,7 +879,7 @@ jobs:
node ./scripts/print-warnings/print-warnings.js > build/__test_utils__/ReactAllWarnings.js
- name: Display structure of build for PR
run: ls -R build
- run: echo ${{ github.event.pull_request.head.sha || github.sha }} >> build/COMMIT_SHA
- run: echo ${{ github.event.inputs.commit_sha != '' && github.event.inputs.commit_sha || github.event.pull_request.head.sha || github.sha }} >> build/COMMIT_SHA
- run: node ./scripts/tasks/danger
- name: Archive sizebot results
uses: actions/upload-artifact@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/runtime_commit_artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -332,10 +332,10 @@ jobs:
git --no-pager diff -U0 --cached | grep '^[+-]' | head -n 100
echo "===================="
# Ignore REVISION or lines removing @generated headers.
if git diff --cached ':(exclude)*REVISION' | grep -vE "^(@@|diff|index|\-\-\-|\+\+\+|\- \* @generated SignedSource)" | grep "^[+-]" > /dev/null; then
if git diff --cached ':(exclude)*REVISION' ':(exclude)*/eslint-plugin-react-hooks/package.json' | grep -vE "^(@@|diff|index|\-\-\-|\+\+\+|\- \* @generated SignedSource)" | grep "^[+-]" > /dev/null; then
echo "Changes detected"
echo "===== Changes ====="
git --no-pager diff --cached ':(exclude)*REVISION' | grep -vE "^(@@|diff|index|\-\-\-|\+\+\+|\- \* @generated SignedSource)" | grep "^[+-]" | head -n 50
git --no-pager diff --cached ':(exclude)*REVISION' ':(exclude)*/eslint-plugin-react-hooks/package.json' | grep -vE "^(@@|diff|index|\-\-\-|\+\+\+|\- \* @generated SignedSource)" | grep "^[+-]" | head -n 50
echo "==================="
echo "should_commit=true" >> "$GITHUB_OUTPUT"
else
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/runtime_discord_notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ permissions: {}

jobs:
check_access:
if: ${{ github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
outputs:
is_member_or_collaborator: ${{ steps.check_is_member_or_collaborator.outputs.is_member_or_collaborator }}
steps:
- run: echo ${{ github.event.pull_request.author_association }}
- name: Check is member or collaborator
id: check_is_member_or_collaborator
if: ${{ github.event.pull_request.author_association == 'MEMBER' || github.event.pull_request.author_association == 'COLLABORATOR' }}
Expand Down
43 changes: 40 additions & 3 deletions .github/workflows/runtime_prereleases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ on:
description: 'Whether to notify the team on Discord when the release fails. Useful if this workflow is called from an automation.'
required: false
type: boolean
only_packages:
description: Packages to publish (space separated)
type: string
skip_packages:
description: Packages to NOT publish (space separated)
type: string
dry:
required: true
description: Dry run instead of publish?
type: boolean
default: true
secrets:
DISCORD_WEBHOOK_URL:
description: 'Discord webhook URL to notify on failure. Only required if enableFailureNotification is true.'
Expand Down Expand Up @@ -61,15 +72,41 @@ jobs:
if: steps.node_modules.outputs.cache-hit != 'true'
- run: yarn --cwd scripts/release install --frozen-lockfile
if: steps.node_modules.outputs.cache-hit != 'true'
- run: cp ./scripts/release/ci-npmrc ~/.npmrc
- run: |
GH_TOKEN=${{ secrets.GH_TOKEN }} scripts/release/prepare-release-from-ci.js --skipTests -r ${{ inputs.release_channel }} --commit=${{ inputs.commit_sha }}
cp ./scripts/release/ci-npmrc ~/.npmrc
scripts/release/publish.js --ci --tags ${{ inputs.dist_tag }}
- name: Check prepared files
run: ls -R build/node_modules
- if: '${{ inputs.only_packages }}'
name: 'Publish ${{ inputs.only_packages }}'
run: |
scripts/release/publish.js \
--ci \
--skipTests \
--tags=${{ inputs.dist_tag }} \
--onlyPackages=${{ inputs.only_packages }} ${{ (inputs.dry && '') || '\'}}
${{ inputs.dry && '--dry' || '' }}
- if: '${{ inputs.skip_packages }}'
name: 'Publish all packages EXCEPT ${{ inputs.skip_packages }}'
run: |
scripts/release/publish.js \
--ci \
--skipTests \
--tags=${{ inputs.dist_tag }} \
--skipPackages=${{ inputs.skip_packages }} ${{ (inputs.dry && '') || '\'}}
${{ inputs.dry && '--dry' || '' }}
- if: '${{ !(inputs.skip_packages && inputs.only_packages) }}'
name: 'Publish all packages'
run: |
scripts/release/publish.js \
--ci \
--tags=${{ inputs.dist_tag }} ${{ (inputs.dry && '') || '\'}}
${{ inputs.dry && '--dry' || '' }}
- name: Notify Discord on failure
if: failure() && inputs.enableFailureNotification == true
uses: tsickert/discord-webhook@86dc739f3f165f16dadc5666051c367efa1692f4
with:
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
embed-author-name: "GitHub Actions"
embed-title: 'Publish of $${{ inputs.release_channel }} release failed'
embed-title: '[Runtime] Publish of ${{ inputs.release_channel }}@${{ inputs.dist_tag}} release failed'
embed-url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/attempts/${{ github.run_attempt }}
Loading
Loading