#21 PartyMix, Remix v2-pre, and a new Dev Rel Manager โ Remix Community Newsletter
Hey folks, Jacob Paris here with another issue of Moulton, the Remix Community Newsletter!
A couple weeks ago I sent out my first email as editor of Moulton. Based on feedback, I have made the following changes
- The previous email did not look right on clients using dark mode. If this is still a problem, shoot me an email with a screenshot and what email client you're using, and I'll try to get that sorted out.
- All third party tracking has been removed. This was enabled by default and I didn't notice.
- This email address was misconfigured for receiving emails, so if you tried to reply it would have been rejected. DNS mail records are hard but that should be fixed now.
That aside, it's been a great couple weeks for Remix and the community. We've got a lot of exciting things to share with you, so I figured it's best to share them all now and then we're back at a "start of the month" cadence.
Let's get to it!
Featured ๐ฅ PartyKit gets a Remix starter
The latest project from Sunil Pai is PartyKit, a deployment platform for real-time collaborative multiplayer applications.
Think live presence features like Google Docs or Figma. Multiplayer cursors? Collaborative editing? Partykit has you covered.
Sunil has put together a Remix stack called PartyMix to get the party started.
https://github.com/partykit/remix-starter
๐ฅ Remix v2 enters pre-release
Remix has finally launched v2 into pre-release, so if you've been looking at getting your hands on it, now is your chance.
For the most part, it's an uneventful upgrade: if you've already opted into the v2 future flags, upgrading should just mean deleting the flags from your config and installing the new packages.
npx upgrade-remix pre
But one extra feature I'm excited about is that remix-serve now comes with first-class support for ESM, so no more custom dev servers needed if you just want to eliminate those CJS require()
calls from your codebase.
I recently upgraded the Moulton website to v2 and it was a breeze
github.com/jacobparis-insiders/moulton/commit/aeddb7
๐ฅ Remix Team gets a new Dev Rel Manager
As of next week, Brooks Lybrand officially joins the Remix team at Shopify as Developer Relations Manager.
Brooks has been a big part of the Remix community since the beginning, helping organize Remix Conf EU as well as running the Remix Austin meetup.
twitter.com/BrooksLybrand/status/1693666661155340726
๐ Typesafe loader data from any route
Remix's nested routing means you can have many routes matching the current page at once, and you can access their data with useMatches at any time. To get data for a specific matching route, you can useRouteLoaderData but you have to tell it what route ID and loader type to expect.
This simple pattern is to export a custom hook from your route with that info built in, so consumers don't have to worry about it.
jacobparis.com/content/remix-route-loader-data
๐ฅ RemixDJ releases a chrome extension
The team at RemixDJ have released a chrome extension developer tool to visualize the routing for your Remix app.
chrome.google.com/webstore/detail/remix-dj
๐ฅ Real-time collaboration with Cord
Cord is another hot player in the real-time collaboration space, and they've upgraded the Remix Blog tutorial to add a real-time chat feature using their platform.
๐ Store data in flash session storage to persist across redirects
There are many places in an app where you're going to need to handle redirects, especially once you step into progressively enhanced forms that should still return data even without javascript.
This month Alem Tuzlak has begun writing some great articles on the topic
- Storing data before redirecting a user to a 3rd party service
- Display toast messages with data after server-side redirects
๐ Dark mode with client hints
Angel Nรบnฬez has put together a guide for implementing dark mode in Remix that respects the user's system preferences, using a similar client hints approach to the one used by the Epic Stack.
tsmailok.dev/blog/remix_dark_mode
๐ฅ Build your Remix app with JSDoc
We may be witnessing the resurgence of JSDoc as a primary mode of development over writing Typescript directly, in some cases. A couple months ago SvelteKit switched to JSDoc, and a recent tweet by Michael Jackson has suggested that Remix may be considering the same.
In the application world, Raphaรซl Moreau has put together an example project where every loader, action, and useLoaderData hook is typed with JSDoc instead of Typescript and it actually feels pretty clean
github.com/rphlmr/remix-js-with-jsdoc
๐ฅ Use NextAuth with Remix
Roland Ayala has managed to make Remix and NextAuth play nicely together, so you can now use NextAuth's massive collection of authentication providers with Remix's routing and data fetching.
github.com/rolanday/remix-next-auth-unocss
๐บ Caching for Cash with Kent C Dodds
Back in May, Kent gave a talk about caching strategies and real world scenarios for caching data in your projects. The recording has now been published on YouTube.
Remix Community Meetups
There are active Remix meetups all around the world. If you're interested in meeting other Remix users, learning more about the framework, or just hanging out with some cool folks, check out one of these meetups.
- ๐บ๐ธ Lehi, Utah
- ๐ฎ๐ณ Pune, India
- ๐ฌ๐ง London, UK
- ๐บ๐ธ New York City
- ๐ง๐ท Sรคo Paulo, Brasil
- ๐บ๐ธ Austin, Texas
- ๐บ๐ธ San Francisco, California
- ๐ฎ๐ฑ Tel Aviv, Israel
- ๐ฒ๐ฝ Mexico City, Mexico
- ๐ฉ๐ฐ Copenhagen, Denmark
- ๐ฟ๐ฆ Johannesburg, South Africa
- ๐ธ๐ช Uppsala, Sweden
- ๐จ๐ท San Jose, Costa Rica
This is not a one-way conversation
On behalf of the whole Remix community, Iโm really glad to have you here, and I want to hear from you.
If you find something cool you'd like featured, or have questions you'd like answered, that's what I'm here for. Just hit reply and let me know, or join the conversation directly in the Remix Discord
Thanks for reading!
โ Jacob Paris