Sebastian Markbåge

Sebastian Markbåge

@sebmarkbage.calyptus.eu

Formerly: React · Next.js · Vercel

8.9K followers24 following70 posts

Sebastian Markbåge reposted

A critical vulnerability in React Server Components (CVE-2025-55182) affects React 19 and frameworks, including Next.js (CVE-2025-66478). All users should upgrade to the latest patched version in their release line. nextjs.org/blog/CVE-20...

nextjs.orgSecurity Advisory: CVE-2025-66478A critical vulnerability (CVE-2025-66478) has been identified in the React Server Components protocol. Users should upgrade to patched versions immediately.

I moved to Bluesky for higher quality content that I’m more aligned with which is true to some extent. However I realized what I really like about it is *less* content and that I like zero even better. So I think I’m getting off of Bluesky as well. I didn’t need better social media but none.

Sebastian Markbåge reposted

React 19.1 enables Server Components in Parcel with React Stable (not only canary)! Just released Parcel v2.14.3 with the corresponding update. 🥳

You can pass sub-classed Promises to React such as in use() with the fields status and value or reason. This allows React synchronously read the value without waiting on a microtask. This is much faster but it also ensures compat when someone needs flushSync(). Microtasks are bad, mkay.

View full thread

React looks for the same names of the fields as allSettled. developer.mozilla.org/en-US/docs/W... They can also be updated after it resolves. This is used by RSC when it provides data to React to allow streaming to be free when it's already loaded. Other libraries can use the same optimization.

developer.mozilla.orgPromise.allSettled() - JavaScript | MDNThe Promise.allSettled() static method takes an iterable of promises as input and returns a single Promise. This returned promise fulfills when all of the input's promises settle (including when an em...

You can pass sub-classed Promises to React such as in use() with the fields status and value or reason. This allows React synchronously read the value without waiting on a microtask. This is much faster but it also ensures compat when someone needs flushSync(). Microtasks are bad, mkay.

New York, New York, New York so good they named it thrice+. New York County is Manhattan. New York City is larger than the county and includes the five boroughs. New York State includes all of them. The city is Manhattan, i.e. New York County. The Tri-State area is the New York metropolitan area.

View full thread

New York, New York, New York so good they named it thrice+. New York County is Manhattan. New York City is larger than the county and includes the five boroughs. New York State includes all of them. The city is Manhattan, i.e. New York County. The Tri-State area is the New York metropolitan area.

The new iOS 18.4 Beta is the first on-device build that has working Scroll-Driven Animations on iPhone. It's not on by default there yet. Unfortunately, it feels a little jittery. Like the frame-rate isn't quite right or something it getting rounded to integers. bsky.app/profile/bram...

Bramus@bram.us

🤩 Scroll-Driven Animations got switched on by default in WebKit! github.com/WebKit/WebKi... This means that the next Safari Technolgy Preview release should have it, and that a stable release might follow soon 🤤 ℹ️ Learn all about SDA over at scroll-driven-animations.style

Chrome DevTools is now going to ignore list `node:` by default. github.com/ChromeDevToo... This is great news for using Chrome Inspector to inspect servers (like the Next.js server). If you've added custom rules and moved away from the default. I recommend adding ^node: to your ignore list.

github.comIgnore node internals by default, remove bower_components · ChromeDevTools/devtools-frontend@326c069Bug: 382453615 Change-Id: Ib1625fb44e25ab32a09080276edabe6cb951389e Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6175018 Commit-Queue: Eric Leese <leese@c...

With RSC you usually don't need to inspect the server because the console logs are also available in the client console. However, for advanced use cases it can still be useful to dig into using Chrome Inspector. I much prefer that over using the Terminal. NODE_OPTIONS='--inspect' pnpm next dev

View Transitions are basically magic. Not in the sense that it just works. It's trying to model showmanship in a way that breaks the physics of the rendering engine. It's like semi-transparent ghosts walking through walls. That's why it has to break out of the normal layout and painting flow. 🪄

If you use auth with refresh tokens that have automatic reuse detection. I.e. if an auth token is expired, you can request a new one using the refresh token only once. How do YOU on your site deal with the race condition where opening multiple tabs/requests at once logs the user out? Not at all?

Catch the gotcha? This cache entry is specific to only a specific user because it uses the current user to compute its output. It means the current user must be part of the cache key otherwise this cache entry could leak between users. "use cache" handles this automatically for closures.

You are up to date.