Skip to content

Moving back to Inertia 2#1156

Merged
skyfallwastaken merged 6 commits intomainfrom
inertia2
Apr 13, 2026
Merged

Moving back to Inertia 2#1156
skyfallwastaken merged 6 commits intomainfrom
inertia2

Conversation

@skyfallwastaken
Copy link
Copy Markdown
Member

Inertia 3 has performance regressions and the result is so bad that we haven't even been running off the latest main commit for some time.

Copilot AI review requested due to automatic review settings April 13, 2026 08:07
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 13, 2026

Too many files changed for review. (111 files found, 100 file limit)

Comment thread vendor/inertia/packages/svelte/dist/components/Render.svelte.d.ts Dismissed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR rolls the app back from Inertia 3 to an Inertia 2.x codebase (vendored into vendor/inertia) to avoid the performance regressions observed on the newer major version.

Changes:

  • Remove the @inertiajs/vite Vite plugin integration and switch JS dependencies to local file: vendored Inertia packages.
  • Update CSR + SSR entrypoints to the Inertia 2 Svelte adapter APIs (including starting an SSR server via @inertiajs/svelte/server).
  • Downgrade inertia_rails and adjust a UI integration (layerchart tooltip slot usage) to match the older dependency set.

Reviewed changes

Copilot reviewed 6 out of 111 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vite.config.ts Removes @inertiajs/vite plugin usage from Vite config.
package.json Switches @inertiajs/* deps to local vendored packages; adjusts related JS deps.
Gemfile Downgrades inertia_rails requirement to ~> 3.17.
Gemfile.lock Locks gems to versions compatible with the downgraded inertia_rails.
app/javascript/entrypoints/inertia.ts Updates client bootstrapping to use resolve + import.meta.glob for Inertia 2 adapter.
app/javascript/ssr/ssr.ts Updates SSR bootstrapping to start an SSR server and render via svelte/server.
app/javascript/pages/Home/signedIn/ProjectTimelineChart.svelte Adjusts tooltip slot/snippet usage for downgraded layerchart.
vendor/inertia/packages/core/package.json Adds vendored @inertiajs/core v2.3.14 package metadata.
vendor/inertia/packages/core/dist/server.js Vendored Inertia core SSR server implementation.
vendor/inertia/packages/core/dist/server.js.map Sourcemap for vendored SSR server bundle.
vendor/inertia/packages/core/types/index.d.ts Vendored core public type exports.
vendor/inertia/packages/core/types/types.d.ts Vendored core type definitions (Visit API, config, etc.).
vendor/inertia/packages/core/types/router.d.ts Vendored router API types.
vendor/inertia/packages/core/types/server.d.ts Vendored server entry type definitions.
vendor/inertia/packages/core/types/ssrErrors.d.ts Vendored SSR error classification types.
vendor/inertia/packages/core/types/ssrUtils.d.ts Vendored SSR HTML assembly helper types.
vendor/inertia/packages/core/types/url.d.ts Vendored URL/querystring helper types.
vendor/inertia/packages/core/types/useFormUtils.d.ts Vendored form argument parsing helper types.
vendor/inertia/packages/core/types/http.d.ts Vendored HTTP client façade types.
vendor/inertia/packages/core/types/httpErrors.d.ts Vendored HTTP error types.
vendor/inertia/packages/core/types/httpHandlers.d.ts Vendored HTTP handler middleware types.
vendor/inertia/packages/core/types/xhrHttpClient.d.ts Vendored XHR client type definitions.
vendor/inertia/packages/core/types/axiosHttpClient.d.ts Vendored Axios adapter type definitions.
vendor/inertia/packages/core/types/config.d.ts Vendored config container types.
vendor/inertia/packages/core/types/history.d.ts Vendored history/session types.
vendor/inertia/packages/core/types/page.d.ts Vendored current page singleton types.
vendor/inertia/packages/core/types/events.d.ts Vendored event firing function types.
vendor/inertia/packages/core/types/eventHandler.d.ts Vendored global/internal event handler types.
vendor/inertia/packages/core/types/navigationEvents.d.ts Vendored navigation interception helper types.
vendor/inertia/packages/core/types/navigationType.d.ts Vendored navigation timing helper types.
vendor/inertia/packages/core/types/progress.d.ts Vendored progress indicator types.
vendor/inertia/packages/core/types/progress-component.d.ts Vendored progress component API types.
vendor/inertia/packages/core/types/scroll.d.ts Vendored scroll persistence types.
vendor/inertia/packages/core/types/sessionStorage.d.ts Vendored session storage helper types.
vendor/inertia/packages/core/types/request.d.ts Vendored request orchestration types.
vendor/inertia/packages/core/types/requestParams.d.ts Vendored request parameter tracking types.
vendor/inertia/packages/core/types/requestStream.d.ts Vendored request stream concurrency types.
vendor/inertia/packages/core/types/response.d.ts Vendored response processing types.
vendor/inertia/packages/core/types/queue.d.ts Vendored queue helper types.
vendor/inertia/packages/core/types/queryString.d.ts Vendored query string parse/stringify types.
vendor/inertia/packages/core/types/time.d.ts Vendored cache time parsing helper types.
vendor/inertia/packages/core/types/debounce.d.ts Vendored debounce helper type.
vendor/inertia/packages/core/types/debug.d.ts Vendored debug helper type.
vendor/inertia/packages/core/types/dialog.d.ts Vendored modal/dialog helper type.
vendor/inertia/packages/core/types/domUtils.d.ts Vendored DOM helper types.
vendor/inertia/packages/core/types/encryption.d.ts Vendored history encryption helper types.
vendor/inertia/packages/core/types/files.d.ts Vendored file detection helper types.
vendor/inertia/packages/core/types/formData.d.ts Vendored object->FormData helper types.
vendor/inertia/packages/core/types/formObject.d.ts Vendored FormData->object helper types.
vendor/inertia/packages/core/types/objectUtils.d.ts Vendored object comparison helper type.
vendor/inertia/packages/core/types/initialVisit.d.ts Vendored initial visit behavior types.
vendor/inertia/packages/core/types/resetFormFields.d.ts Vendored form reset helper types.
vendor/inertia/packages/core/types/intersectionObservers.d.ts Vendored IntersectionObserver manager types.
vendor/inertia/packages/core/types/layout.d.ts Vendored layout normalization/props store types.
vendor/inertia/packages/core/types/infiniteScroll.d.ts Vendored infinite scroll API types.
vendor/inertia/packages/core/types/infiniteScroll/data.d.ts Vendored infinite scroll data manager types.
vendor/inertia/packages/core/types/infiniteScroll/elements.d.ts Vendored infinite scroll element manager types.
vendor/inertia/packages/core/types/infiniteScroll/queryString.d.ts Vendored infinite scroll URL sync types.
vendor/inertia/packages/core/types/infiniteScroll/scrollPreservation.d.ts Vendored infinite scroll scroll-preservation types.
vendor/inertia/packages/svelte/package.json Adds vendored @inertiajs/svelte v2.3.14 package metadata.
vendor/inertia/packages/svelte/dist/index.js Vendored Svelte adapter public runtime exports.
vendor/inertia/packages/svelte/dist/index.d.ts Vendored Svelte adapter public type exports.
vendor/inertia/packages/svelte/dist/createInertiaApp.js Vendored Svelte adapter app bootstrap logic (CSR/SSR).
vendor/inertia/packages/svelte/dist/createInertiaApp.d.ts Vendored Svelte adapter createInertiaApp typings.
vendor/inertia/packages/svelte/dist/server.js Vendored @inertiajs/svelte/server re-export.
vendor/inertia/packages/svelte/dist/server.d.ts Vendored @inertiajs/svelte/server type re-export.
vendor/inertia/packages/svelte/dist/types.js Vendored adapter types module runtime stub.
vendor/inertia/packages/svelte/dist/types.d.ts Vendored adapter shared type definitions (layouts, resolver types).
vendor/inertia/packages/svelte/dist/page.svelte.js Vendored global page store implementation.
vendor/inertia/packages/svelte/dist/page.svelte.d.ts Vendored global page store typings.
vendor/inertia/packages/svelte/dist/link.js Vendored inertia action implementation.
vendor/inertia/packages/svelte/dist/link.d.ts Vendored inertia action typings.
vendor/inertia/packages/svelte/dist/layoutProps.svelte.js Vendored layout props store integration.
vendor/inertia/packages/svelte/dist/layoutProps.svelte.d.ts Vendored layout props store typings.
vendor/inertia/packages/svelte/dist/useForm.svelte.js Vendored useForm implementation.
vendor/inertia/packages/svelte/dist/useForm.svelte.d.ts Vendored useForm typings.
vendor/inertia/packages/svelte/dist/useFormState.svelte.js Vendored internal form state management.
vendor/inertia/packages/svelte/dist/useFormState.svelte.d.ts Vendored internal form state typings.
vendor/inertia/packages/svelte/dist/useHttp.svelte.js Vendored useHttp implementation.
vendor/inertia/packages/svelte/dist/useHttp.svelte.d.ts Vendored useHttp typings.
vendor/inertia/packages/svelte/dist/usePoll.js Vendored usePoll implementation.
vendor/inertia/packages/svelte/dist/usePoll.d.ts Vendored usePoll typings.
vendor/inertia/packages/svelte/dist/usePrefetch.svelte.js Vendored usePrefetch implementation.
vendor/inertia/packages/svelte/dist/usePrefetch.svelte.d.ts Vendored usePrefetch typings.
vendor/inertia/packages/svelte/dist/useRemember.svelte.js Vendored useRemember implementation.
vendor/inertia/packages/svelte/dist/useRemember.svelte.d.ts Vendored useRemember typings.
vendor/inertia/packages/svelte/dist/components/App.svelte Vendored root Inertia App component (Svelte adapter).
vendor/inertia/packages/svelte/dist/components/App.svelte.d.ts Vendored App component typings.
vendor/inertia/packages/svelte/dist/components/Render.svelte Vendored recursive renderer for layouts/components.
vendor/inertia/packages/svelte/dist/components/Render.svelte.d.ts Vendored Render typings (incl. h).
vendor/inertia/packages/svelte/dist/components/Link.svelte Vendored Link component wrapper for the inertia action.
vendor/inertia/packages/svelte/dist/components/Link.svelte.d.ts Vendored Link component typings.
vendor/inertia/packages/svelte/dist/components/Form.svelte Vendored Form component wrapper (incl. Precognition hooks).
vendor/inertia/packages/svelte/dist/components/Form.svelte.d.ts Vendored Form component typings.
vendor/inertia/packages/svelte/dist/components/formContext.js Vendored form context helpers.
vendor/inertia/packages/svelte/dist/components/formContext.d.ts Vendored form context typings.
vendor/inertia/packages/svelte/dist/components/createForm.js Vendored helper to create a typed Form component.
vendor/inertia/packages/svelte/dist/components/createForm.d.ts Vendored createForm typings.
vendor/inertia/packages/svelte/dist/components/Deferred.svelte Vendored Deferred component implementation.
vendor/inertia/packages/svelte/dist/components/Deferred.svelte.d.ts Vendored Deferred typings.
vendor/inertia/packages/svelte/dist/components/WhenVisible.svelte Vendored WhenVisible component implementation.
vendor/inertia/packages/svelte/dist/components/WhenVisible.svelte.d.ts Vendored WhenVisible typings.
vendor/inertia/packages/svelte/dist/components/InfiniteScroll.svelte Vendored InfiniteScroll component implementation.
vendor/inertia/packages/svelte/dist/components/InfiniteScroll.svelte.d.ts Vendored InfiniteScroll typings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/javascript/entrypoints/inertia.ts
Comment thread app/javascript/ssr/ssr.ts
@skyfallwastaken skyfallwastaken enabled auto-merge (squash) April 13, 2026 19:27
@skyfallwastaken skyfallwastaken merged commit 15c1454 into main Apr 13, 2026
14 checks passed
@skyfallwastaken skyfallwastaken deleted the inertia2 branch April 13, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants