-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
feat(remix-react): add WebSocket reconnect to LiveReload
#859
Conversation
Hi @garand, Welcome, and thank you for contributing to Remix! Before we consider your pull request, we ask that you sign our Contributor License Agreement (CLA). We require this only once. You may review the CLA and sign it by adding your name to contributors.yml. Once the CLA is signed, the If you have already signed the CLA and received this response in error, or if you have any questions, please contact us at hello@remix.run. Thanks! - The Remix team |
Thank you for signing the Contributor License Agreement. Let's get this merged! 🥳 |
Seems like this is now implemented |
@machour Are you sure? I'm not seeing this implemented yet. |
@garand you're absolutely right, got my wires mixed up 😅 |
LiveReload
@garand Please rebase your branch onto latest |
@MichaelDeBoey I'll try to work on this soon! 😄 |
@garand Could you please provide us with an update on this PR? |
Yeah, didn't have a chance to get to it yet, I'll prioritize getting it cleaned up tonight. |
# Conflicts: # contributors.yml # packages/remix-react/components.tsx
@MichaelDeBoey Updated! 😅 |
🦋 Changeset detectedLatest commit: 2e5ff21 The changes in this PR will be included in the next version bump. This PR includes changesets to release 16 packages
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 |
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.
LGTM, thanks @garand!
🤖 Hello there, We just published version Thanks! |
Hello, I think this PR might cause issue with redirects #2997 (comment) |
Currently if the LiveReload socket closes, for instance if the dev server restarts, the page loses connection to the socket and needs to be manually refreshed to reconnect.
This wraps the WebSocket connection script in a function that is immediately called, and adds an
onclose
method letting the user know the connection has closed. A timeout is created (1 second) to reconnect and pass an optional config object with anonOpen
callback to force a reload when a new connection is opened.This was born out of my use case of building a component library outside of Remix and setting up a separate script to restart the dev server when my component library changed.
Original discussion on Discord.
https://discord.com/channels/770287896669978684/911308489769488485/911314308967841832