dheeraj12347 commented on PR #3251:
URL: https://github.com/apache/fory/pull/3251#issuecomment-3858454504

   @chaokunyang 
   I have been working on resolving several CI failures in my PR for 
cross-language serialization tests. I faced three main categories of issues 
that required project-wide coordination:"
   ​1. The Environment Issue (Line Endings & Casing)
   ​The Problem: Developing on Windows created a conflict with the Ubuntu 
(Linux) CI. Windows uses CRLF line endings, while the project requires LF. 
Additionally, Linux is case-sensitive, so my imports (e.g., TypeInfo vs 
typeInfo) were causing the build to crash on the server even though it passed 
locally.
   ​The Fix: I standardized all imports to match the filename typeInfo.ts and 
used Prettier to force LF endings across the javascript package.
   ​2. The Global Project Style Check (Hawkeye)
   ​The Problem: The hawkeye license scanner failed the build because several 
files were missing the Apache License header. This included not just my new 
files, but also existing files in the python/ and dart/ directories that were 
caught in the scan.
   ​The Fix: I located the specific Python (.pxd) and Dart files in the 
mono-repo and manually added the required Apache License headers using the 
correct comment syntax for each language.
   ​3. The Runtime Serialization Logic
   ​The Problem: Broad unit test failures were occurring because the 
TypeResolver was too strict—it was throwing a 'Failed to detect type' error for 
plain objects instead of falling back to the any serializer. Additionally, a 
bug in fory.ts was forcing refTracking to false when it should have defaulted 
to null (auto), breaking reference handling.
   ​The Fix: * Updated typeResolver.ts to recognize standard JS objects (Date, 
Map, Set) and implemented an anySerializer fallback.
   ​Modified fory.ts to ensure refTracking defaults correctly and added a 
short-circuit for null data to prevent the writer from crashing.
   ​🏁 Current Status
   ​"I have consolidated all these fixes into a single clean commit via git 
commit --amend. This ensures the project history remains clean and all CI 
checks (Style, Lint, and Unit Tests) can pass simultaneously."


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to