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

Remove instanceof Response checks in favor of isResponse #9690

Merged
merged 3 commits into from
Dec 6, 2022

Conversation

brophdawg11
Copy link
Contributor

@brophdawg11 brophdawg11 commented Dec 6, 2022

When using @remix-run/router for server-side data fetching, we seem to get different Response instances from a return fetch(...) in a loader/action. I'm not entirely sure why yet since we polyfill all fetch/Request/Response globals, but the instanceof Response checks were failing. Copied the same isResponse method used in Remix and replaced all checks with that.

I think the underlying cause here is that our loader is built via ESM and uses the ESM version of the fetch polyfills, but @remix-run/server-runtime + @remix-run/router are runningin node and therefore using the CJS versions of the fetch polyfills. Hence the instanceof failing.

Closes remix-run/remix#4741

@changeset-bot
Copy link

changeset-bot bot commented Dec 6, 2022

🦋 Changeset detected

Latest commit: 9fbf646

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

This PR includes changesets to release 5 packages
Name Type
@remix-run/router Patch
react-router Patch
react-router-dom Patch
react-router-dom-v5-compat Patch
react-router-native 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

@brophdawg11 brophdawg11 changed the title Remove instanceof Response checks in favor of duck typing Remove instanceof Response checks in favor of isResponse Dec 6, 2022
@brophdawg11 brophdawg11 merged commit fb55c70 into release-next Dec 6, 2022
@brophdawg11 brophdawg11 deleted the brophdawg11/remove-instanceof-response branch December 6, 2022 16:38
@machour
Copy link
Contributor

machour commented Dec 6, 2022

That made me nuts a few days ago, fetch Response is being seen as web-fetch/Response

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.

3 participants