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
fix(runtime): pages are not editable when running in dev w/ NextJS 14.2 #728
Conversation
🦋 Changeset detectedLatest commit: 9fa9492 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
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 |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Ignored Deployments
|
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.
@agurtovoy, we use changesets to manage releases. It takes care of generating change logs as well as updating package versions, GitHub releases, git tags, canary releases, etc.
c148952
to
910b73c
Compare
910b73c
to
724ea84
Compare
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.
This seems reasonable! Again, nice find. Imm wondering if this will also address a memory leak we’ve been having due to not handling message channels from function serialization.
Instead of actions we could also perform the side effects in a thunk. I realized as I was reading this that that would be more friendly to Redux since doing a side effect on an action is against Redux’s assumptions. And this applies regardless of whether we do a mixin or not (I incorrectly couple these two when we discussed this earlier). The crux here is wether we perform the side effect and cleanup as a response to a Redux action or within the thunk itself. If done in an action, certain things, like time travel in Redux DevTools won’t work as expected.
Don’t forget to add a changeset!
724ea84
to
5b0b189
Compare
5b0b189
to
259edad
Compare
259edad
to
8fecee1
Compare
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.
This looks great! 👍🏻
Left some comments but they're either questions or nits. Feel free to ship without addressing them.
Thanks @agurtovoy 🙏🏻
8fecee1
to
46821e8
Compare
Decouple `MessageChannel` creation from the middleware creation to make store initalization compatible with React strict mode. Creation of the channel in the middleware was resulting in a "ghost" store instance that was handling some of the dispatch methods.
46821e8
to
9fa9492
Compare
Decouple
MessageChannel
creation from the middleware creation to make store initalization compatible with React's strict mode.Next.js has React's strict mode enabled by default in dev; when running w/ Next.js 14.2 and App Router in dev, creation of the channel in the middleware was resulting in a secondary "ghost" store instance that was handling some of the dispatch methods, leading to a de-synchronized runtime state.