{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":70107786,"defaultBranch":"canary","name":"next.js","ownerLogin":"vercel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-10-05T23:32:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14985020?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726794094.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"af9b229074e39617bdd32d390fdc8f6a36d7bcde","ref":"refs/heads/kdy1/tree-shaking-more","pushedAt":"2024-09-20T01:01:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"v15.0.0-canary.160","shortMessageHtmlLink":"v15.0.0-canary.160"}},{"before":"c9ea259d76e9f059551d7b33038253d13f2d46c0","after":"c53472b88e0dfaa8fca186b102ef58513a8db622","ref":"refs/heads/kdy1/tree-shaking-reexports","pushedAt":"2024-09-20T00:41:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"fix build","shortMessageHtmlLink":"fix build"}},{"before":"b1f8d4eb11f217a446aa729d7531c167b329e3b6","after":"c9ea259d76e9f059551d7b33038253d13f2d46c0","ref":"refs/heads/kdy1/tree-shaking-reexports","pushedAt":"2024-09-20T00:37:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"Rename","shortMessageHtmlLink":"Rename"}},{"before":"b0ff3d08f4185623e60a84be8ea0f14f84081f85","after":"f550237aa564bd59bfef7462350ac6c502f0206d","ref":"refs/heads/14-2-1","pushedAt":"2024-09-20T00:32:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vercel-release-bot","name":"Vercel Release Bot","path":"/vercel-release-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/88769842?s=80&v=4"},"commit":{"message":"v14.2.13","shortMessageHtmlLink":"v14.2.13"}},{"before":"c9874b8a50680c9de6f53db89d860e381d84c860","after":"599769a0498f7cf398d95a4ddc6982d4732ccdd6","ref":"refs/heads/kdy1/pack-3260","pushedAt":"2024-09-19T23:51:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kdy1","name":"Donny/강동윤","path":"/kdy1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29931815?s=80&v=4"},"commit":{"message":"Revert \"Split tests\"\n\nThis reverts commit c9874b8a50680c9de6f53db89d860e381d84c860.","shortMessageHtmlLink":"Revert \"Split tests\""}},{"before":"8f9c6a86177513026ab4bc4fdc3575ca1efe025c","after":"af9b229074e39617bdd32d390fdc8f6a36d7bcde","ref":"refs/heads/canary","pushedAt":"2024-09-19T23:24:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vercel-release-bot","name":"Vercel Release Bot","path":"/vercel-release-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/88769842?s=80&v=4"},"commit":{"message":"v15.0.0-canary.160","shortMessageHtmlLink":"v15.0.0-canary.160"}},{"before":null,"after":"99b9447eab63e6d3869b32656b5060a4578e266a","ref":"refs/heads/09-19-support_codemods_in_next_upgrade","pushedAt":"2024-09-19T23:03:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LichuAcu","name":"lichu acuña","path":"/LichuAcu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54295410?s=80&v=4"},"commit":{"message":"Support codemods in @next/upgrade","shortMessageHtmlLink":"Support codemods in @next/upgrade"}},{"before":null,"after":"2a61c3361efd1bea802e58b0a0527266b24749f2","ref":"refs/heads/bgw/resolved-vc-as-arg","pushedAt":"2024-09-19T22:08:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bgw","name":"Benjamin Woodruff","path":"/bgw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/180404?s=80&v=4"},"commit":{"message":"feat(turbo-tasks): Allow `#[turbo_tasks::function]`s to accept ResolvedVc types as arguments","shortMessageHtmlLink":"feat(turbo-tasks): Allow #[turbo_tasks::function]s to accept Resolv…"}},{"before":"af0fa6f2a5e9236e1e3a407482bc73b973dde67f","after":"e6ed35bbae80b1fff19e6eb10bbb04da9b49b38a","ref":"refs/heads/bgw/resolved-vc-manual-serde","pushedAt":"2024-09-19T22:08:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bgw","name":"Benjamin Woodruff","path":"/bgw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/180404?s=80&v=4"},"commit":{"message":"Use derived impl with `bound = \"\"` instead","shortMessageHtmlLink":"Use derived impl with bound = \"\" instead"}},{"before":"68a23f587bd4c2fc67c59b9d960e84c9e677b2f6","after":"0f9cc22be16cb6098be47e359b89f22078ddc917","ref":"refs/heads/bgw/resolved-vc-constructors","pushedAt":"2024-09-19T22:08:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bgw","name":"Benjamin Woodruff","path":"/bgw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/180404?s=80&v=4"},"commit":{"message":"refactor(turbo-tasks): Add a way to directly construct a ResolvedVc","shortMessageHtmlLink":"refactor(turbo-tasks): Add a way to directly construct a ResolvedVc"}},{"before":"6d7ced47babace09f5ab1cf5a43ba26d88d984ac","after":"b0ff3d08f4185623e60a84be8ea0f14f84081f85","ref":"refs/heads/14-2-1","pushedAt":"2024-09-19T21:57:55.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ijjk","name":"JJ Kasper","path":"/ijjk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22380829?s=80&v=4"},"commit":{"message":"Fix startTime error on Android 9 with Chrome 74 (#67391)\n\n### What?\r\n\r\nFixes the error `Cannot read property 'startTime' of null` on Chrome 74\r\nfor Android 9 by ensuring the `beforeHydrationMeasure` and\r\n`hydrationMeasure` are not falsy values before accessing their\r\nproperties.\r\n\r\n\"Screenshot\r\n\r\n### Why?\r\n\r\nThe application crashes on Chrome 74 for Android 9 due to `null` or\r\nother falsy values being returned in certain situations. This fix\r\nensures that the `startTime` property is only accessed if it is not a\r\nfalsy value, thereby preventing the crash.\r\n\r\n### How?\r\n\r\nAdded a falsy check before accessing the `startTime` property in the\r\nperformance measurement logic. Specifically, modified the code at [this\r\nlocation](https://github.com/vercel/next.js/blob/b9bd23baec14508400c502b3651f4cf2497e883b/packages/next/src/client/index.tsx#L498)\r\n\r\nCo-authored-by: JJ Kasper ","shortMessageHtmlLink":"Fix startTime error on Android 9 with Chrome 74 (#67391)"}},{"before":"89242ec1b5b2c04f755ae3e5fdc5a9477b22b132","after":"8f9c6a86177513026ab4bc4fdc3575ca1efe025c","ref":"refs/heads/canary","pushedAt":"2024-09-19T21:45:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ijjk","name":"JJ Kasper","path":"/ijjk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22380829?s=80&v=4"},"commit":{"message":"Fix missing cache-control on SSR app route (#70265)\n\nThis removes an inaccurate check that doesn't set a revalidate value if\r\nrevalidate is `undefined` which can be the case for SSR app route pages.\r\nAlso adds a regression test to ensure this doesn't break again.\r\n\r\nFixes: https://github.com/vercel/next.js/issues/70213","shortMessageHtmlLink":"Fix missing cache-control on SSR app route (#70265)"}},{"before":"3c61a1ba271944565f044369a488d29e00aa07d0","after":"b97c1fb0ac40329072caed5c5acc760ba291030f","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T21:43:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"avoid inserting duplicated types","shortMessageHtmlLink":"avoid inserting duplicated types"}},{"before":"1b892297bd9548eb756819cbb7557b3a905028ca","after":"3c61a1ba271944565f044369a488d29e00aa07d0","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T21:27:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"fix transform multi arg types","shortMessageHtmlLink":"fix transform multi arg types"}},{"before":"08ef1db12d67adae8e5b71ed98cd0e13d0b89687","after":null,"ref":"refs/heads/09-19-unskip_middleware_deploy_test","pushedAt":"2024-09-19T21:00:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ijjk","name":"JJ Kasper","path":"/ijjk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22380829?s=80&v=4"}},{"before":"1e2493e0a3904a82c9dc4dab1133df048f33bfd5","after":"89242ec1b5b2c04f755ae3e5fdc5a9477b22b132","ref":"refs/heads/canary","pushedAt":"2024-09-19T21:00:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ijjk","name":"JJ Kasper","path":"/ijjk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22380829?s=80&v=4"},"commit":{"message":"unskip middleware deploy test (#70264)\n\nThis whole test suite was disabled but only 2 tests rely on runtime\r\nlogs, so this refactors the test to remove the runtime log dependency in\r\nfavor of returning the output from the action and reading from the DOM.","shortMessageHtmlLink":"unskip middleware deploy test (#70264)"}},{"before":"f6fcfc834459ba299145948c2ec22c75a94e11e6","after":"d0c6876beac10fbfa728d9f562391d41588948c3","ref":"refs/heads/shu/4t2p","pushedAt":"2024-09-19T20:46:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix clippy errors","shortMessageHtmlLink":"fix clippy errors"}},{"before":"e383ceb27fe476fe8eafc8ba1640d622750cb51e","after":"08ef1db12d67adae8e5b71ed98cd0e13d0b89687","ref":"refs/heads/09-19-unskip_middleware_deploy_test","pushedAt":"2024-09-19T20:17:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"},"commit":{"message":"unskip middleware deploy test","shortMessageHtmlLink":"unskip middleware deploy test"}},{"before":"a3082e37ee0c603338d07888ebff73b3f1757c25","after":"e383ceb27fe476fe8eafc8ba1640d622750cb51e","ref":"refs/heads/09-19-unskip_middleware_deploy_test","pushedAt":"2024-09-19T20:16:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"},"commit":{"message":"unskip middleware deploy test","shortMessageHtmlLink":"unskip middleware deploy test"}},{"before":"88bb717bdee17bf74c046ed5f816d8f19e052fad","after":null,"ref":"refs/heads/09-10-bugfix_actions_that_self-redirect_should_be_handled_gracefully","pushedAt":"2024-09-19T20:06:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"}},{"before":"979fedb8d42b9e42f515e9e5451b5b3c96b97d53","after":"1e2493e0a3904a82c9dc4dab1133df048f33bfd5","ref":"refs/heads/canary","pushedAt":"2024-09-19T20:06:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"},"commit":{"message":"bugfix: actions that redirect should reject the action promise (#69945)\n\nWhen calling `redirect` in a server action, the action handler will\r\ninvoke a worker to fetch the RSC payload from the URL being redirected\r\nto, and will return it in the action request. This allows the redirect\r\nto be handled in a single request rather than requiring a second request\r\nto fetch the RSC payload on the URL being redirected to. As part of this\r\nspecial redirection handling, no action result is returned, so the\r\naction promise is resolved with `undefined`.\r\n\r\nAs a result of this behavior, if your server action redirects to a page\r\nthat has the same form that was just submitted, and you're leveraging\r\n`useActionState`, the updated state value will be undefined rather than\r\nbeing reset to the initial state. **More generally, redirect errors are\r\nhandled by the client currently by simply resolving the promise with\r\nundefined, which isn't the correct behavior.**\r\n\r\nThis PR will reject the server action promise with a redirect error, so\r\nthat it'll be caught by our `RedirectBoundary`. Since React will remount\r\nthe tree as part of the error boundary recovery, this effectively resets\r\nthe form to it's initial state.\r\n\r\nIf the action is rejected in a global `startTransition`, then it'll be\r\nhandled by a global `error` handler, which will perform the redirect.\r\nAnd if it occurs outside of a transition, the redirect will be handled\r\nby a `unhandledrejection` handler.\r\n\r\nBecause we're not able to apply the flight data as-is in the server\r\naction reducer (and instead defer to the navigation action), we seed the\r\nprefetch cache for the target page with the flight data from the action\r\nresult so that we do not need to make another server roundtrip. We apply\r\nthe same static/dynamic cache staleTime heuristics for these cache\r\nentries.\r\n\r\nFixes #68549\r\nCloses NDX-229","shortMessageHtmlLink":"bugfix: actions that redirect should reject the action promise (#69945)"}},{"before":null,"after":"a3082e37ee0c603338d07888ebff73b3f1757c25","ref":"refs/heads/09-19-unskip_middleware_deploy_test","pushedAt":"2024-09-19T20:04:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"},"commit":{"message":"unskip middleware deploy test","shortMessageHtmlLink":"unskip middleware deploy test"}},{"before":"c22c4bf6a141cdf66db2c1bc7da68e63521e7ddd","after":"f6fcfc834459ba299145948c2ec22c75a94e11e6","ref":"refs/heads/shu/4t2p","pushedAt":"2024-09-19T19:38:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix","shortMessageHtmlLink":"fix"}},{"before":"8f6289bd30b88e42f0d2d500c3a390f4812b5d27","after":"88bb717bdee17bf74c046ed5f816d8f19e052fad","ref":"refs/heads/09-10-bugfix_actions_that_self-redirect_should_be_handled_gracefully","pushedAt":"2024-09-19T19:17:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ztanner","name":"Zack Tanner","path":"/ztanner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1939140?s=80&v=4"},"commit":{"message":"modify prefetch cache entry type based on redirect response","shortMessageHtmlLink":"modify prefetch cache entry type based on redirect response"}},{"before":"e293623caaba7f5199ee11fe2d059e889ceada2d","after":"1b892297bd9548eb756819cbb7557b3a905028ca","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T19:14:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"transform the decl.func return type instead of path","shortMessageHtmlLink":"transform the decl.func return type instead of path"}},{"before":"b3cb231eebde968caae0c3f9999b70685c07637f","after":"c22c4bf6a141cdf66db2c1bc7da68e63521e7ddd","ref":"refs/heads/shu/4t2p","pushedAt":"2024-09-19T19:06:31.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"Merge branch 'canary' into shu/4t2p","shortMessageHtmlLink":"Merge branch 'canary' into shu/4t2p"}},{"before":"34a794ecba05b133aa6f187711aeebe3048d5ed8","after":"b3cb231eebde968caae0c3f9999b70685c07637f","ref":"refs/heads/shu/4t2p","pushedAt":"2024-09-19T19:06:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix cases","shortMessageHtmlLink":"fix cases"}},{"before":"c4d446b3e1384493b4fc7429be778e6c19a7017c","after":"e293623caaba7f5199ee11fe2d059e889ceada2d","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T18:45:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"add return type case","shortMessageHtmlLink":"add return type case"}},{"before":"5c68f58714b79fc6c65ea3e59060c439d3baf215","after":"c4d446b3e1384493b4fc7429be778e6c19a7017c","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T18:36:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"insert helper per function","shortMessageHtmlLink":"insert helper per function"}},{"before":"f2c4992f3b513595fb2a2a4f8bcc2c413bb17d12","after":"5c68f58714b79fc6c65ea3e59060c439d3baf215","ref":"refs/heads/09-02-codemod_exotic_cookie","pushedAt":"2024-09-19T18:24:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"huozhi","name":"Jiachi Liu","path":"/huozhi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4800338?s=80&v=4"},"commit":{"message":"convert return type","shortMessageHtmlLink":"convert return type"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu3I03AA","startCursor":null,"endCursor":null}},"title":"Activity · vercel/next.js"}