Repository navigation
Conversation
LabDennis
force-pushed
the
fix/linear-datetime-detection
branch
from
October 14, 2026 17:33
df99a17 to
fa198e1
Compare
LabDennis
force-pushed
the
fix/linear-datetime-detection
branch
from
October 16, 2026 07:42
fa198e1 to
f91ed73
Compare
Author
|
Rebased onto current main (f1894c6) as f91ed73; retained the new upstream file-format documentation while keeping the bounded date-time detection fix. Parser and CSV regression tests, WASM, formatting, assets and layers pass. Scoped Clippy still reports two lints in unchanged upstream files ( |
jesusthehelper-oss
added a commit
to jesusthehelper-oss/gridcraft
that referenced
this pull request
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Long ordinary text containing many spaces made date-time detection retry both parsers at every space. CSV imports and cell entry could therefore spend quadratic time deciding that a field was just text.
Closes #1004.
Only the final two token boundaries can begin a supported time (one token, optionally followed by AM/PM). The parser now checks those candidates, preserves the existing ASCII-space delimiter rule, limits date/time component collection to the supported arity, and borrows the lowercased time body instead of copying it again. Unrecognised input retains its original text.
Validation on Windows / Rust 1.95, based on upstream
84acf62:xtask cistops at the unchangedcollapsible_matchfinding incrates/xlsx/src/xls/mod.rs:273. Separate parity and keytip checks also report stale generated files, neither changed by this PR. No full-green workspace CI claim.Bounded microbenchmark, five parses of a synthetic space-rich text field, same machine/profile:
This measures input parsing only, not whole-application or complete CSV-import performance. Reproduce with
cargo test -p gridcraft-core space_rich_input_timing -- --ignored --nocapture; ordinary tests have no timing thresholds.Upstream main, issue status and open PRs were rechecked before publication. Related #1132 changes day-first date recognition, #1114 passes workbook date systems to formula arguments, and #1168 adds a conversion preference; this PR keeps the existing grammar and conversion policy.
The branch is now based on upstream
d9d09f0baa91. History: 1 → 1 commits. The rewritten file tree was checked against the previous PR plus current upstream, preserving prior integration resolutions.Scoped Windows regression checks: 18 passed, 1 ignored, zero failures. Formatting, locked Cargo metadata, asset and layer checks passed. This is scoped validation, not a new full-workspace or cross-platform CI claim.