-
Notifications
You must be signed in to change notification settings - Fork 186
chore!: Use Jackson for all JSON deserialization in codecs #22393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
8f62202
to
bd3726a
Compare
TC Format Checker Report - 17:32 - 01 - Oct
Here is the list of files with format issues in your PR:
|
Simplify JacksonCodec and JsonCodec by using Jackson for all type deserialization instead of custom primitive type handling. This provides consistent behavior and better error messages but removes lenient type conversions (e.g., boolean to integer). Update tests to match Jackson's stricter type conversion behavior and rename misleading test methods. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
bd3726a
to
5396b73
Compare
Test Results1 206 files - 62 1 206 suites - 62 1h 13m 3s ⏱️ - 2m 55s For more details on these failures and errors, see this check. Results for commit e2b14a4. ± Comparison against base commit f0cacb7. This pull request removes 480 and adds 2 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
…rn values Previously, JavaScript Error objects returned as success values would be silently converted to empty strings when the Java callback expected String.class. This was confusing and led to silent data loss. Now Error objects that cannot be converted to the expected type properly trigger the error handler with a clear exception message, providing better debugging information and encouraging proper error handling. Breaking change: Applications relying on Error objects becoming empty strings will now receive error callbacks instead. This is intentional to improve type safety and debugging. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Updated comments in JavaScriptReturnValueIT to explain what the code does and why, rather than referencing how it used to work vs how it works now. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…of silent conversion Changed nullValueAreAcceptedForPrimitive test to nullValueShouldFailForPrimitive to verify that passing null to primitive parameters correctly throws an exception instead of silently converting to default values. This maintains Jackson's strict type checking behavior which is better for debugging and prevents silent data corruption. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…rimitive data The mappedDomEvent_fire_missingData test now correctly expects that when DOM event data is missing required primitive boolean fields, an exception should be thrown rather than silently defaulting to false. This maintains consistency with our fail-fast approach for type safety. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
All ComponentEventBusTest methods now provide complete event data including required primitive boolean fields to prevent Jackson deserialization failures. Added helper methods: - createCompleteEventData(): Creates full event data with all required fields - createMinimalEventData(): Creates minimal valid event data for tests that don't care about specific values This maintains our fail-fast approach while ensuring tests properly simulate realistic DOM event scenarios with complete data. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Simplify JacksonCodec and JsonCodec by using Jackson for all type
deserialization instead of custom primitive type handling. This provides
consistent behavior and better error messages but removes lenient type
conversions (e.g., boolean to integer).