[Flight] Server References for arbitrary object types #37636

Open
acdlite opened 1:11pm on September 15, 2026 wants to merge 1 commit into facebook/react main from
codex/server-object-references
Diff Delta:
0
Classified as:  General

acdlite's Description of Work

Added behind a new experimental flag, enableFlightObjectReferences.

Extends Server References so that a reference can point to an object, not just a function. An object is registered with a new API, registerServerObjectReference, which tags it with its module id the same way registerServerReference tags a Server Function.

The client receives an opaque handle: reading a property or calling it throws, similar to how Temporary References work inside Server Functions. The only thing the client can do with the handle is pass it back to the server via a Server Function, where it resolves through the server manifest.

The motivating use case is letting a framework pass request-scoped values by reference, so it can omit them from the request body. For example, a framework could model searchParams as a module export whose value resolves from the current request. This avoids encoding the search params twice (they already appear in the request URL) but it also makes the responses more cacheable: if the search params don't appear elsewhere in the body, then a response cache can omit them from its cache key.

This initial PR only exposes the new API in the Turbopack bindings. We will port it to the other bundler configs if the experiment advances.

27 total changed files
(1 file ignored)
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Review complete πŸ’ͺ
PR review complete, one step closer to shipping πŸš€