-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
merge InProgressDirty into InProgress #8777
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
8 Skipped Deployments
|
5663e63
to
d3d1c8f
Compare
🟢 Turbopack Benchmark CI successful 🟢Thanks |
Logs
See job summary for details |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this is a net-overall simplification, and I appreciate the added unit test. LGTM!
@@ -310,14 +310,22 @@ impl MaybeCollectibles { | |||
} | |||
|
|||
struct InProgressState { | |||
/// Event is fired when the task is Done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for improving the documentation!
d3d1c8f
to
b989b2a
Compare
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 <tobias.koppers@googlemail.com>
### Description This saves some memory and streamlines the behavior. It also lazily removes collectibles, children and dependencies even when entering the previous InProgressDirty (now InProgress stale) state. ### Testing Instructions <!-- Give a quick description of steps to test your changes. -->
### Description This saves some memory and streamlines the behavior. It also lazily removes collectibles, children and dependencies even when entering the previous InProgressDirty (now InProgress stale) state. ### Testing Instructions <!-- Give a quick description of steps to test your changes. -->
### Description This saves some memory and streamlines the behavior. It also lazily removes collectibles, children and dependencies even when entering the previous InProgressDirty (now InProgress stale) state. ### Testing Instructions <!-- Give a quick description of steps to test your changes. -->
### Description This saves some memory and streamlines the behavior. It also lazily removes collectibles, children and dependencies even when entering the previous InProgressDirty (now InProgress stale) state. ### Testing Instructions <!-- Give a quick description of steps to test your changes. -->
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 <tobias.koppers@googlemail.com>
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 <tobias.koppers@googlemail.com>
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 <tobias.koppers@googlemail.com>
Description
This saves some memory and streamlines the behavior.
It also lazily removes collectibles, children and dependencies even when entering the previous InProgressDirty (now InProgress stale) state.
Testing Instructions