{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":10270250,"defaultBranch":"main","name":"react","ownerLogin":"facebook","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-05-24T16:15:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/69631?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715346306.0","currentOid":""},"activityList":{"items":[{"before":"2c022b847ed2171c59d37db9f71b394e0082ae3f","after":"9d76c954cfe134d7f541c3e706e344e6845ba235","ref":"refs/heads/main","pushedAt":"2024-05-10T13:37:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sebmarkbage","name":"Sebastian Markbåge","path":"/sebmarkbage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63648?s=80&v=4"},"commit":{"message":"[Flight] Error if a legacy React Element is attempted to be rendered (#29043)\n\nThis errors on the client normally but in the case the `type` is a\r\nfunction - i.e. a Server Component - it wouldn't be transferred to error\r\non the client so you end up with a worse error message. So this just\r\nimplements the same check as ChildFiber.","shortMessageHtmlLink":"[Flight] Error if a legacy React Element is attempted to be rendered (#…"}},{"before":"c43831f438d012badca318ba803e204ec77779de","after":null,"ref":"refs/heads/use-native-processing","pushedAt":"2024-05-10T13:05:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"NickGerleman","name":"Nick Gerleman","path":"/NickGerleman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/835219?s=80&v=4"}},{"before":null,"after":"c43831f438d012badca318ba803e204ec77779de","ref":"refs/heads/use-native-processing","pushedAt":"2024-05-10T13:04:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NickGerleman","name":"Nick Gerleman","path":"/NickGerleman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/835219?s=80&v=4"},"commit":{"message":"fix-typo","shortMessageHtmlLink":"fix-typo"}},{"before":"0952db3456c2483888d17083197c670fbcebde5c","after":"8290a1fa3d08c96e2633ff7a122844a42426c26f","ref":"refs/heads/builds/facebook-fbsource","pushedAt":"2024-05-10T10:04:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Clean up the enableEarlyReturnForPropDiffing experiment (#29041)\n\n## Summary\n\nThe experiment has shown no significant performance changes. This PR\nremoves it.\n\n## How did you test this change?\n```\nyarn flow native\nyarn lint\n```\n\nDiffTrain build for commit https://github.com/facebook/react/commit/2c022b847ed2171c59d37db9f71b394e0082ae3f.","shortMessageHtmlLink":"Clean up the enableEarlyReturnForPropDiffing experiment (#29041)"}},{"before":"6ef0dd4f2cf6a6083bfadb6a445d348cc7815849","after":"2c022b847ed2171c59d37db9f71b394e0082ae3f","ref":"refs/heads/main","pushedAt":"2024-05-10T10:00:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dmytrorykun","name":"Dmytro Rykun","path":"/dmytrorykun","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14206200?s=80&v=4"},"commit":{"message":"Clean up the enableEarlyReturnForPropDiffing experiment (#29041)\n\n## Summary\r\n\r\nThe experiment has shown no significant performance changes. This PR\r\nremoves it.\r\n\r\n## How did you test this change?\r\n```\r\nyarn flow native\r\nyarn lint\r\n```","shortMessageHtmlLink":"Clean up the enableEarlyReturnForPropDiffing experiment (#29041)"}},{"before":"6c409acefde29d6ef87dfb208716ec3272bd3c54","after":"6ef0dd4f2cf6a6083bfadb6a445d348cc7815849","ref":"refs/heads/main","pushedAt":"2024-05-10T00:56:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sebmarkbage","name":"Sebastian Markbåge","path":"/sebmarkbage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63648?s=80&v=4"},"commit":{"message":"[Flight] Enable Binary and ReadableStreams in Stable (#29035)\n\nThese are ready to ship in stable.","shortMessageHtmlLink":"[Flight] Enable Binary and ReadableStreams in Stable (#29035)"}},{"before":"38d9f156b898c9b0f7e73eeec7c2073927fd71d8","after":"6c409acefde29d6ef87dfb208716ec3272bd3c54","ref":"refs/heads/main","pushedAt":"2024-05-10T00:00:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sebmarkbage","name":"Sebastian Markbåge","path":"/sebmarkbage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63648?s=80&v=4"},"commit":{"message":"[Flight Reply] Encode Objects Returned to the Client by Reference (#29010)\n\nStacked on #28997.\r\n\r\nWe can use the technique of referencing an object by its row + property\r\nname path for temporary references - like we do for deduping. That way\r\nwe don't need to generate an ID for temporary references. Instead, they\r\ncan just be an opaque marker in the slot and it has the implicit ID of\r\nthe row + path.\r\n\r\nThen we can stash all objects, even the ones that are actually available\r\nto read on the server, as temporary references. Without adding anything\r\nto the payload since the IDs are implicit. If the same object is\r\nreturned to the client, it can be referenced by reference instead of\r\nserializing it back to the client. This also helps preserve object\r\nidentity.\r\n\r\nWe assume that the objects are immutable when they pass the boundary.\r\n\r\nI'm not sure if this is worth it but with this mechanism, if you return\r\nthe `FormData` payload from a `useActionState` it doesn't have to be\r\nserialized on the way back to the client. This is a common pattern for\r\nhaving access to the last submission as \"default value\" to the form\r\nfields. However you can still control it by replacing it with another\r\nobject if you want. In MPA mode, the temporary references are not\r\nconfigured and so it needs to be serialized in that case. That's\r\nrequired anyway for hydration purposes.\r\n\r\nI'm not sure if people will actually use this in practice though or if\r\nFormData will always be destructured into some other object like with a\r\nlibrary that turns it into typed data, and back. If so, the object\r\nidentity is lost.","shortMessageHtmlLink":"[Flight Reply] Encode Objects Returned to the Client by Reference (#2…"}},{"before":"7a78d030281f2f0e02e7cdbed5c1fc5c4a1a1823","after":"38d9f156b898c9b0f7e73eeec7c2073927fd71d8","ref":"refs/heads/main","pushedAt":"2024-05-09T23:24:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sebmarkbage","name":"Sebastian Markbåge","path":"/sebmarkbage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63648?s=80&v=4"},"commit":{"message":"[Flight Reply] Dedupe Objects and Support Cyclic References (#28997)\n\nUses the same technique as in #28996 to encode references to already\r\nemitted objects. This now means that Reply can support cyclic objects\r\ntoo for parity.","shortMessageHtmlLink":"[Flight Reply] Dedupe Objects and Support Cyclic References (#28997)"}},{"before":"732aef73b0e50862673a0a8a5a1cc0e22e0a04c0","after":"0eecce38627b64ab6a4e9313720a74e4a26e8ab0","ref":"refs/heads/builds/facebook-www","pushedAt":"2024-05-09T23:21:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"[Flight] Encode references to existing objects by property path (#28996)\n\nInstead of forcing an object to be outlined to be able to refer to it\nlater we can refer to it by the property path inside another parent\nobject.\n\nE.g. this encodes such a reference as `'$123:props:children:foo:bar'`.\n\nThat way we don't have to preemptively outline object and we can dedupe\nafter the first time we've found it.\n\nThere's no cost on the client if it's not used because we're not storing\nany additional information preemptively.\n\nThis works mainly because we only have simple JSON objects from the root\nreference. Complex objects like Map, FormData etc. are stored as their\nentries array in the look up and not the complex object. Other complex\nobjects like TypedArrays or imports don't have deeply nested objects in\nthem that can be referenced.\n\nThis solves the problem that we only dedupe after the third instance.\nThis dedupes at the second instance. It also solves the problem where\nall nested objects inside deduped instances also are outlined.\n\nThe property paths can get pretty large. This is why a test on payload\nsize increased. We could potentially outline the reference itself at the\nfirst dupe. That way we get a shorter ID to refer to in the third\ninstance.\n\nDiffTrain build for [7a78d030281f2f0e02e7cdbed5c1fc5c4a1a1823](https://github.com/facebook/react/commit/7a78d030281f2f0e02e7cdbed5c1fc5c4a1a1823)","shortMessageHtmlLink":"[Flight] Encode references to existing objects by property path (#28996)"}},{"before":"c3345638cbb4a53df8151fd9ef106ea018fb5033","after":"7a78d030281f2f0e02e7cdbed5c1fc5c4a1a1823","ref":"refs/heads/main","pushedAt":"2024-05-09T23:16:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sebmarkbage","name":"Sebastian Markbåge","path":"/sebmarkbage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/63648?s=80&v=4"},"commit":{"message":"[Flight] Encode references to existing objects by property path (#28996)\n\nInstead of forcing an object to be outlined to be able to refer to it\r\nlater we can refer to it by the property path inside another parent\r\nobject.\r\n\r\nE.g. this encodes such a reference as `'$123:props:children:foo:bar'`.\r\n\r\nThat way we don't have to preemptively outline object and we can dedupe\r\nafter the first time we've found it.\r\n\r\nThere's no cost on the client if it's not used because we're not storing\r\nany additional information preemptively.\r\n\r\nThis works mainly because we only have simple JSON objects from the root\r\nreference. Complex objects like Map, FormData etc. are stored as their\r\nentries array in the look up and not the complex object. Other complex\r\nobjects like TypedArrays or imports don't have deeply nested objects in\r\nthem that can be referenced.\r\n\r\nThis solves the problem that we only dedupe after the third instance.\r\nThis dedupes at the second instance. It also solves the problem where\r\nall nested objects inside deduped instances also are outlined.\r\n\r\nThe property paths can get pretty large. This is why a test on payload\r\nsize increased. We could potentially outline the reference itself at the\r\nfirst dupe. That way we get a shorter ID to refer to in the third\r\ninstance.","shortMessageHtmlLink":"[Flight] Encode references to existing objects by property path (#28996)"}},{"before":"151cce37401dc2ff609701119d61a17d92fce4ab","after":"c3345638cbb4a53df8151fd9ef106ea018fb5033","ref":"refs/heads/main","pushedAt":"2024-05-09T17:16:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"acdlite","name":"Andrew Clark","path":"/acdlite","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3624098?s=80&v=4"},"commit":{"message":"Support useFormStatus in progressively-enhanced forms (#29019)\n\nBefore this change, `useFormStatus` is only activated if a form is\r\nsubmitted by an action function (either `
` or\r\n`