Remote Form Endpoint Missing Error
Trace a remote Form whose generated endpoint metadata is incomplete.What this error means and what can trigger it
RemoteFormEndpointMissingError means SER cannot build a complete URL for a remote form submission. The form adapter prefers a native submit method when one is available; its fallback transport, however, needs both an action identifier and the generated remote base URL. If either part is missing, this is the error it creates.
The action identifier is read from the native form action URL, using the /remote or remote query parameter. The base URL is passed into the generated client adapter. A stale generated module, incompatible SvelteKit output, direct use of SER's internal adapter, or missing action metadata can leave one of them empty.
Application effects normally see the surrounding RemoteTransportError, with this more specific class retained as its cause.
Exactly where it triggers
if (!action_id || remote_base.length === 0) {
throw create_remote_transport_error(new RemoteFormEndpointMissingError());
}That guard runs before to_remote_form_url and before any request is issued. It is a synchronous throw inside the asynchronous submission path, so the surrounding Promise rejects and the adapter exposes the resulting tagged RemoteTransportError through its effect error channel.
For reference, the class itself is declared at modules/svelte-effect-runtime/src/errors.ts L647 @ C14. No other production construction site exists.
Why this is the case
The fallback form transport cannot infer a route. An action identifier names the generated remote action, while the base URL says where that identifier must be sent. Guessing either value could submit data to the wrong route or produce a request that happens to succeed against an unrelated endpoint.
SER classifies the failure as transport because no server response exists yet. The nested class records the exact local invariant that failed; the public wrapper keeps it within the stable remote-failure union used by client effects.