Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prevent unnecessary rsc reloads on navigation (#68049)
In larger apps, when compilation can take time and endpoints are often build concurrently, `endpoint_server_changed_subscribe`’s subscription to turbotasks can result in unnecessary calls of the JS callback even when turbotasks input has not changed. This wraps subscribing to issues and diagnostics in `endpoint_server_changed_subscribe` within a turbotasks function that ensures that inputs are properly consistent (e.g. diagnostics have been sorted and are value-equal) so this callback is not called unnecessary. Test Plan: Navigate within a large app and verify `serverComponentChanges` messages are not sent through the web socket connection and the browser does not perform unnecessary fetch requests to rsc endpoints. ### Turbopack Changes * vercel/turborepo#8777 <!-- Tobias Koppers - merge InProgressDirty into InProgress --> * vercel/turborepo#8785 <!-- Tobias Koppers - fix watcher bug with file creation --> * vercel/turborepo#8793 <!-- Tobias Koppers - get rid of notify-debouncer in favor of our own debouncing --> * vercel/turborepo#8805 <!-- Tobias Koppers - impl Ord for Diagnostics and Issue so they are sorted correctly --> --------- Co-authored-by: Tobias Koppers <[email protected]>
- Loading branch information