Sergio Xalambri
@sergiodxa.com
Writing "React Router OAuth2 Handbook"
Web Developer at Daffy.org
Blogger at sergiodxa.com
Open Source Author at GitHub.com/sergiodxa
Sponsor me at https://github.com/sponsors/sergiodxa
Web Developer at Daffy.org
Blogger at sergiodxa.com
Open Source Author at GitHub.com/sergiodxa
Sponsor me at https://github.com/sponsors/sergiodxa
I was able to build a @remix.run v3 `lazy` function to lazy load components
The lazy loaded component retains the type of the props with an additional `fallback` prop to pass the JSX to render until it's loaded
Code: github.com/sergiodxa/re...
The lazy loaded component retains the type of the props with an additional `fallback` prop to pass the JSX to render until it's loaded
Code: github.com/sergiodxa/re...
October 25, 2025 at 6:12 AM
I was able to build a @remix.run v3 `lazy` function to lazy load components
The lazy loaded component retains the type of the props with an additional `fallback` prop to pass the JSX to render until it's loaded
Code: github.com/sergiodxa/re...
The lazy loaded component retains the type of the props with an additional `fallback` prop to pass the JSX to render until it's loaded
Code: github.com/sergiodxa/re...
Another @remix.run v3 example. This is how you can create custom components that allow the parent to listen to custom events.
Full code: github.com/sergiodxa/re...
Full code: github.com/sergiodxa/re...
October 22, 2025 at 6:29 PM
Another @remix.run v3 example. This is how you can create custom components that allow the parent to listen to custom events.
Full code: github.com/sergiodxa/re...
Full code: github.com/sergiodxa/re...
Another @remix.run v3 + state management library example, now Stately.ai's xstate.
Define the machine once, create the actor and subscribe to updates in the setup scope, and get a snapshot or send events on the render scope.
Full code: github.com/sergiodxa/re...
Define the machine once, create the actor and subscribe to updates in the setup scope, and get a snapshot or send events on the render scope.
Full code: github.com/sergiodxa/re...
October 16, 2025 at 11:12 PM
Another @remix.run v3 + state management library example, now Stately.ai's xstate.
Define the machine once, create the actor and subscribe to updates in the setup scope, and get a snapshot or send events on the render scope.
Full code: github.com/sergiodxa/re...
Define the machine once, create the actor and subscribe to updates in the setup scope, and get a snapshot or send events on the render scope.
Full code: github.com/sergiodxa/re...
Next on @remix.run v3 + state management libraries, I tried @preactjs.com Signals core package.
This requires to run the effect to subscribe to the signal inside this.queueTask, otherwise it tries to re-render before Remix did the first render.
Full code: github.com/sergiodxa/re...
This requires to run the effect to subscribe to the signal inside this.queueTask, otherwise it tries to re-render before Remix did the first render.
Full code: github.com/sergiodxa/re...
October 16, 2025 at 11:11 PM
Next on @remix.run v3 + state management libraries, I tried @preactjs.com Signals core package.
This requires to run the effect to subscribe to the signal inside this.queueTask, otherwise it tries to re-render before Remix did the first render.
Full code: github.com/sergiodxa/re...
This requires to run the effect to subscribe to the signal inside this.queueTask, otherwise it tries to re-render before Remix did the first render.
Full code: github.com/sergiodxa/re...
I'm trying different state management libraries, common in React, that have a JS only core and see how they integrate with @remix.run v3.
I started with Redux Toolkit. Super simple and straightforward to setup and use.
Code here: github.com/sergiodxa/re...
I started with Redux Toolkit. Super simple and straightforward to setup and use.
Code here: github.com/sergiodxa/re...
October 16, 2025 at 11:10 PM
I'm trying different state management libraries, common in React, that have a JS only core and see how they integrate with @remix.run v3.
I started with Redux Toolkit. Super simple and straightforward to setup and use.
Code here: github.com/sergiodxa/re...
I started with Redux Toolkit. Super simple and straightforward to setup and use.
Code here: github.com/sergiodxa/re...
Reposted by Sergio Xalambri
In June we announced an open governance model for React Router.
Today, we are excited to welcome Sergio Xalambrí and @rossipedia.com to the React Router Steering Committee!
Both have made valuable contributions to Remix and React Router over the years, and we appreciate their feedback.
Today, we are excited to welcome Sergio Xalambrí and @rossipedia.com to the React Router Steering Committee!
Both have made valuable contributions to Remix and React Router over the years, and we appreciate their feedback.
August 26, 2025 at 4:05 PM
In June we announced an open governance model for React Router.
Today, we are excited to welcome Sergio Xalambrí and @rossipedia.com to the React Router Steering Committee!
Both have made valuable contributions to Remix and React Router over the years, and we appreciate their feedback.
Today, we are excited to welcome Sergio Xalambrí and @rossipedia.com to the React Router Steering Committee!
Both have made valuable contributions to Remix and React Router over the years, and we appreciate their feedback.
The early bird for React Router OAuth2 Handbook is over, but there’s still a launch offer available.
🎁 The Complete Package has $50 off for the first 100 buyers.
🌍 PPP pricing is now active — for the book only.
go.sergiodxa.com/S4qaycD
🎁 The Complete Package has $50 off for the first 100 buyers.
🌍 PPP pricing is now active — for the book only.
go.sergiodxa.com/S4qaycD
React Router OAuth2 Handbook
Implement secure OAuth2 authentication in React Router and Remix apps with practical patterns.
go.sergiodxa.com
May 14, 2025 at 5:07 AM
The early bird for React Router OAuth2 Handbook is over, but there’s still a launch offer available.
🎁 The Complete Package has $50 off for the first 100 buyers.
🌍 PPP pricing is now active — for the book only.
go.sergiodxa.com/S4qaycD
🎁 The Complete Package has $50 off for the first 100 buyers.
🌍 PPP pricing is now active — for the book only.
go.sergiodxa.com/S4qaycD
In OAuth2 + OIDC, each token has a different audience:
🔑 Access Token → Resource Server
🔄 Refresh Token → Authorization Server
🪪 ID Token → Client App
Each audience ensures the token is used by the right party and for the right purpose.
🔑 Access Token → Resource Server
🔄 Refresh Token → Authorization Server
🪪 ID Token → Client App
Each audience ensures the token is used by the right party and for the right purpose.
April 16, 2025 at 2:29 AM
In OAuth2 + OIDC, each token has a different audience:
🔑 Access Token → Resource Server
🔄 Refresh Token → Authorization Server
🪪 ID Token → Client App
Each audience ensures the token is used by the right party and for the right purpose.
🔑 Access Token → Resource Server
🔄 Refresh Token → Authorization Server
🪪 ID Token → Client App
Each audience ensures the token is used by the right party and for the right purpose.
I published a Remix Auth strategy for the new @sst.dev's OpenAuth.js identity provider
github.com/sergiodxa/re...
github.com/sergiodxa/re...
GitHub - sergiodxa/remix-auth-openauth: A Remix Auth strategy to use with an OpenAuth.js issuer
A Remix Auth strategy to use with an OpenAuth.js issuer - sergiodxa/remix-auth-openauth
github.com
December 12, 2024 at 2:12 PM
I published a Remix Auth strategy for the new @sst.dev's OpenAuth.js identity provider
github.com/sergiodxa/re...
github.com/sergiodxa/re...
From time to time I want to see if Web Components improved
They could have been way better if we started with a simple partial defined using the <template> tag and a name attribute
<template name="user-item">
some html here
</template>
Then you do `<user-item>` and the browser inline the partial
They could have been way better if we started with a simple partial defined using the <template> tag and a name attribute
<template name="user-item">
some html here
</template>
Then you do `<user-item>` and the browser inline the partial
November 10, 2024 at 1:14 AM
From time to time I want to see if Web Components improved
They could have been way better if we started with a simple partial defined using the <template> tag and a name attribute
<template name="user-item">
some html here
</template>
Then you do `<user-item>` and the browser inline the partial
They could have been way better if we started with a simple partial defined using the <template> tag and a name attribute
<template name="user-item">
some html here
</template>
Then you do `<user-item>` and the browser inline the partial
🤔 I wonder if it would be possible to self host a Blueksy Personal Data Server on #Cloudflare Worker with D1
The Bluesky team earned my trust by delivering on promise after promise, including the ability to host your own data. It isn't just possible, it's now well documented. atproto.com/guides/self-...
November 1, 2024 at 8:33 PM
🤔 I wonder if it would be possible to self host a Blueksy Personal Data Server on #Cloudflare Worker with D1
I have been working on a React Router v7 starter for Cloudflare Workers and yesterday I tried it myself to build a simple AI Chat app using Workers AI, I spent more time building the UI than actually building the app
I spent 0 seconds on auth as that comes built-in
github.com/edgefirst-de...
I spent 0 seconds on auth as that comes built-in
github.com/edgefirst-de...
GitHub - edgefirst-dev/starter-ai-chat: A starter repo for an AI chatbot
A starter repo for an AI chatbot. Contribute to edgefirst-dev/starter-ai-chat development by creating an account on GitHub.
github.com
October 31, 2024 at 7:16 PM
I have been working on a React Router v7 starter for Cloudflare Workers and yesterday I tried it myself to build a simple AI Chat app using Workers AI, I spent more time building the UI than actually building the app
I spent 0 seconds on auth as that comes built-in
github.com/edgefirst-de...
I spent 0 seconds on auth as that comes built-in
github.com/edgefirst-de...
So is web dev community moving here for real? Or just a temporal thing?
October 31, 2024 at 6:48 PM
So is web dev community moving here for real? Or just a temporal thing?