This week, X explained how it rebuilt its flagship app with streaming SSR, Suspense and Relay. e18e launched independent benchmarks for 9 meta-frameworks.
On mobile, Discord follows Shopify and leaves React Native for native and Rust. Meanwhile, Expoβs co-founder previewed Exact, an agent-native app framework written in Rust. We also have many releases: Audio API 1.0, Bottom Sheet 0.18, Keychain 11, Gesture Handler 3.5β¦
Elsewhere, Node.js shipped security releases, Safari 27.3 beta brings Temporal and using to all browsers. The State of JS survey is open: if you like our work, please mention us π.
Your agents write PRs in minutes, then eat your afternoon in review. When did βsaving timeβ start to mean babysitting agentsβ work? Meticulous runs thousands of e2e UI tests autonomously, covering every user flow, edge case, role and permutation.
What you get, with no developer effort:
Near-exhaustive coverage on every test run
No test creation
No maintenance (seriously)
Zero flakes (built on a deterministic browser)
Engineers at Notion save 5 hours per week and feel like they work twice as fast. Check it out, so you can too.
One of the world's largest React apps is currently rolling out a major rewrite. Logged-out users and crawlers already see the new app, and signed-in users are moving over one country at a time. Since Twitter Lite (2017), X has been a client-side React app: the browser downloads JavaScript, then asks for data, then renders, leading to performance issues. Additional SSR servers handled search crawlers and link-preview bots. The new architecture uses a single server for people, crawlers and link-preview bots, and optimizes its response according to who's asking.
The article is a detailed write-up sharing various lessons learned and impressive performance results, in particular on slow connections, where a profile's first post now shows in 2.7s instead of 23.9s. Since we are a React newsletter, here's what is likely to interest you the most:
New stack - The new app is built on Vite, React, Relay and Fastify. The former stack already used Relay/GraphQL, which remains interesting for colocating data requirements with components and making preloading easy.
Streaming SSR with Suspense - The server sends the page shell right away, then streams each part as its data arrives. Profiles and posts download no JavaScript before the first post shows.
Hydrating before the stream ends - With an async module entry, React hydrates the shell immediately, then each boundary as it streams in. They also prioritize the loading of the render-blocking stylesheet: even if it slightly delays React hydration, it gives a better First Contentful Paint on slow connections.
Relay without refetching - Route loaders start the GraphQL queries while the server renders. The page carries each response once as JSON, and the browser replays it into an empty Relay store.
Intent preloading - Links preload their route's code and data on hover or focus so that navigation feels fast.
AI usage - Five engineers built the first version in under six months. Agents helped with the implementation, porting behaviors of the old servers to the new architecture, with scripts to ensure parity.
π React docs improvements - React 19 resets uncontrolled fields after a successful form Action, which surprised many devs. The docs now explain how to keep values (defaultValue from state or useActionState, even before JS loads), skip or schedule the reset with requestFormReset, pass extra data to Server Functions, and get useFormStatus pending state from an onSubmit handler.
π How we cut Next.js memory from ~5GB to ~1GB: the React-Query timer holding every SSR request - An interesting memory leak case and methodology used to fix it. Any setTimeout created during SSR captures the AsyncLocalStorage contexts. Here, the React Query GC timer led to that leak, capturing the Next.js Request store. Query v4/v5 disables the GC on the server, so beware of not re-enabling it by passing an explicit gcTime.
π Why we finally left Next.js for TanStack Start - Positive feedback on migrating a large app to TanStack Start, following recurring memory leaks in Next.js. Abstracting the next/* framework imports behind a thin layer made it possible to run both frameworks side by side using build-time aliases.
Meet Mobile Dev: full mobile tooling inside Codex, Claude, and your favorite ADE.
Launch and interact with iOS & Android simulators, emulators, and physical devices right in your agent UI. Stream logs, debug issues, and monitor CPU, memory & FPS. Guided performance recordings reveal bottlenecks and highlight potential fixes. Your agent picks the right tools, investigates root causes, and implements fixes using real performance data. It can then re-run tests to verify the improvements. You can also inspect your appβs UI, highlight elements, and prompt your agent to make changes with precise visual context.
Expo co-founder Charlie Cheever shared a pre-alpha preview of Exact. It's a cross-platform app framework written in Rust, designed for agents to write, run and test apps. You describe the UI in π Contract, a new declarative language, and write the logic in TypeScript or Rust. Models have never seen Contract, but it's small and constrained on purpose, so agents learn it quickly. Exact promises near-instant startup, smooth scrolling, edits applied in about 100ms, and the same test running unchanged on web, mobile and desktop.
Another big app is moving away from React Native! Discord is dropping both Electron and React Native, extending its shared Rust core. On desktop, the UI moves to GPUI. On mobile, the Rust core now drives native views.
It comes only two months after Shopify left React Native, but the approach is quite different. Shopify went back to separate Swift and Kotlin apps, betting that agents make writing the code twice affordable. This week, they explained how they rebuilt the app in 12 weeks with Helix, Reflex and remote dev. With Reflex, a single behavior test suite runs against headless ViewModels, without a simulator, to keep iOS and Android in sync.
π Inside the new JNI layer in Expo Modules 2.0 - Up to 51 times faster C++ calls than fbjni. JS Objects reach Kotlin 3 to 5 times faster, improving the slowest part of every call between Kotlin and C++ on Android.
π React Native vs Swift and Kotlin: How We Choose the Stack - Before choosing a stack, ask what the product needs to do, how fast it must ship, and who maintains it. Gobi moved to native in stages once bridging cost more than rewriting.
π Notable V8 changes from Node.js 26 to 27 (Alpha) - For once, we get a detailed official blog post of whatβs coming with the V8 upgrade (14.6 β 15.6) related to Iterator, Math and more.
π Read Online Hi everyone, Seb and Jan here π! Calm week on the React side, but we found a few interesting Next.js PRs to look at and a few Async React blog posts. On mobile, the first React Native 0.89 RC is here, with lots of performance work. Amazon Vega OS 2.0 brings RN 0.83 to every Vega-powered Fire TV. Hermes gets a full Intl implementation, still in preview. Screens v5 is coming. Elsewhere, GitHub Actions will block pull_request_target by default. Node.js 27 is the first alpha of the...
π Read Online Hi everyone, Seb and Jan here π! This week is full of TanStack releases with Redact, AI, and DB. Redact is a smaller, synchronous version of React. On mobile, it's an interesting week for native desktop app development and Nitro. Expo founders are cooking something new π. Node v26 is now LTS. SWCβs next version is much faster. Bun now ships a code formatter. Let's dive in! πΈ Sponsor Prioritize Your PR Queue Review the PR that matters most. CodeRabbit Triage ranks work across...
π Read Online Hi everyone, Seb and Jan here π! Itβs a heavy security week, with patches from React and Next.js. Not React-related, but there's also a very bad βphp2shellβ vulnerability that has just been disclosed. Upgrade now! On mobile, React Native 0.88 is out, switching to the web event model with no breaking changes. Expo SDK 58 ships with tons of features, ready for iOS 27 and iPhone Duo. Outside React, TypeScript makes the headlines. v7.1 is in beta, with a new API to build devtools...