Roo-Code/packages
Steven T. Cramer 1b9d9e65d9 refactor: Replace manual XML parsing with SAX parser in DirectiveStreamingParser
- Replace character-by-character XML parsing with robust SAX parser library
- Add sax and @types/sax dependencies for reliable XML parsing
- Implement event-driven parsing with onopentag, onclosetag, ontext handlers
- Add XML wrapping to handle multiple root elements in streaming scenarios
- Create hasIncompleteXml() method for proper partial XML detection
- Maintain backward compatibility with existing partial detection logic
- Add comprehensive test suite with 6 new test cases
- Preserve fallback to manual parsing when SAX parser fails
- Improve error handling and maintain all existing functionality

Benefits:
- More robust XML parsing with better edge case handling
- Improved performance with event-driven parsing
- Cleaner, more maintainable code
- Standards-compliant XML parsing
- Full backward compatibility
2025-06-15 08:33:21 +07:00
..
build Convert jest tests to vitest and disable default watch mode for vitest (#4568) 2025-06-11 14:48:01 -07:00
cloud Convert jest tests to vitest and disable default watch mode for vitest (#4568) 2025-06-11 14:48:01 -07:00
config-eslint Upgrade to ESLint 9 + share eslint config across workspaces (#3815) 2025-05-21 21:30:21 -07:00
config-typescript Roo Code Cloud (#4069) 2025-05-28 20:43:30 -07:00
evals Change exposed port to random generated one vs default 3000 to avoid conflict with numerous other things that just use the default. 2025-06-13 22:25:29 +07:00
ipc Move to Postgres for evals on roocode.com (#4520) 2025-06-11 14:17:53 -07:00
telemetry Revert "Always focus the panel when clicked to ensure menu buttons are visible" (#4592) 2025-06-12 12:51:34 -04:00
types refactor: Replace manual XML parsing with SAX parser in DirectiveStreamingParser 2025-06-15 08:33:21 +07:00