Bump react-resizable-panels to v4 and zod to v4#781
Conversation
Migrates PanelGroup/PanelResizeHandle to Group/Separator with the orientation prop, updates ZodError.errors references to .issues, and bumps @hookform/resolvers to v5.4.0 (v4.1.3 typechecks but silently fails to detect zod v4 validation errors at runtime). Adds a fully parameterized asZodType<T> cast so drizzle-zod schemas satisfy the resolver's FieldValues constraint. Fixes #778, Fixes #777
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea33e2aff6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <ResizablePrimitive.Separator | ||
| className={cn( | ||
| "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90", | ||
| "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 aria-[orientation=vertical]:h-px aria-[orientation=vertical]:w-full aria-[orientation=vertical]:after:left-0 aria-[orientation=vertical]:after:h-1 aria-[orientation=vertical]:after:w-full aria-[orientation=vertical]:after:-translate-y-1/2 aria-[orientation=vertical]:after:translate-x-0 [&[aria-orientation=vertical]>div]:rotate-90", |
There was a problem hiding this comment.
Style the vertical separator as a vertical handle
When ResizablePanelGroup is used with the default/horizontal orientation, react-resizable-panels v4 renders the splitter itself with aria-orientation="vertical". This selector now applies the horizontal-line styles (h-px w-full and rotated grip) to that state, so normal side-by-side split panes get a full-width horizontal handle instead of the previous 1px vertical divider; the horizontal-line styles should target aria-orientation="horizontal" instead.
Useful? React with 👍 / 👎.
|
|
Warning Gemini encountered an error creating the review. You can try again by commenting |


Description
Combines the Dependabot bumps for
react-resizable-panels(2.x → 4.x, #778) andzod(v3 → v4, #777) into a single PR, since the zod v4 migration required touching@hookform/resolversas well and the two changes overlap in the same form-handling code paths.react-resizable-panelsv4: migratedPanelGroup/PanelResizeHandletoGroup/Separator,directionprop toorientation, and updated the correspondingdata-panel-group-direction/data-panel-resize-handle-*attribute selectors inclient/src/components/ui/resizable.tsx.zodv4: renamedZodError.errorsto.issuesacrossserver/routes.ts,server/routes/import.ts,server/config.ts,server/config-loader.ts.@hookform/resolversbumped from v3 to v5.4.0 (not v4): v4.1.3 satisfies the type surface but silently fails to detect zod v4 validation errors at runtime (its internal duck-typing check assumesZodError.errors, which no longer exists), causing form validation to break silently. v5.4.0 was verified to fix the actual runtime behavior, confirmed via the previously-failingSetupPagetest.asZodType<T>(schema): z.ZodType<T, T>cast inclient/src/lib/utils.tsso drizzle-zod-generated schemas satisfy the resolver'sFieldValuestype constraint (the single-type-param version leftInputasunknown, which v5's stricter resolver typing rejects).Fixes #778
Fixes #777
Type of change
Checklist
npm run checkandnpm run buildpass locally