Conversation
|
Warning Rate limit exceeded@coji has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 28 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR upgrades dependencies and import paths across the codebase: replaces Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Upgrade zod from v3.25.64 to v4.3.5 - Replace zodix with @coji/zodix for Zod v4 support - Update imports to use @conform-to/zod/v4 and @coji/zodix/v4 - Update CLAUDE.md with new import paths - Remove deprecated required_error parameter from z.enum() Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
80cb614 to
bec75a3
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
app/routes/admin+/$organization.settings/types.ts (1)
16-17: LGTM! Correct removal of deprecated parameter.The
required_errorparameter has been removed as it's deprecated in Zod v4. Error messages will now use Zod's default validation messages for enum fields.If custom error messages are desired, you can migrate to Zod v4's unified
errorparameter:♻️ Optional: Add custom error messages using v4 syntax
export const integrationSettingsSchema = z.object({ id: z.string().optional(), - provider: z.enum(['github']), - method: z.enum(['token']), + provider: z.enum(['github'], { + error: (issue) => { + if (issue.code === 'invalid_enum_value' || issue.code === 'invalid_type') { + return 'provider is required'; + } + }, + }), + method: z.enum(['token'], { + error: (issue) => { + if (issue.code === 'invalid_enum_value' || issue.code === 'invalid_type') { + return 'method is required'; + } + }, + }), privateToken: z.string().min(1, { message: 'private token is required' }), })
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (25)
CLAUDE.mdapp/routes/_dashboard+/$organization._index/route.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.members/route.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.settings/types.tsapp/routes/admin+/create/route.tsxpackage.json
🧰 Additional context used
📓 Path-based instructions (7)
**/{routes,server,entry}/**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use React Router v7 in SSR mode with Express server for the web framework
Files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxapp/routes/admin+/$organization.settings/types.tsapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
app/routes/**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
app/routes/**/*.{ts,tsx}: Use file-based routing with remix-flat-routes convention using the+folder syntax for organizing routes
Use intent-based form action dispatch with ts-pattern for routes with multiple form actions
Files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxapp/routes/admin+/$organization.settings/types.tsapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use
~/path alias prefix for imports from theapp/directory
Files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxapp/routes/admin+/$organization.settings/types.tsapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
**/{routes,services}/**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Use Conform with Zod for type-safe form validation and parsing
Files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxapp/routes/admin+/$organization.settings/types.tsapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
**/*.server.ts
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.server.ts: Use.server.tsfile suffix for server-only code that won't be bundled for the client
Use Kysely query builder for type-safe database operations with types generated from the database schema
Files:
app/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.ts
**/*.action.server.ts
📄 CodeRabbit inference engine (CLAUDE.md)
Use
.action.server.tssuffix for form action handler files in server-side code
Files:
app/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.ts
app/routes/**/$*.tsx
📄 CodeRabbit inference engine (CLAUDE.md)
Use
$paramsyntax for dynamic route segments and$organization.settings/pattern for nested route folders
Files:
app/routes/admin+/$organization.repositories.tsx
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to **/{routes,services}/**/*.{ts,tsx} : Use Conform with Zod for type-safe form validation and parsing
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to app/routes/**/$*.tsx : Use `$param` syntax for dynamic route segments and `$organization.settings/` pattern for nested route folders
Applied to files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxCLAUDE.mdapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to app/routes/**/_*.tsx : Use `_layout.tsx` for layout routes without URL segments and `_index.tsx` for index routes in remix-flat-routes convention
Applied to files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/create/route.tsxapp/routes/_dashboard+/$organization.ongoing/route.tsxapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.members/route.tsx
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to app/routes/**/*.{ts,tsx} : Use file-based routing with remix-flat-routes convention using the `+` folder syntax for organizing routes
Applied to files:
app/routes/_dashboard+/$organization._index/route.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.repositories._index/route.tsxapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxapp/routes/admin+/$organization.repositories.tsxCLAUDE.mdapp/routes/admin+/$organization.repositories.$repository.$pull/route.tsxapp/routes/admin+/$organization.members/route.tsx
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to **/{routes,services}/**/*.{ts,tsx} : Use Conform with Zod for type-safe form validation and parsing
Applied to files:
app/routes/admin+/$organization.settings/forms/export-settings.tsxapp/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/export-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/delete-organization.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.repositories.$repository._index/route.tsxpackage.jsonapp/routes/admin+/$organization.settings/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.$repository.delete/route.tsxapp/routes/_dashboard+/$organization/route.tsxapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsxCLAUDE.mdapp/routes/admin+/$organization.settings/forms/organization-settings.tsxapp/routes/admin+/$organization.members/route.tsx
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to app/routes/**/*.{ts,tsx} : Use intent-based form action dispatch with ts-pattern for routes with multiple form actions
Applied to files:
app/routes/admin+/create/route.tsxapp/routes/admin+/$organization.repositories.$repository.settings/route.tsxCLAUDE.md
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to **/{routes,server,entry}/**/*.{ts,tsx} : Use React Router v7 in SSR mode with Express server for the web framework
Applied to files:
app/routes/admin+/create/route.tsxapp/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization._layout/route.tsxapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.repositories.add/route.tsx
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to **/{auth.server,*.auth}.ts : Use better-auth with Google OAuth for authentication, supporting organizations
Applied to files:
app/routes/admin+/$organization.settings/forms/delete-organization.action.server.tsapp/routes/admin+/$organization.settings/forms/integration-settings.action.server.tsapp/routes/admin+/$organization.settings/forms/organization-settings.action.server.ts
📚 Learning: 2026-01-10T09:39:54.188Z
Learnt from: CR
Repo: coji/upflow PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-10T09:39:54.188Z
Learning: Applies to app/components/**/*.{ts,tsx} : Use shadcn/ui components (new-york style) with Tailwind CSS v4 for UI
Applied to files:
app/routes/admin+/$organization.repositories.$repository.settings/route.tsx
🔇 Additional comments (26)
app/routes/admin+/$organization._layout/route.tsx (1)
1-1: LGTM! Import path correctly updated to Zod v4 compatible package.The migration from
zodixto@coji/zodix/v4is correctly applied, and the API usage remains unchanged.app/routes/admin+/$organization.repositories.$repository.delete/route.tsx (1)
1-1: LGTM! Import path correctly migrated to @coji/zodix/v4.The package migration is properly applied with no changes to the API usage pattern.
app/routes/admin+/$organization.settings/forms/delete-organization.action.server.ts (1)
1-1: LGTM! Conform import path correctly updated to v4.The migration to
@conform-to/zod/v4is properly applied with no functional changes.app/routes/admin+/$organization.repositories._index/route.tsx (1)
1-1: LGTM! Import successfully migrated to @coji/zodix/v4.The package path update is correct and maintains API compatibility.
app/routes/_dashboard+/$organization.ongoing/route.tsx (1)
1-1: Import migration to Zod v4 is complete and correct.The import path at line 1 has been correctly updated to
@coji/zodix/v4, and verification confirms no old zodix or @conform-to/zod imports remain anywhere in the codebase. All migrations are consistent and type-safe parameter parsing is properly implemented.app/routes/admin+/$organization.repositories.$repository._index/route.tsx (1)
1-1: LGTM! Import path correctly updated for v4 migration.The import path change from
'zodix'to'@coji/zodix/v4'is consistent with the PR's Zod v4 upgrade strategy.app/routes/admin+/$organization.repositories.tsx (1)
1-1: LGTM! Import path correctly updated for v4 migration.The import path change from
'zodix'to'@coji/zodix/v4'aligns with the PR's dependency migration strategy.app/routes/admin+/$organization.settings/forms/export-settings.action.server.ts (1)
1-1: LGTM! Import path correctly updated for v4 migration.The import path change from
'@conform-to/zod'to'@conform-to/zod/v4'is consistent with the PR's migration to Zod v4.app/routes/_dashboard+/$organization._index/route.tsx (2)
1-1: LGTM! Import path correctly updated for v4 migration.The import path change from
'zodix'to'@coji/zodix/v4'aligns with the PR's Zod v4 upgrade strategy.
26-29: LGTM! Default value usage is compatible with Zod v4.The
.default(2.0)usage on the optional number schema is correctly structured for Zod v4, where default values must match the output type.package.json (2)
27-27: @coji/zodix@0.7.0 is compatible with zod@4.3.5 and provides the /v4 subpath export.The package exports ./v4 subpath as expected and declares peer dependency on zod ^3.25.0 || ^4.0.0, supporting the zod@4.3.5 version specified in the project.
29-29: @conform-to/zod@1.15.1 fully supports the /v4 subpath export.The package exports include the
./v4subpath, and the codebase successfully uses it across multiple routes and services with compatible peer dependencies (Zod 4.3.5).app/routes/admin+/$organization.settings/forms/export-settings.tsx (1)
1-3: Good switch to@conform-to/zod/v4for Conform validation. (Line 2)app/routes/admin+/$organization.members/route.tsx (1)
1-3:@coji/zodix/v4import +zx.parseParamsusage is consistent with the Zod v4 upgrade. (Line 1)app/routes/admin+/$organization.settings/forms/organization-settings.action.server.ts (1)
1-12: Action-side parsing migration to@conform-to/zod/v4is fine; keeps Conform submission flow intact. (Line 1, Line 11)app/routes/admin+/$organization.settings/forms/organization-settings.tsx (1)
1-9: Component-side Conform validation correctly moved to@conform-to/zod/v4. (Line 7)app/routes/admin+/$organization.repositories.$repository.settings/route.tsx (1)
1-11: Zod v4 / zodix v4 imports are correct. Import migration is complete across the codebase with no legacy imports remaining. Lines 1 and 8 are properly updated and consistent with all other route files.app/routes/_dashboard+/$organization/route.tsx (1)
1-1: LGTM! Import path updated to @coji/zodix/v4.The import path change aligns with the Zod v4 upgrade. The usage of
zx.parseParamsremains compatible with the v4 API.app/routes/admin+/$organization.settings/forms/delete-organization.tsx (1)
2-2: LGTM! Import path updated to @conform-to/zod/v4.The import path change aligns with the Zod v4 upgrade and @conform-to/zod's v4 support. The client-side validation using
parseWithZodin theonValidatecallback remains compatible with the v4 API.app/routes/admin+/$organization.settings/route.tsx (1)
1-1: LGTM! Import path updated to @coji/zodix/v4.The import path change aligns with the Zod v4 upgrade. Both
zx.parseParamsandzx.parseFormusage patterns remain compatible with the v4 API, andintentsSchemauses proper Zod v4 syntax with no deprecated features.app/routes/admin+/$organization.settings/forms/integration-settings.action.server.ts (1)
1-1: I don't have a review comment to rewrite. Please provide the review comment (within<review_comment>tags) along with any relevant code context so I can verify and rewrite it in the required format.app/routes/admin+/$organization.repositories.$repository.$pull/route.tsx (1)
1-1: LGTM! Import and API usage are correct.The
zx.NumAsStringhelper is available in @coji/zodix v0.7.0 and is properly used inzx.parseParamsat line 33 for type-safe parameter parsing.CLAUDE.md (1)
142-143: LGTM! Documentation updated correctly.The import paths have been updated to reference the v4 variants, which accurately reflects the library upgrade and provides correct examples for developers.
app/routes/admin+/$organization.settings/forms/integration-settings.tsx (1)
7-7: LGTM! Import path updated correctly.The migration to
@conform-to/zod/v4is correct and consistent with the Zod v4 upgrade.app/routes/admin+/create/route.tsx (1)
2-2: LGTM! Import path updated correctly.The migration to
@conform-to/zod/v4is correct and maintains compatibility with existing usage.app/routes/admin+/$organization.repositories.add/route.tsx (1)
1-2: LGTM! Import paths updated correctly.Both imports have been successfully migrated to their v4 equivalents:
@coji/zodix/v4for zodix functionality@conform-to/zod/v4for Conform integrationThe usage throughout the file remains compatible.
Summary
zodixwith@coji/zodixfor Zod v4 support@conform-to/zod/v4and@coji/zodix/v4Breaking Changes
z.enum()no longer acceptsrequired_errorparameter (removed in Zod v4)Test plan
pnpm typecheckpassespnpm buildpassespnpm testpasses (25 tests)References
🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Changes
✏️ Tip: You can customize this high-level summary in your review settings.