Advertisement · 728 × 90

Posts by Sebastian Markbåge

Preview
Critical Security Vulnerability in React Server Components – React The library for web and native user interfaces

There is critical vulnerability in React Server Components disclosed as CVE-2025-55182 that impacts React 19 and frameworks that use it.

A fix has been published in React versions 19.0.1, 19.1.2, and 19.2.1. We recommend upgrading immediately.

react.dev/blog/2025/12...

4 months ago 142 91 7 16
Preview
Security Advisory: CVE-2025-66478 A critical vulnerability (CVE-2025-66478) has been identified in the React Server Components protocol. Users should upgrade to patched versions immediately.

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...

4 months ago 26 12 2 1

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.

11 months ago 90 2 8 0

Like I spent a ton of work getting RSC and owner stack traces to be easy to implement in any framework. Testing it out in Next.js, only to get comments like this:

bsky.app/profile/afuz...

I wish I had just kept it all in Next.js instead.

1 year ago 14 0 5 0

It can't have been more right. Both App Router and RSC are both coming from my vision for both. You may not like the outcome but there's no such thing as React taking it back.

This is why I don't want to contribute to new features to React anymore because anti-Next.js sentiment is souring it.

1 year ago 14 0 1 0

Tbh, I like the AI DJ voice on Spotify trained on Xavier Jernigan. It adds value over just randomly playing tracks.

1 year ago 7 0 2 0

The bug in development you ran into has been fixed.

We also added a warning for duplicate view transition names which is also in your demo.

You can try it out with latest Next.js canary.

1 year ago 15 0 0 0

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

1 year ago 133 12 4 0

Well, with one exception. It doesn't have a pending status. We went with `.status = "pending"` for that.

1 year ago 4 0 1 0

And the shape of the information exposed is already spec:ed in allSettled!

1 year ago 3 0 1 0
Advertisement
Preview
Promise.allSettled() - JavaScript | MDN The 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...

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.

1 year ago 10 0 0 0

class RejectedPromise extends Promise {
constructor(reason) {
super((resolve, reject) => reject(reason));
this.status = 'rejected';
this.reason = reason;
}
}

1 year ago 5 0 1 0

class ResolvedPromise extends Promise {
constructor(value) {
super(resolve => resolve(value));
this.status = 'fulfilled';
this.value = value;
}
}

1 year ago 9 0 3 0

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.

1 year ago 71 7 3 2

You're not from New York unless you were born in the five boroughs, definitely not New Jersey, but with the right attitude you can be a True New Yorker.

1 year ago 4 0 0 0

Long Island City is in Queens which is on Long Island but not out on Long Island.

1 year ago 2 0 1 0

Western New York is basically Canada.

1 year ago 2 0 1 0

Long Island excludes Queens which on Long Island.

Westchester is upstate from New York but not in Upstate New York.

Upstate New York includes Connecticut and Vermont.

1 year ago 3 0 1 0

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.

1 year ago 6 0 1 1
Advertisement

I learned from scuba and snorkeling not to trust sunscreen in water. I just reapply after dry and not expecting to get back in the water.

1 year ago 0 0 1 0

As a fellow ghost, long sleeve rash guard is the way.

1 year ago 1 0 1 0

It would be something you register with RN and then refer to by the generated "class" but it can also be built-ins.

The "className" prop name is expected to change though so in React it won't actually have the word "class" in it anyway. You often use the enter/exit/update/share ones instead.

1 year ago 2 0 0 0

The idea is that ideally you would actually have a CSS library specifying a bunch of different view-transition-classes and you'd just pick among those.

The React API makes more sense from that perspective because otherwise you might expect more low level helpers for filling in the values.

1 year ago 2 0 1 0

developer.chrome.com/blog/view-tr...

github.com/facebook/rea...

github.com/facebook/rea...

1 year ago 0 0 1 0
Preview
Use valid CSS selectors in useId format by sebmarkbage · Pull Request #32001 · facebook/react For the useId algorithm we used colon : before and after. #23360 This avoids collisions in general by using an unusual characters. It also avoids collisions when concatenated with some other ID. Un...

But yes, useId also works for generated styles that has to be dynamically generated for a specific instance.

github.com/facebook/rea...

You can also use programmatic approaches for generated styles. Those don't work with SSR triggered transitions (Suspense) though.

github.com/facebook/rea...

1 year ago 3 0 0 0

The recommended approach is to use view-transition-classes specified and not style using names.

<ViewTransition className="...">*

You can also specify different ones for enter/exit/update.

* Note this prop name is likely getting renamed.

1 year ago 4 0 2 0

Note that there was a period where the framework detection code relied on an HTML attribute which was removed in 18. Therefore adoption of 18 was lost for a period before the detection mechanism updated. Not sure but it might explain temporary gap in growth. It's a data collection bug.

1 year ago 7 0 1 0
Advertisement

Man, I love mainstream health science so much. It’s just so simple when you ignore all the made up stuff from influencers.

1 year ago 20 0 0 0

I've been working through a lot of browser bugs lately but tbh I wouldn't trade it for less ambitious work from browser vendors.

I can do a lot more with a buggy API than no API at all.

1 year ago 36 0 0 0

For example, in Next.js you'd call cookies.set() in a Server Action and then use that cookie to render the toast from a different Server Component. Then trigger an Action that resets it once shown.

We have some ideas for more built-in features around this pattern.

1 year ago 5 0 1 0