Skip to content

fix: preserve field paths and messages in embedded array errors - #2946

Merged
zachdaniel merged 2 commits into
ash-project:mainfrom
Alt-iOS:preserve-full-path
Sep 22, 2026
Merged

zachdaniel merged 2 commits into
ash-project:mainfrom
Alt-iOS:preserve-full-path

Conversation

@Alt-iOS

@Alt-iOS Alt-iOS commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Normalize raw casting and constraint errors in the simple embedded-array fast path using the same exception options as ordinary changesets. Preserve the leaf field, row and nested paths, message template, interpolation variables, and original value without routing successful casts through the full lifecycle.

Keep existing exception semantics and fail-fast behavior. Add regression coverage for scalar and nested map errors, parent attributes and arguments, required fields, multiple errors, and prebuilt exceptions.

Contributor checklist

Leave anything that you believe does not apply unchecked.

  • I accept the AI Policy, or AI was not used in the creation of this PR.
  • Bug fixes include regression tests
  • Chores
  • Documentation changes
  • Features include unit/acceptance tests
  • Refactoring
  • Update dependencies

Normalize raw casting and constraint errors in the simple embedded-array fast path using the same exception options as ordinary changesets. Preserve the leaf field, row and nested paths, message template, interpolation variables, and original value without routing successful casts through the full lifecycle.

Keep existing exception semantics and fail-fast behavior. Add regression coverage for scalar and nested map errors, parent attributes and arguments, required fields, multiple errors, and prebuilt exceptions.
@zachdaniel
zachdaniel merged commit 4b1a784 into ash-project:main Sep 22, 2026
43 of 51 checks passed
@zachdaniel

Copy link
Copy Markdown
Contributor

🚀 Thank you for your contribution! 🚀

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