next.js
42c991ff - Prevent unnecessary rsc reloads on navigation (#68049)

Commit
1 year ago
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 * https://github.com/vercel/turbo/pull/8777 <!-- Tobias Koppers - merge InProgressDirty into InProgress --> * https://github.com/vercel/turbo/pull/8785 <!-- Tobias Koppers - fix watcher bug with file creation --> * https://github.com/vercel/turbo/pull/8793 <!-- Tobias Koppers - get rid of notify-debouncer in favor of our own debouncing --> * https://github.com/vercel/turbo/pull/8805 <!-- Tobias Koppers - impl Ord for Diagnostics and Issue so they are sorted correctly --> --------- Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
Author
Parents
Loading