$ the-wire · showcase
Next.js fixes cache warming env bug, eve gains audience hooks
By RepoJournal · Filed · About Vercel · Composed from the cited sources · methodology
Next.js patched a cache-warming failure caused by late environment mutation, AI SDK 7.0.100 shipped typed transport errors, and eve added audience classification and workspace-agent discovery.
Durable use cache: fix runtime env var mutation vercel/next.js
Next computed the warmup cache key before the env var was set, then rendering set it, changing the key and producing a miss that aborted the prerender with 'Unexpected cache miss after cache warming phase during prerendering.' The fix addresses nondeterministic arguments differing between warming and the final pass.
feat: surface consistent typed AI SDK errors from UI transports and completion helpers vercel/ai
SDK-created plain errors are replaced with APICallError, EmptyResponseBodyError, InvalidArgumentError, UnsupportedFunctionalityError, and UIMessageStreamError, so UI transports can branch on error type instead of matching messages. Sensitive request bodies stay out of APICallError metadata.
fix(google): preserve JSON Schema instead of converting to OpenAPI schema (#20757) vercel/ai
The Google provider no longer down-converts JSON Schema to legacy OpenAPI-style fields; it uses parametersJsonSchema for function and tool schemas, including realtime tools, so schema features Google now accepts natively survive the round trip.
feat(eve): unify conversation audience classification vercel/eve
Channel authors previously returned a reserved metadata().audience value while default HTTP sessions stayed unclassified; a typed audience(input) hook, a durable eve.conversation context, and explicit environment in trace-policy context replace that. Local children inherit the parent audience and forwarded origins remain immutable.
[1/3] feat(slack): add private input delivery vercel/eve
The approvalChannel callback now routes every InputRequest, including tool approvals and ctx.ask() questions, to either the shared thread or the triggering user's DM. Private delivery fails closed when the Slack user can't be resolved, and responses route back to the original continuation without application metadata.
fix(world-postgres): ignore stream rows written after the first EOF vercel/workflow
In @workflow/world-postgres, streams.get() closed the controller on the first EOF but kept iterating, so a retried terminal write landed an enqueue on a closed controller and threw ERR_INVALID_STATE out of the stream. Rows written after the first EOF are now ignored.
fix(world-postgres): preserve queue error metadata vercel/workflow
Failed HTTP deliveries in the Graphile queue logged "error": {} in JSON metadata; the replacer now includes name, message, stack, and nested cause while retaining enumerable properties such as transport error codes. stdout/stderr routing, DEBUG filtering, and WORKFLOW_JSON_MODE=1 suppression are unchanged.
fix(world-postgres): remove implicit queue HTTP deadlines vercel/workflow
Queue messages now go out through @workflow/world/node-http.js with explicit zero headers/body deadlines, so an inline call that outruns global fetch's implicit timeout is no longer failed and redelivered while still running. The Graphile abort signal stays authoritative during shutdown.