Skip to content
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

Dont prefetch server loader when client loader exists #9580

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

brophdawg11
Copy link
Contributor

Closes #9575

Copy link

changeset-bot bot commented Jun 6, 2024

🦋 Changeset detected

Latest commit: f2bdb58

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
Name Type
@remix-run/react Patch
@remix-run/testing Patch
@remix-run/dev Patch
create-remix Patch
remix Patch
@remix-run/architect Patch
@remix-run/cloudflare Patch
@remix-run/cloudflare-pages Patch
@remix-run/cloudflare-workers Patch
@remix-run/css-bundle Patch
@remix-run/deno Patch
@remix-run/eslint-config Patch
@remix-run/express Patch
@remix-run/node Patch
@remix-run/serve Patch
@remix-run/server-runtime Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

(match) =>
manifest.routes[match.route.id].hasLoader &&
!manifest.routes[match.route.id].hasClientLoader
)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check with @ryanflorence on this - current behavior is desired for folks who are calling await serverLoader() unconditionally because we can prefetch that so it resolves immediately. This new solution hurts those scenarios in favor of apps that conditionally call serverLoader(). Maybe we need to provide some way to enable "prefetching" (pre-executing) of client loaders - either by stashing their results into an internal cache or adding the type field to loaders we've previously discussed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Chatted and agreed we should only prefetch module links when a client loader exists

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be great to have the option to prefetch/pre-execute client loaders. In my case I am using a library that has its own cache, so calling the client loader is all that's needed.

@brophdawg11 brophdawg11 merged commit 7a5339b into dev Jun 13, 2024
5 checks passed
@brophdawg11 brophdawg11 deleted the brophdawg11/client-loader-prefetch branch June 13, 2024 21:55
@github-actions github-actions bot added the awaiting release This issue has been fixed and will be released soon label Jun 13, 2024
Copy link
Contributor

🤖 Hello there,

We just published version 2.10.0-pre.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

Copy link
Contributor

🤖 Hello there,

We just published version 2.10.0 which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!

Thanks!

@github-actions github-actions bot removed the awaiting release This issue has been fixed and will be released soon label Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Link prefetch calls loader despite the presence of clientLoader
2 participants