Error reference
Use the first error’s code, message, table ID, and diagnostic path to find the failed operation. For visible symptoms, start with Troubleshooting.
Definition and configuration errors require a code or input change. Retry only when the underlying request failure is transient; see Request lifecycle.
Protocol
Section titled “Protocol”| Code | Meaning and common cause | Inspect and correct |
|---|---|---|
INERTIAX_PROTOCOL_VERSION_UNSUPPORTED |
The envelope declares a protocol version the installed decoder does not support. Package versions or a cached server response commonly disagree. | Compare protocolVersion with the decoder’s supportedProtocolVersion; align compatible Laravel and npm packages and clear stale cached responses. |
INERTIAX_PROTOCOL_DECODE_FAILED |
Schema or Table semantic validation rejected the envelope. The error includes a path and diagnostics. | Inspect the first diagnostic and the Laravel-produced prop; fix the producer, custom transformer, or unsupported hand-authored envelope at that path. |
Runtime, catalogs, and pipelines
Section titled “Runtime, catalogs, and pipelines”| Code | Meaning and common cause | Inspect and correct |
|---|---|---|
INERTIAX_RUNTIME_CONFIGURATION_INVALID |
Runtime construction received an invalid diagnostics policy or component-scope configuration. | Inspect runtime options and component ID; pass supported policy values and non-empty unique component IDs. |
INERTIAX_RUNTIME_DISPOSED |
Code tried to create or use runtime-owned resources after disposal. | Find the owner that disposed the runtime; create work inside the provider/session lifetime instead of retaining stale references. |
INERTIAX_CATALOG_ENTRY_DUPLICATE |
A register operation reused a key already visible in that catalog. |
Inspect catalog purpose, key, source, and inspectCatalogs(); rename the contribution or deliberately use replace. |
INERTIAX_CATALOG_ENTRY_MISSING |
A replace operation targeted a key that does not exist. |
Inspect the resolved catalog and contribution order; register a new namespaced key or correct the replacement key. |
INERTIAX_CATALOG_IMPLEMENTATION_INVALID |
A catalog value failed its implementation validator, usually because the contribution is not the expected renderer or input function. | Inspect the failing key/source and the catalog’s expected public type; supply a compatible implementation. |
INERTIAX_CATALOG_RESOLUTION_FAILED |
No implementation or allowed fallback exists for a requested semantic key. | Inspect the namespaced protocol type, installed renderer contribution, and catalog fallback policy; register the missing frontend implementation or correct the produced type. |
INERTIAX_CATALOG_FALLBACK_USED |
A structured diagnostic reports that an unknown namespaced type used the configured fallback. It is not necessarily thrown. | Inspect runtime.diagnostics, its component ID/key/source, and both backend and frontend extension registration. Use fallback: 'error' while diagnosing strict coverage. |
INERTIAX_PIPELINE_STAGE_DUPLICATE |
An add operation reused an existing pipeline stage name. |
Inspect pipeline stages and contribution scopes; give the stage a unique stable name or use replace deliberately. |
INERTIAX_PIPELINE_STAGE_MISSING |
A replace or remove operation targeted a stage that is absent. |
Inspect pipeline order and names; correct the target or use add for a new stage. |
INERTIAX_PIPELINE_STAGE_FAILED |
A schema pipeline stage threw while transforming an envelope. | Inspect the stage name and cause; make the transformation deterministic and valid for every accepted envelope. |
INERTIAX_PIPELINE_OUTPUT_INVALID |
A stage completed but its output no longer decodes as an envelope. | Inspect the attached protocol diagnostic/path and the last stage output; keep transforms within the protocol schema and Table semantics. |
Table state, requests, sessions, and integrations
Section titled “Table state, requests, sessions, and integrations”| Code | Meaning and common cause | Inspect and correct |
|---|---|---|
INERTIAX_TABLE_STATE_INVALID |
Pagination, sorting, filters, search, selection, or visibility state is invalid for the current Table. | Inspect the message/path and current component capabilities/definitions; send bounded state using the Table controller. |
INERTIAX_TABLE_LOCATION_STATE_INVALID |
URL/location values cannot be decoded into valid Table state. | Inspect the component-prefixed query values; remove stale or malformed values and ensure custom location integrations preserve the encoding. |
INERTIAX_TABLE_TRANSITION_UNSUPPORTED |
A requested state transition is disabled by capabilities or unsupported for the current definition. | Inspect the transition and Table capabilities; enable the feature on Laravel definitions or stop dispatching that transition. |
INERTIAX_TABLE_REQUEST_CONFIGURATION_INVALID |
Request coordinator options such as component ID, debounce, scheduler, or executor are invalid. | Inspect coordinator construction and use supported non-negative timing plus a stable component ID. |
INERTIAX_TABLE_REQUEST_COMPONENT_MISMATCH |
A request envelope or state belongs to a different component than the coordinator. | Compare all component IDs and avoid sharing one session/coordinator across Tables. |
INERTIAX_TABLE_REQUEST_COORDINATOR_DISPOSED |
A request was scheduled after its coordinator was disposed. | Trace unmount/disposal and stop retained controller callbacks from targeting the dead session. |
INERTIAX_TABLE_SESSION_CONFIGURATION_INVALID |
Session construction received invalid runtime, pipeline, integration, timing, or component options. | Inspect session options and the error cause; check that the runtime, integration, and pipeline are valid for this table. |
INERTIAX_TABLE_SESSION_COMPONENT_MISMATCH |
Initial or updated envelope component identity differs from the session identity. | Compare the renderer prop/component ID with server output and integration routing; never route one Table’s response to another. |
INERTIAX_TABLE_SESSION_DISPOSED |
A controller or subscription operation targeted a disposed Table session. | Find stale callbacks or refs retained after unmount; reacquire the current controller/session. |
INERTIAX_TABLE_SESSION_RETRY_UNAVAILABLE |
retry() was called without a failed request that can be repeated. |
Inspect session status; only expose retry for a request-error state. |
INERTIAX_TABLE_SESSION_UPDATE_INVALID |
An integration update is malformed, stale in an invalid way, mismatched, or contains an invalid envelope. | Inspect update source, revision, request ID, component ID, and nested cause; correct the integration rather than mutating the session. |
INERTIAX_TABLE_INTEGRATION_CONFIGURATION_INVALID |
Integration factory/session configuration is inconsistent or incomplete. | Inspect adapter options, initial props/envelopes, capabilities, and component IDs. |
INERTIAX_TABLE_INTEGRATION_COMPONENT_NOT_FOUND |
The integration has no initial envelope for the requested component. | Inspect the server prop or memory-integration envelope list and ensure the requested Table ID is present. |
INERTIAX_TABLE_INTEGRATION_COMPONENT_MISMATCH |
Integration data or an update names a different component. | Compare factory/session/update component IDs and fix routing or prop selection. |
INERTIAX_TABLE_INTEGRATION_SESSION_EXISTS |
A second live integration session claimed the same component in a factory that requires exclusive ownership. | Dispose the prior session or use an isolated factory per independently owned renderer. |
INERTIAX_TABLE_INTEGRATION_SESSION_DISPOSED |
Integration-session methods were called after disposal. | Trace component unmount and retained callbacks; stop using the stale session. |
INERTIAX_TABLE_INTEGRATION_FACTORY_DISPOSED |
A session or envelope read was requested after factory disposal. | Keep factory lifetime at least as long as all sessions, or construct a new factory. |
INERTIAX_TABLE_INTEGRATION_REQUEST_DUPLICATE |
The adapter received the same request ID more than once. | Inspect controller sharing and dispatch plumbing; dispatch each coordinator request exactly once. |
INERTIAX_TABLE_INTEGRATION_REQUEST_UNKNOWN |
An update or cancellation references a request the integration does not own. | Inspect request IDs/revisions and adapter bookkeeping; do not synthesize or cross-route update IDs. |
INERTIAX_TABLE_INTEGRATION_REQUEST_CANCELLED |
A request was superseded or the owning session was disposed. | Inspect the cancellation reason. Superseded requests are expected; suppress stale results and allow the latest request to finish. |
INERTIAX_TABLE_INTEGRATION_DISPATCH_FAILED |
The integration could not dispatch or obtain a valid result. | Inspect the nested cause, network/server response, and produced envelope before retrying. |
INERTIAX_TABLE_INTEGRATION_LOCATION_UNSUPPORTED |
Location behavior was requested from an integration whose capabilities do not include it. | Check capabilities.location; omit location wiring or implement the full location session contract. |
| Code | Meaning and common cause | Inspect and correct |
|---|---|---|
INERTIAX_REACT_PROVIDER_MISSING |
A React renderer or hook is outside InertiaXProvider. |
Put one provider around the application/page tree before rendering InertiaX components. |
INERTIAX_REACT_RUNTIME_OWNERSHIP_INVALID |
Provider/renderer runtime ownership options conflict, commonly mixing an external runtime with owned runtime options. | Inspect runtime, runtimeOptions, and provider nesting; choose exactly one clear owner and dispose external runtimes yourself. |
INERTIAX_REACT_TABLE_SCOPE_MISSING |
A Table hook or built-in UI rendered outside TableRenderer’s component scope. |
Inspect the component tree; keep Table hooks, regions, cells, and filters below the matching Table renderer. |
INERTIAX_REACT_TABLE_PROJECTION_INVALID |
Protocol rows/columns/state cannot be projected safely into TanStack Table. | Inspect component ID and message for missing/duplicate column IDs, unsafe row IDs, or invalid controlled state; correct the producer or custom column definitions. |
INERTIAX_REACT_TABLE_CUSTOMIZATION_INVALID |
Theme, text, region, renderer, input, or event customization has an invalid key, operation, or value. | Inspect the named customization path and public customization types; use supported add/replace/remove semantics and valid React functions. |
React-Inertia
Section titled “React-Inertia”| Code | Meaning and common cause | Inspect and correct |
|---|---|---|
INERTIAX_INERTIA_CONFIGURATION_INVALID |
The Inertia adapter was constructed with invalid prop, router, capability, or ownership options. | Inspect adapter options and keep one factory/provider owner for the page lifetime. |
INERTIAX_INERTIA_PROP_MISSING |
The named Inertia page prop does not exist. | Inspect browser page props and match <InertiaX prop="users" /> with the Laravel prop name. |
INERTIAX_INERTIA_PROP_INVALID |
The named prop exists but is not a valid InertiaX envelope. | Inspect the nested protocol error and full prop value; return the complete Table response from Laravel. |
INERTIAX_INERTIA_COMPONENT_MISMATCH |
The prop, session, reload result, or update belongs to another component ID. | Compare the prop name, Table ID, partial reload key, and response component ID. |
INERTIAX_INERTIA_SESSION_EXISTS |
A second live adapter session claimed the same prop/component. | Dispose the prior renderer or isolate ownership instead of mounting competing owners for one Table. |
INERTIAX_INERTIA_SESSION_DISPOSED |
A reload or subscription operation targeted a disposed adapter session. | Remove callbacks retained beyond unmount and use the current rendered session. |
INERTIAX_INERTIA_FACTORY_DISPOSED |
A prop read/session creation targeted a disposed adapter factory. | Align provider/factory lifetime with all rendered Tables or create a new factory. |
INERTIAX_INERTIA_REQUEST_DUPLICATE |
The same Table request was dispatched more than once through Inertia. | Inspect controller sharing and adapter dispatch; preserve one dispatch per request ID. |
INERTIAX_INERTIA_REQUEST_CANCELLED |
Inertia cancelled a visit because it was superseded or the session was disposed. | Inspect request ID and cancellation reason; treat a superseded visit as expected and wait for the latest intent. |
INERTIAX_INERTIA_RELOAD_FAILED |
The partial reload failed, returned no usable prop, or produced an invalid envelope. | Inspect the cause, network response, Laravel logs, requested prop, and returned protocol diagnostics. |
Laravel exceptions
Section titled “Laravel exceptions”Laravel exceptions include the Table ID, class, lifecycle phase, source kind, feature key/type, state path, or protocol diagnostic whenever that context exists. Read that context before changing the query or definition.
| Exception | Meaning and common cause | Inspect and correct |
|---|---|---|
InertiaXException |
Base class for Laravel failures. A concrete subclass normally gives the actionable boundary. | Inspect the concrete class, full message, and previous exception. Catch the base only when adding application-wide reporting. |
ColumnDefinitionException |
Column preparation or definition validation failed, such as a duplicate/invalid key or unsupported option. | Inspect the Table/phase and offending Column definition; correct authoring or auto-column inference inputs. |
ComponentIdentityException |
A component property name cannot serve as the component ID and query namespace. | Use 1–64 characters, beginning with an ASCII letter and followed only by letters, numbers, _, or -; keep it stable and page-unique. |
DataSourceException |
The Table could not resolve or use its Eloquent/Collection data source. | Inspect resolveDataSource, source capability, and previous exception; return a supported builder/Collection from data(). |
DeferredCallbackException |
A user callback could not be reflected, injected, invoked, or returned an acceptable value. | Inspect surface, phase, feature, source kind, and previous exception; correct the callback signature and return contract. |
DefinitionCompositionException |
Layered add/replace/remove/clear definition composition is invalid. | Inspect the operation sequence for duplicate additions, missing replacement/removal targets, or invalid contributed definitions. |
FilterDefinitionException |
A Filter/Clause definition or option source is invalid for its type/source. | Inspect filter key/type, phase, source capability, and previous exception; correct clauses, options, validators, or source declarations. |
FilterStateException |
Submitted filter structure/value is invalid or cannot be applied. | Inspect filter path, key, Clause, source, and reason; send state within depth/count/type/option limits. |
PaginationStateException |
Submitted page/page-size state is invalid or incompatible with Table options. | Inspect pagination path and configured page-size options; use positive one-based pages and an allowed size. |
ProducedProtocolException |
Final Laravel output failed schema/semantic validation or JSON serialization. | Inspect path(), keyword(), all diagnostics, component/version, and the producer/transformer at that path. |
RowIdentityException |
A row key is missing, duplicated, non-scalar, or unsafe for JavaScript identity. | Inspect row index/key; provide unique string or JavaScript-safe integer identities, stringifying large database IDs. |
SearchStateException |
Search input has an invalid type, exceeds the length limit, conflicts with another search parameter, or cannot be applied to the source. | Inspect the search path, source, and searchable columns; see Search limits. |
SortingStateException |
Sort state has invalid keys/directions/duplicates or cannot be applied. | Inspect sort path/source and sortable Columns; use unique keys. For source-owned ordering, disable Table sorting. |
SourceCapabilityException |
A custom operation was invoked for an Eloquent/Collection source it did not declare or support. | Inspect operation, feature, actual source, and declared capabilities; implement that source or narrow the Table/data definition. |
ComingSoonException |
A dormant compatibility exception indicates an intentionally unavailable legacy feature surface. Current Table paths do not throw it. | If application code references it, remove reliance on the unavailable surface and use documented Table APIs. |
Request help
Section titled “Request help”For account, support, or security-specific help, reply to your access email.
Include:
- the first InertiaX code or Laravel exception class and complete message;
- the first protocol diagnostic/path, Table ID, and request ID;
- installed InertiaX package versions and matched Inertia server/client generation;
- Laravel, PHP, Node, browser, and package-manager versions;
- Eloquent or Collection source kind and a minimized Table definition/state;
- the failing operation, approximate timestamp/time zone, and whether it reproduces locally, in CI, or in production.
Before sending, replace credentials, authorization/cookie headers, account-specific registry URLs,
private hostnames, user/tenant identifiers, and row values with clear redaction markers. Do not
attach auth.json, .npmrc, environment dumps, lockfile credentials, screenshots containing
tokens, or an unredacted database payload. For a security report, describe the impact and affected
version in the access-email thread and avoid public disclosure of exploit details.