[codex] Clean up repo for S+ baseline#230
Conversation
Code Review: [codex] Clean up repo for S+ baselineOverviewThis PR does four things: upgrades CI to JDK 25, radically simplifies Strengths
Issues and Suggestions1. Potential pattern-match bug in streaming batch unsupported ops
_: BatchParser.BatchOp.Freeze | BatchParser.BatchOp.Unfreeze |
_: BatchParser.BatchOp.CopyRange =>
The test suite covers 2.
|
Code Review: PR #230 — Clean up repo for S+ baselineOverviewThis PR does four things: upgrades CI to JDK 25, simplifies Strengths
The old 165-line two-phase implementation was silently dropping merges, comments, tables, freeze panes, and row/column properties. Replacing it with: val saxConfig = config.copy(backend = com.tjclp.xl.ooxml.XmlBackend.SaxStax)
writeWith(wb, path, saxConfig)is the right call. Correctness over a complex bespoke path. Security fix in XlsxWriter.scala This is a real bug fix. Previously, Test enablements Enabling four previously-ignored OOXML edge tests with accurate updated assertions (self-closing row regex, SST-referenced assertions for Issues1. Pattern match inconsistency in streaming batch rejection (StreamingWriteCommands.scala:707–989) case _: BatchParser.BatchOp.Freeze | BatchParser.BatchOp.Unfreeze |
_: BatchParser.BatchOp.CopyRange =>
2. Performance claim drift The old 3. StylePerformanceSpec un-ignored (xl-ooxml/test/...StylePerformanceSpec.scala:1462) test("performance comparison: 100 vs 1000 styles scales sub-quadratically") {Performance tests in CI are inherently environment-sensitive. The previous Minor
SummaryThe security fix and |
Code Review — PR #230: Clean up repo for S+ baselineOverviewThis PR delivers four distinct improvements:
Overall the PR is well-structured and addresses real correctness gaps. A few things worth discussing below. Security Fix (
|
Summary
--streamworkbook writes through the SAX/StAX OOXML backend so metadata such as merges, comments, tables, row/column properties, and freeze panes is preserved.Validation
./mill --no-server __.checkFormat./mill --no-server __.compile./mill --no-server __.test(901/901success)Notes
gh auth statusreports an invalid local token, so this PR was opened through the GitHub connector after pushing the branch with git.