π¨ #305: X, Forms, e18e, Next.js, TanStack Start, Storybook, MobX, Zustand, XState | Exact, Discord, Shopify, Expo Modules, Audio API, Bottom Sheet, Keychain, Gesture Handler | Node.js, Safari, Rolldown, Playwright
Hi everyone, Seb and Jan here π!
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 π.
Let's dive in!
As always, thanks for supporting us on your favorite platform:
- π¦ Bluesky
- βοΈ X / Twitter
- π LinkedIn
- π½ Reddit
Ne manque pas le prochain email !

πΈ Sponsorβ
Agents didnβt clear your plate. They piled on reviews.
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.

βοΈ Reactβ

X Engineering - Rebuilding the global town square from scratch
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.

- πΈ PropelAuth - Donβt Trust Your AI Agent. Scope It.
- π React
<form>docs improvements - React 19 resets uncontrolled fields after a successful form Action, which surprised many devs. The<form>docs now explain how to keep values (defaultValuefrom state oruseActionState, even before JS loads), skip or schedule the reset withrequestFormReset, pass extra data to Server Functions, and getuseFormStatuspending state from anonSubmithandler. - π e18e Framework Performance project - Benchmarks for 9 meta-frameworks, including Next.js, TanStack Start and React Router - This independent initiative, built with each framework's maintainers, makes comparisons fairer and has already led to upstream perf fixes, such as 75% faster RSC payload parsing in React.
- π React Foundation Contributors Summit 2026 - 10β12 Nov - London - The first contributor summit is happening right now. Since we are not there, please let us know if you have any insider scoop π₯Ή.
- π 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
setTimeoutcreated during SSR captures theAsyncLocalStoragecontexts. 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 explicitgcTime. - π 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. - πΈ PostHog - WTF is a forward deployed engineer? (and why everyone is hiring them)
- π¦ MobX React Plugin 1.0 - Automatic
observer(),"use no memo"for React Compiler,asyncmethods turned into flows - This new official Vite/Babel plugin fixes a long-standing MobX incompatibility with the React Compiler. - π¦ Storybook 11 beta - Official agent skills, headless
storybook toolsCLI, type-safe CSF 4 stories,react-component-metadocgen - π¦ Zustand 5.1 - Async
persiststorage and migrations, awaitablerehydrate(), dispatch actions from Redux DevTools - π¦ XState 6 beta - Transitions as plain functions, Standard Schema types,
xstate/fsmis back, durable execution (experimental), CLI - π¦ Text.js 1.0 - React framework for apps that render inside
console.log - π¦ Preact 11.2 - Scoped custom element registries in shadow roots, smaller bundle
- π¦ mdx-content-mapper 0.0.3 β 0.0.4 - Type-check MDX files with
tsc, using TypeScript 7.1 content mappers - π¦ React Hook Form 7.92 - Bug fixes for validation, field arrays,
reset()anduseController, fewer form state clones - π¦ React Resizable Panels 4.19 β 4.21 - Tear-off tabs, drag tabs between windows, floating tabsets, collapse and maximize buttons
- π¦ Astryx 0.7.1 β 0.7.13 - iOS-like Lightbox gestures, reorderable lists, table virtualization, keyboard-aware
ChatLayout - π¦ dx-styles 1.5 - Faster builds, upgrades wyw-in-js, reproducible CSS-in-JS benchmark
- π¦ Next-Intl 4.15 - Support
intl-messageformat12, lazy-loaded SWC in the message extractor, middleware fixes
Ne manque pas le prochain email !

πΈ Sponsorβ
Mobile Dev Plugin for Codex and Claude
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.
Try Mobile Dev in the ChatGPT Plugin Store.

π± React-Nativeβ

Exact - Agent-native app framework in Rust
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.
Related resources:
- π First Impressions of Expo Exact, a New Rust-Powered App Runtime
- π₯ Simon Grimm - Expo's CEO Just Built a React Native Alternative

π§΅ Discord follows Shopify, leaving React Native for native and Rust
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.
Related resources:

- πΈ Sentry - Find the slow request in your React Native checkout flow. Get the recipe
- π¦ Expo plugin back in Codex - Skills and MCP server in one plugin
- π 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.
- π How to Speed Up Your Maestro Tests: A Practical Guide
- πΈ Bitrise - The best practices behind safe React Native OTA updates.
- π¦ Google Maps Navigation SDK 0.19 - iOS 17 minimum, Android SDK 8, iOS SDK 11.3, route-token-only destinations, ROUTING_TIMEOUT support - Route token only setup (iOS) avoids waypoint drift plus a new timeout status to handle (Android).
- π¦ Keyboard Controller 1.23 - Precise input tracking, preload artifact fix, transparent KeyboardExtender
- π¦ Gesture Handler 3.5 -
Begin,DeactivateandFinalizeevents,Panvelocity andPressablefixes - π¦ React Native Keychain 11 - TurboModules and New Architecture only, Swift Package Manager (preview),
getAllInternetCredentialServers() - π¦ Screen Transitions 4.1 β 4.2 - Smoother transitions and gestures, built-in clipping, stable Expo Router integration
- π¦ Sentry 8.34 - iOS JS hang tracking, Hermes samples in Android profiles, long task metric
- π¦ Skia 3.10 -
SkShapeBlob+canvas.drawShapesfor static shape batching, replay allocation cuts, Skia m158 - π¦ True Sheet 4.1 -
dimBlurbackdrop, stacked sheet fixes, Android gesture fixes - π¦ Bottom Sheet 0.18 - Web support, floating cards, lazy mounting and snapping overhaul
- π¦ Audio API 1.0 - First stable, spatial audio, Recorder 2.0, worklets split out
- π€ Simlock 0.6 - Named device baselines, seed based simulators and emulators, MCP enrolled phones
- π€ Argent 0.32 - Android network inspector, physical iPhone gestures, remote simulator recording

π Otherβ
- π Node.js security releases - High severity fixes for the 22, 24 and 26 lines
- π¬ Mermaid v13 RFC - Full rewrite, DOM-free rendering, SSR, plugin system and smaller bundle - With all the recent diagram lib competitors, Mermaid is finally planning to catch up.
- π State of JavaScript 2026 - Survey is now open - Last year, we ranked among the top 5 newsletters. If you like our work, please mention us in the resources section π
- π 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.
- π¦ Rolldown 1.3 - Import attributes (experimental), agent-friendly build report (experimental),
@rolldown/perf-kit- The new Perf Kit could help your agent make your app faster. - π¦ Safari 27.3 beta -
Temporal,using, CSS@function,if(),attr(),corner-shape,popover="hint",closedby, and more - Many of these features are going to be in all browsers soon, includingTemporalandusing! - π¦ Playwright 1.65 - Run tests with Bun,
onlyFailuresreports,-exclusive-test lock - π¦ Prettier 3.10 - New Yuku high-performance JS/TS parser plugin, new Flow syntax, support for new JS proposals
- π¦ pnpm 12.17 β 12.19 -
pnpm fund, per-skill approval of agent skills,pnpm store addfor offline installs, JSON-like lockfile format (experimental), security fix - π¦ ESLint Shell - Language plugin for Bash, POSIX sh and mksh scripts
- π€ Modern Web Guidance 1.0 - Chrome's web platform skills for coding agents are stable, Firefox and Edge join the project

π€ Funβ

See ya! π
Ne manque pas le prochain email !






