Merged
Conversation
Contributor
|
Too many files changed for review. ( |
Contributor
There was a problem hiding this comment.
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/viteVite plugin integration and switch JS dependencies to localfile: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_railsand adjust a UI integration (layercharttooltip 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.
This was referenced Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Inertia 3 has performance regressions and the result is so bad that we haven't even been running off the latest
maincommit for some time.